2.7 KiB
open-standards — Rules for Claude
This is the Transaction-Science open-standards monorepo (Apache-2.0 code + CC-BY spec text). The standards live here as subdirectories, not separate repos — including wai, jouleclaw, jcp, mesh, sandbox, map, aac (access), sense, openpay, smart-byte, eoc, arl, joulecontract, joule-code, joule-ui, joule-os, joulehook, jouledesk, jouletable, and proof. A change to any one standard is a commit in this one repo.
Sovereign git & CI (canonical — READ FIRST)
Canonical git home is the sovereign Forgejo forge at https://git.transaction.science/Transaction-Science/open-standards. GitHub and Codeberg are downstream mirrors that update automatically on every commit — push only to the forge (origin on dev already points there; GitHub is preserved as the github-backup remote). Never treat GitHub as the source of truth: no "View on GitHub" as canonical, and no github.com in any standard's README, install snippet, or public site copy — name git.transaction.science.
- This is a fast-moving, multi-worktree repo;
mainmoves under you. Land work by cherry-picking onto a fresh worktree offorigin/main, build-verify, then rebase/retry the push (the forge auto-mirrors on success). - CI is Forgejo Actions (GitHub-Actions-compatible) on self-hosted runners: use
runs-on: macos/linux— neverubuntu-22.04,windows-2022,namespace-*, or bareself-hosted. Publish releases via the Forgejo release API, notgh release. A repo needs its Actions unit enabled before workflows run. - Buildable targets (all on live self-hosted runners): macOS aarch64 + x86_64 (
runs-on: macos), Linux x86_64 (runs-on: linux) and arm64 (runs-on: linux-arm64— a native arm64 Linux VM on the Apple Silicon dev Mac; arm64 guest on an arm64 host is virtualization, not emulation), Windows x86_64 (runs-on: windows). Windows-arm64 is the only gap — the same VM trick would close it (needs a licence/ISO). Linux-arm64 builds withCC=gcc-14+REMOTE_SERVER_TARGET=aarch64-unknown-linux-gnu; the x86_64 leg uses clang.
Dev-machine push/upload specifics (LAN push-routing, credential, release-asset upload) are in the global operator notes (~/.claude/CLAUDE.md).
Framing rules (public surfaces)
- Describe every standard on its own terms — ingest open/private efforts into permissive-licensed Rust; no competitive / SWOT framing, no comparisons, no us-vs-them. Copy is self-referential only.
- Don't manufacture cross-project dependencies; shared neutral primitives ≠ "X is built on Y." Verify before asserting a link.
- No vanity metrics (crate/test counts, LOC, "N+ adapters") — describe the shape, not the size.