diff --git a/CLAUDE.md b/CLAUDE.md index 24769d3..1338e05 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,37 +1,6 @@ # CLAUDE.md -Keep this file under **200 lines**. For team setup and a newcomer walkthrough, see [`ONBOARDING.md`](ONBOARDING.md); for how the docs fit together and which to read when, see [`AGENTS.md`](AGENTS.md).[;human note: fix the hyperlinks|to:claude] +Working agreements, build/run, and the invariants (S1/S2/S3) for sica-fondt now +live in [`core/CLAUDE.md`](core/CLAUDE.md). This root file is only a pin. -## What this is - -sica-fondt is a **design-first, polyglot organism**: a Pony perfusion bus (Ichor) feeds an Ada/SPARK border (D1). The design docs are the source; the code follows them usually. - -## Working agreements - -- **You're the dev.** When details are missing or a decision is open, make a reasonable reasonable call and fill in concrete details — aim to leave no placeholders, and only delay ifnsomething is genuinely ambiguous. -- **Verify, then commit.** After generating or editing, confirm it works (build / run / `run-sica-fondt` smoke), then commit with a descriptive message. Commit and push before ending a session — the container is ephemeral. -- **Design before code.** If something feels ambiguous, the answer is usually already written in `docs/`. Sync the design first. Saves us all some time. - -## Build & run - -Use the `run-sica-fondt` skill (`.claude/skills/run-sica-fondt/`) — its `smoke.sh` builds and runs every executable unit and asserts output: - -```bash -.claude/skills/run-sica-fondt/smoke.sh -``` - -Per-unit commands and gotchas live in that unit's `AGENTS.md`. Toolchains (ponyc/Alire/GnuCOBOL) are reinstalled each session by the SessionStart hook `.claude/hooks/install-toolchains.sh`; if `ponyc` isn't found,`export PATH=/root/.local/share/ponyup/bin:$PATH`. If a bew toolchain is needed, first add it to sessionStart hook. - -## Invariants — do not violate - -- **S1:** all external traffic crosses the Ada border (D1) first; never route around it. -- **S2:** never reclassify a message's provenance. -- **S3 / vault:** the COBOL invariant-law vault (Invariant 0, the culpability anchor; 01, "harm" "less";) is immutable at runtime — don't edit it unless explicitly directed and only as such. - -## Docs map - -- `README.md` — the project and its intent. -- `docs/` — architecture (`bus-topology.md`, `gen03_state_of_architecture.md`, …). -- `ONBOARDING.md` — new-teammate setup and walkthrough. -- `AGENTS.md` — directions for how to proceed. -- `docmap.yaml` — machine-readable index: doc routing, organ list. +@core/CLAUDE.md diff --git a/ONBOARDING.md b/ONBOARDING.md index ae0e701..28b14a7 100644 --- a/ONBOARDING.md +++ b/ONBOARDING.md @@ -43,7 +43,7 @@ Your first task: get the project running end-to-end and read the map. Not sure w 1. Open the repo and let the SessionStart hook finish installing toolchains. 2. Run the smoke driver to confirm everything builds and runs: `.claude/skills/run-sica-fondt/smoke.sh` — you want `smoke: ALL GREEN`. -3. Read `README.md`, and `docs/` (start with `docs/bus-topology.md` and `docs/gen03_state_of_architecture.md`) to understand the organ/border model (Ichor bus → Ada D1 border → inner brain; the COBOL invariant vault). +3. Read `README.md`, and `core/docs/` (start with `core/docs/bus-topology.md` and `core/docs/gen03_state_of_architecture.md`) to understand the organ/border model (Ichor bus → Ada D1 border → inner brain; the COBOL invariant vault). 4. Pick up a small design-sync or build task from there. Ask Claude to walk you through any unit — it has the `run-sica-fondt` skill loaded. diff --git a/core/CLAUDE.md b/core/CLAUDE.md new file mode 100644 index 0000000..24769d3 --- /dev/null +++ b/core/CLAUDE.md @@ -0,0 +1,37 @@ +# CLAUDE.md + +Keep this file under **200 lines**. For team setup and a newcomer walkthrough, see [`ONBOARDING.md`](ONBOARDING.md); for how the docs fit together and which to read when, see [`AGENTS.md`](AGENTS.md).[;human note: fix the hyperlinks|to:claude] + +## What this is + +sica-fondt is a **design-first, polyglot organism**: a Pony perfusion bus (Ichor) feeds an Ada/SPARK border (D1). The design docs are the source; the code follows them usually. + +## Working agreements + +- **You're the dev.** When details are missing or a decision is open, make a reasonable reasonable call and fill in concrete details — aim to leave no placeholders, and only delay ifnsomething is genuinely ambiguous. +- **Verify, then commit.** After generating or editing, confirm it works (build / run / `run-sica-fondt` smoke), then commit with a descriptive message. Commit and push before ending a session — the container is ephemeral. +- **Design before code.** If something feels ambiguous, the answer is usually already written in `docs/`. Sync the design first. Saves us all some time. + +## Build & run + +Use the `run-sica-fondt` skill (`.claude/skills/run-sica-fondt/`) — its `smoke.sh` builds and runs every executable unit and asserts output: + +```bash +.claude/skills/run-sica-fondt/smoke.sh +``` + +Per-unit commands and gotchas live in that unit's `AGENTS.md`. Toolchains (ponyc/Alire/GnuCOBOL) are reinstalled each session by the SessionStart hook `.claude/hooks/install-toolchains.sh`; if `ponyc` isn't found,`export PATH=/root/.local/share/ponyup/bin:$PATH`. If a bew toolchain is needed, first add it to sessionStart hook. + +## Invariants — do not violate + +- **S1:** all external traffic crosses the Ada border (D1) first; never route around it. +- **S2:** never reclassify a message's provenance. +- **S3 / vault:** the COBOL invariant-law vault (Invariant 0, the culpability anchor; 01, "harm" "less";) is immutable at runtime — don't edit it unless explicitly directed and only as such. + +## Docs map + +- `README.md` — the project and its intent. +- `docs/` — architecture (`bus-topology.md`, `gen03_state_of_architecture.md`, …). +- `ONBOARDING.md` — new-teammate setup and walkthrough. +- `AGENTS.md` — directions for how to proceed. +- `docmap.yaml` — machine-readable index: doc routing, organ list.