open-standards/CLAUDE.md

19 lines
2.3 KiB
Markdown

# 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; `main` moves under you. Land work by cherry-picking onto a fresh worktree off `origin/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` — never `ubuntu-22.04`, `windows-2022`, `namespace-*`, or bare `self-hosted`. Publish releases via the Forgejo release API, not `gh release`. A repo needs its Actions unit enabled before workflows run.
- **Build fleet is Apple Silicon:** macOS (aarch64 + x86_64) and Linux-arm64 build natively; Linux-x86_64 and Windows need a small per-release cloud runner, not fleet hardware.
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.