core/docs/specs
Claude 199dc72d90
docs(specs): the four posture statements — and R-11's measurement dissolves its own question
The last docket item. Three decisions that cost nothing to make and something
real to leave silent, plus one proposal withdrawn because instrumentation showed
it could not be built as specified.

docs/specs/postures.md. Each posture names the CRITERION that would change it,
because an unstated boundary reads as an unexamined one and a future reader
cannot tell a deliberate limit from an accident.

P-1 (R-1 A, G-12) — efferent action deferred, in scope eventually. No efferent
surface beyond typed trace-folded tool operators until (i) the chooser exists
and is governed AND (ii) an efferent falsification bench exists. Both halves are
load-bearing: without (i) CORE acts with no account of what it should do next;
without (ii) it acts with no way to be shown wrong. ADR-0211's bench-level
prohibition is narrower than this and remains in force.

P-2 (R-5 A, G-11) — identity enforcement stays scoring-only until a named
held-out benign/adversarial corpus shows separation on the certified metric at a
floor named BEFORE the run. Same pre-registration discipline that made the §5
NO-GO full credit, for the same reason: a refusal gate authorized on a floor
chosen after seeing the numbers is not evidence, and identity refusal is
expensive to get wrong in both directions.

P-3 (R-6 A, G-17) — non-text ingest deferred, with the falsification bench as
the standard. A modality enters serving on the SAME terms text did: named
held-out corpus, holds/bites predicates, wrong=0-or-refuse. No modality is
admitted because the substrate can represent it. That makes the 59 sensorium
modules a capability awaiting evidence rather than an unexplained absence.

P-4 (R-11 B -> second ruling) — THE INTERIM FABRICATION GATE IS WITHDRAWN.

R-11 ruled "measure first, then re-ask". The measurement ran over 11,199
distinct serving-path inputs and 23,562 clauses and returned ZERO outside the
verified inventory — which is not a clean bill of health. It has a cause:

  atom_fact's template is "{p}" — one slot, no literal anchor. It matches ANY
  string, and it is one of the 19 verified constructions.

So "outside the verified inventory" is NOT A WELL-DEFINED PROPERTY. Nothing is
outside it. The proposed gate would have refused nothing while presenting as a
safety mechanism — a mechanism whose failure state is indistinguishable from its
success state, which is this repository's dominant defect class.

This reframes G-2, and the reframing is the finding. "every dog is a mammal" ->
member(every_dog, mammal) is not the reader ADMITTING an out-of-inventory
construction. The surface is admissible; the reader assigns it the WRONG
RELATION. The defect is in the mapping, not the admissibility set, and no gate
over the admissibility set can catch it.

Second ruling, delegated: option A is WITHDRAWN as unimplementable as specified,
NOT deferred — a deferred option is one that could be built later, and this one
cannot be built at all against the inventory as it stands. Option C is
operative. The fabrication ADR inherits the boundary question: either atom_fact
is narrowed so admissibility is decidable, or the guarantee moves from
admissibility to MAPPING CORRECTNESS. The evidence points at the second.

METHOD NOTE, recorded because the number nearly shipped wrong. Two earlier
passes were both invalid and both looked fine. The first matched templates
against whole multi-sentence inputs and reported 100% out-of-inventory when
every clause was in-inventory. The second misread the sentence-splitter's tuple
and measured "." 23,562 times. The catch-all was found only by a NON-VACUITY
CHECK — asserting the matcher could still say no to "most birds can fly" — and
it could not. A measurement that cannot fail is not a measurement, and that is
the same standard this arc applied to every pin it shipped.

Closes G-11, G-12, G-17. The entire adopted docket is now executed:
R-7 -> R-12 -> R-3+R-4 -> R-9+R-2 -> R-13 -> R-8 -> R-1/R-5/R-6/R-11.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wcw2pnMBwyvmNyQg4uPEt4
2026-07-28 08:26:48 +00:00
..
foundational-families docs(kernel): authorize unary state-change delta slice (#854) 2026-06-20 22:19:35 -07:00
flag_register.md feat(config,specs,tests): PR-5 — the flag register, profiles as units, and the daemon's missing fourth flag (R-3 + R-4) 2026-07-28 06:47:21 +00:00
postures.md docs(specs): the four posture statements — and R-11's measurement dissolves its own question 2026-07-28 08:26:48 +00:00
runtime_contracts.md docs(specs): the M2 trust-boundary table — measured, and three boundaries CLOSED (PR-7, H-7) 2026-07-28 04:30:00 +00:00