test(loadbearing): the spec moved to O2 and the emitter did not — ratchet the gap
commons executed V1 (54e0ec7): §7's `generated` row is now the O2 inline mapping
`{ by: process:okf-ingest, at: <ingested_at> }`, and `generated: true` is gone from
the spec. The subtree pull brought that text in — and all 711 tests stayed green
while the shipped spec and the shipped emission disagreed. Green-but-dead, the
exact failure mode §11 exists for.
The byte form is not ours to edit: the golden bundles are compared byte-for-byte
against `materialize()` output, which delegates to llm-ingestion-okf pinned at
v0.3.2 — measured emitting `"generated": "true"` (materialize.py:103), with an
ownership predicate on the literal (`:89`) that the new §3 forbids. Editing the
golden to O2 would turn the suite RED against the pin, not conformant. Adoption is
gated on an okf release that emits O2, and the pin move is operator-owned.
So the divergence is RECORDED instead of hidden, and ratcheted in both directions:
RED if commons reverts §7, RED the moment a materialize() run reaches O2 — which is
when the four golden blobs and the two verbatim asserts must be adopted in the same
commit and this file deleted.
Value-proven with the mutation harness, all four green-before/red-after, restores
sha256-verified: spec row removed · actor renamed · pre-V1 literal returned · and
the one that matters, the installed emitter mutated to O2 (M4 fails on MY assert at
:115, after the population control passed — not on a NameError, not on the control).
The two existing `== "true"` asserts no longer read as conformance claims, and the
§12 anchor's justification is re-measured (`generated` appears 22 times outside §12,
once inside) since the old one cited a literal the spec no longer carries.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JYWMfPKmJtv7JvYnpomkdV
This commit is contained in:
parent
c4cf448e95
commit
5c25ae4889
4 changed files with 171 additions and 3 deletions
|
|
@ -43,9 +43,9 @@ _FORBIDDEN_TOOLKITS = (
|
|||
# The §12 cross-check table is the ANCHOR, and the spec appoints it itself: "Every field
|
||||
# of the machine-readable contracts, mapped to its normative section (completeness is
|
||||
# enforced by the spec-integrity test)" — this test is that enforcer. Asserting over the
|
||||
# whole spec text instead would be green-but-dead: prose saturates the field names (§1's
|
||||
# honesty rule alone carries `generated: true` twice), so no amendment dropping a row
|
||||
# could ever turn it red.
|
||||
# whole spec text instead would be green-but-dead: prose saturates the field names —
|
||||
# `generated` alone appears 22 times OUTSIDE §12 and exactly once inside it (measured
|
||||
# after the V1 pull) — so no amendment dropping a row could ever turn it red.
|
||||
_CROSS_CHECK_HEADING = "## 12. Cross-check table"
|
||||
|
||||
# Every field of the machine-readable contracts the D7 implementation depends on — the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue