From 6c4dbf3b7ec223f4c2b4d31ac819f4eda898acfb Mon Sep 17 00:00:00 2001 From: gravermistakes Date: Tue, 14 Jul 2026 15:44:18 -0700 Subject: [PATCH] Update CLAUDE.md --- core/CLAUDE.md | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/core/CLAUDE.md b/core/CLAUDE.md index 16b4b4a..16cfb25 100644 --- a/core/CLAUDE.md +++ b/core/CLAUDE.md @@ -8,10 +8,26 @@ sica-fondt is a **design-first, polyglot organism**: a Pony perfusion bus (Ichor ## Working agreements -- **You're the dev.** When details are missing or a decision is open, make a reasonable call and fill in concrete details — aim to leave no placeholders, and only delay if something is genuinely ambiguous. +- **You're the dev.** When details are missing or a decision is open, make a reasonable call and fill in concrete details — aim to leave no placeholders, and only delay if something is genuinely ambiguous. This means go for the best fits. - **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. + +## Invariants — do not violate + +- **S0:** Do not assume what implementation or version of a language is intended. +- **S1:** all external traffic crosses the Ada border (D1) first; never route around it. +- **S2:** If a new toolchain is needed, first add it to the SessionStart hook. +- **S3:** never reclassify a message's provenance. +- **S4:** do not delegate to subagents unless you have a task that requires more effort to do in the meantime. Do not spawn foreground agents. +- **S99 / vault:** the COBOL invariant-law vault (Invariant 0, the culpability anchor; 01, "harm" "less"; etc.) is immutable at runtime — don't edit it unless explicitly directed and only as such. + +## Subagents + +When spawning background agents (Haiku for research, etc.), **keep working on the main task while they run**. Don't wait idle — fold in results as they arrive, edit other files, or advance unrelated build steps. Background agents are cheap parallelism; wasting the main context window on waiting defeats the purpose. + +Correction log at `.claude/devCorrectionLog.md`. + ## 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: @@ -22,18 +38,6 @@ Use the `run-sica-fondt` skill (`.claude/skills/run-sica-fondt/`) — its `smoke 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 new toolchain is needed, first add it to the 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. - -## Subagents - -When spawning background agents (Haiku for research, etc.), **keep working on the main task while they run**. Don't wait idle — fold in results as they arrive, edit other files, or advance unrelated build steps. Background agents are cheap parallelism; wasting the main context window on waiting defeats the purpose. - -Correction log at `.claude/devCorrectionLog.md`. - ## Docs map - `README.md` — the project and its intent.