docs(ledger): C29 self-description contract -- INDEX entry + domain invariant 13

The cycle's design principle enters the ledger: every closed-vocabulary
entry the binary exposes carries a one-line meaning behind one shared
deterministic shape gate (doc_gate) at three seams -- compile/unit for
engine-shipped entries, load for native node crates, register for the
content-addressed store (documents: an additive-optional gated
description). Forbids the engine evaluating description text (C17 /
invariant 10), any influence on execution/identity/determinism (C1),
retroactive invalidation of registered artifacts, and machine-invented
meaning lines. Why: the audience is headless LLM agents (#319); field
evidence #314 showed schema knowledge being recovered by CAS forensics
from the release binary -- the removed failure class.

All spec acceptance criteria are now met across the four iterations of
this cycle (core carrier + std texts; domain threading; load seam;
register seam + op-script doc slot + document description).

closes #316
This commit is contained in:
2026-07-23 20:34:33 +02:00
parent 7126886b81
commit 9c7f60b269
3 changed files with 78 additions and 0 deletions
+7
View File
@@ -194,6 +194,13 @@ the repo, not session memory, is the source of truth.
measurement/strategy → backtest → execution) beside a process column, an
assembly position, and an import-only shell — the import direction enforced
structurally by the full-workspace `c28_layering` guard.
- **[C29 — Self-description: every surface explains itself](contracts/c29-self-description.md)** —
Every closed-vocabulary entry carries a one-line meaning behind one shared
shape gate (`doc_gate`) at three seams — compile/unit (engine-shipped),
load (native node crates), register (the content-addressed store, incl. an
optional gated document `description`); descriptions never influence
execution or identity ids, and registered artifacts are never
retroactively invalidated.
---