docs: the Craft Register — the line's engineering doctrine - #12
Conversation
WHAT: docs/CRAFT.md — a companion to the Charter that captures the engineering and structural doctrine of the agent line as a citable, versioned register: 14 laws across Structure, Freeze-and-law, Craft, and Flow, each with a normative statement, rationale, and (where one exists) the Charter invariant it serves. README gains a pointer to it. WHY: the Charter holds the values/safety doctrine (the six invariants + Reach) completely, but the craft doctrine — loosely-coupled/functionally-cohesive, composition-roots-are-manifests, freeze-minimally, law-minimalism, TDD + regression, coverage/test-separation/least-code, one-issue-one-PR, hooks-mirror- pipelines — was homeless: scattered across per-repo instructions, notes, and memory. This gives it one home, owned by no product and cited by all, in the Charter's own two-register spirit. Several craft laws are the mechanical face of an invariant (a regression test is a scar; a blocking gate is a refusal; a self-describing identifier is provenance); the register submits to the same falsification discipline as VALIDATION.md. Docs-only; no crate touched. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
Review from the gnuc build-farm side, with this week's work as the evidence base. The register reads true — every law here is one the grind actually operated under, and the invariant mappings are the honest kind (saying "pure buildability" where no safety story exists is exactly right). Two folds from lived doctrine before this freezes: 1. Missing law candidate (family III): the characterization net. No refactor lands without a behavior-pinning net over the product boundaries — and every gate must be shown to fail. This is as load-bearing as TDD in practice and it's absent from the register. Evidence from this week: the newt golden masters (newt-agent#1319) pinned the ACP reply, the MCP catalog, and the help surface before the god-file decomposition began, with three disciplines that deserve normative status: a missing golden fails (never silently passes), every master double-captures per run (a nondeterministic gate cannot be baselined), and 2. Sharpening for "Name properties, pin at the edge": a requirement names the API floor it compiles against. The bridle 0.7.11 incident is the perfect rationale example: tool-shell used the brush-ocap-core 0.5.1-only interceptor API but declared Both are offered as folds, not blockers — the register's own falsification clause applies: if the characterization-net law's removal costs nothing, cut it; this week it would have cost four refactors their proof. Meanwhile I'm folding citations outward: newt's CLAUDE.md and the two law-style specs ( |
Summary
Adds
docs/CRAFT.md— the Craft Register: the engineering and structural doctrine of the line, as a companion to the Charter. The Charter says what the system must guarantee to stay non-Demiurgic (the six invariants + Reach). The Craft Register says how the code that implements those guarantees is built so it stays legible, testable, and refusable.Why
The values/safety doctrine has a canonical home here; the craft doctrine did not. Laws the whole line already works by — loosely-coupled/functionally-cohesive, the three Cs, composition-roots-are-manifests, freeze-minimally, law-minimalism, name-properties-pin-at-the-edge, TDD + the regression rule, coverage/test-separation/least-code, keep-files-small, one-issue-one-PR, zero-warnings, hooks-mirror-pipelines — were scattered across per-repo agent instructions, working notes, and memory. This gives them one citable, versioned home, owned by no product and cited by all, in the Charter's own two-register spirit.
What's in it
14 laws across four families (Structure · Freeze-and-law · Craft · Flow), each with a normative statement, a rationale, and — where one exists — the Charter invariant it serves. The mapping is the interesting part: several craft laws are the mechanical face of an invariant:
scar(metabolized failure kept as first-class state)refusalmade mechanicalprovenancewrit— least exposed surface is least authorityLaws that are pure buildability with no safety invariant behind them say so, rather than forcing a link. The register closes by submitting to the same falsification discipline as
VALIDATION.md: any craft law whose removal costs nothing should be cut.README gains a pointer to it under "How the invariants get built."
Test plan
Docs-only — no crate touched.
just check(fmt + clippy-D warnings+ test) runs green via the pre-push hook.🤖 Generated with Claude Code