formation/ declares its trust boundary explicitly (forge.py's five ordered
rules + hashing.py's content-addressing, no-floats, no-pickle, self-sealing).
ingest/gate.py — the PRODUCTION boundary, the only point where raw data enters
the versor manifold, facing untrusted user text every turn — had no comparable
table. H-7: asymmetric rigor invites the assumption that the un-tabled boundary
is the less important one, when it is the opposite.
Written per H-7's authority: documentation first, evidence decides whether code
follows. Every row measured against the code at edf6c2a4, not assumed — and the
measurement reframes the entry.
ALREADY MET (2) no floats in hashed payloads — _stable_digest hashes
salt + name, both UTF-8 strings, no float reaches a digest
no pickle — absent from all of ingest/
CATEGORY content-addressed artifacts, self-sealing, source
DIFFERENCE (3) allow-list. All three presuppose a PERSISTED ARTIFACT WITH
CITATIONS. formation validates artifacts it will store; the
gate transforms text it will not. Recording these as owed
obligations would have manufactured three hardening tasks
that cannot be done, and sent a future reader to do them.
Closing them is the load-bearing half of this table.
REAL DELTA (1) no audit record per rejection. The gate refuses with typed
exceptions (KeyError :235/:286, RuntimeError :318/:424) and
records nothing about what it refused;
vocab.record_unknown_token :331 records OOV observation,
which is not a rejection record.
On the delta, stated so it is not over-read: it is NOT a containment hole —
refusal is fail-closed and nothing unvalidated crosses into the manifold. It
costs forensics. It is the same failure class as H-11, which PR-9 closed on the
turn spine hours ago: a guard that works correctly and leaves no trace of having
worked. And it has a named downstream consumer — a widening program (G-3) must
be able to ask "what shapes is this boundary refusing, and how often", which
today it cannot.
Hardening for B6 is a separate PR per this entry's own authority, sized against
whether anything consumes gate-rejection telemetry today.
AGENTS.md §Security-and-trust-boundaries defaults also checked row by row for
completeness: four are n/a to a component that executes nothing, touches no
filesystem, and mutates nothing; the display/log default is met.
Docs only. Registers: H-7 CLOSED, PR-7 marked LANDED.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wcw2pnMBwyvmNyQg4uPEt4