§9.8 of the plan — "every card carries a verified_at no older than the last arc
that touched its layer" — is a maintenance contract this directory holds itself
to, and today's arc moved MV, M3, M4, M2, M6 and three component cards. A card
whose stamp falls behind a load-bearing arc is testimony, not evidence, which is
the failure mode the directory exists to replace.
Each card gains a Re-verified stamp at 39331dbc plus an arc note saying what
actually changed under it, not merely that something did:
MV PR-4 + PR-6 landed; G-7/G-9 closed. The layer's finding is sharper than
the card stated: the recurring defect is not ABSENT pins but PINS THAT
EXIST AND DO NOT RUN — four found this arc, each indistinguishable from
coverage in any document.
M3 §5 run to NO-GO, settling the successor-path question. New measurement
G-21: the reader decides 5 of 500 holdout_dev/v1 cases. H-8e corrected.
M4 H-13 fixed — the served-marker honesty contract held where it leaked.
M2 PR-7's table: two boundaries already met, THREE CLOSED as category
differences, one real delta (no audit record per rejection).
M6 PR-9 — the accrual backstop counts and names what it absorbs.
realize-phase / always-on-process / surface-selection — the component-level
versions of the same three.
Plan §Status replaced with the actual board: what landed, what each remaining
item is blocked on, and the six findings this arc added that the assessment did
not have (N-8, N-9, G-21, H-13, H-14, H-8e). README carries the same summary at
the directory's entry point.
The status block says plainly what has NOT moved: comprehension breadth and
proof-of-life. The reader is still 19 constructions wide and decides 1.0% of the
held-out corpus; the 5000-beat soak is still prose with no pinned digest.
Everything landed this arc is enforcement and evidence machinery. Capability
moves in PR-11/PR-12/PR-14/Track B, all four ruling-gated.
Docs only.
Co-Authored-By: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wcw2pnMBwyvmNyQg4uPEt4
5 KiB
realize-phase — generate/realize/ (and the reader that feeds it)
Kind: zone→component descent · Parent: M3 · Assessor: Fable 5 (Phase 3)
Re-verified: 39331dbc (2026-07-28) — see the arc note below.
Verified at: 8927c563 (2026-07-27)
Liveness: live-internal, flag-gated (demoted from the map's live-serving) · Fitness: fit (the phase) — with its feeder under held fabrication findings · Topology role: runtime boundary
Arc note — 2026-07-28 (39331dbc). PR-6 pinned the exact-recall prohibition over this component's own path. Before it, generate/realize/recall.py asserted "an exact, deterministic equality scan (no cosine / HNSW / ANN)" in its module docstring with nothing enforcing it; the only import ban in the repository covered one unrelated physics module. The law is now scanned across generate/realize/ and four sibling roots, for banned ANN libraries and hand-rolled cosine* definitions alike.
REALIZE — "integrate comprehended structure into the held self" (roadmap Step 3). If M1 is knowledge at rest and DETERMINE is answering from it, REALIZE is the moment comprehension becomes held: a reading of the user's words is written into session memory as a typed, SPECULATIVE, as-told record. It is the exact point where a misreading becomes a belief — which is why the fabrication findings matter most here.
Disambiguation (a naming trap, recorded permanently)
generate/realize/ (knowledge realization — this card) and generate/realizer.py (surface realization — the articulation renderer, M4) are unrelated mechanisms with confusable names. The map's realize-phase zone is the former. Any future search for "realizer" work must state which one it means.
What it is / What it does
Four modules, 645 lines: realize.py (425 — realize_comprehension, realize_derived, Realized/NotRealized/RealizedRecord, Derivation), quantitative.py (135 — realize_quantitative), recall.py (62 — recall_realized, DETERMINE's read path), __init__.py. Writes go through the INV-21-allowlisted vault writer; records carry epistemic_status="speculative" and derived records carry full Derivation provenance so replay re-derives and re-verifies.
Call graph (verified): chat/runtime.py:1367 _accrue_in_turn → realize_comprehension (gate: accrue_realized_knowledge=False default, not daemon-forced); generate/determine/consolidate.py:44 → realize_derived (gate: consolidate_determinations, daemon-forced); derived_close_proposals.py:25 → recall_realized. Same demotion as determine-phase: no default serving turn reaches this package.
The feeder — where the fabrication findings live
_accrue_in_turn comprehends via generate/meaning_graph/reader.py::comprehend and generate/meaning_graph/relational.py::comprehend_relational — this is the two-grammars reader: 19 constructions against the writer's 1739, overlap 6, and fabricates on 22 more (every dog is a mammal → member(every_dog, mammal); Given: furthermore; p implies q; p. → asserted(furthermore) recited back as a served premise). Those findings are measured and pinned in PR #138, held for ADR + ratification — recorded here because REALIZE is where a fabricated reading would become a held belief, not re-discovered, not fixed.
The architecture note that follows from this placement: REALIZE itself is sound — it faithfully holds whatever the reader hands it, at honest SPECULATIVE standing. The truth defect class is entirely upstream (the reading), which is consistent with the project's fix-upstream doctrine and with holding the fixes for a serving-truth ADR.
Contract & evidence
- INV-21 (allowlisted writer), INV-22/23 (SPECULATIVE default), INV-29 (only
vault/store.pytransitions status) — pins:tests/test_architectural_invariants.py. - Inline realization behavior —
tests/test_inline_realization.py("comprehensible declarative accrues; question determines; off-by-default leaves the turn untouched"). - Predicate-generality —
relational.py:8: the spine consumes relational comprehension unchanged;realize_comprehensionis predicate-general (no per-predicate special case in the writer).
Judgment
Fitness: fit. Small, typed, provenance-complete, honestly gated. The one structural risk is inherited, not local: the phase will hold whatever it is fed, so its integrity ceiling is the reader's fidelity — 19-wide today, fabricating on 22.
Honest wrinkles: as with determine-phase, the most life-like capability in the system defaults dark. realize_quantitative was not traced to a live caller in this pass (likely lane-side); unverified — Phase 4 should not count it live without a pointer.
Open questions: when the #138 fabrication ADR lands, should REALIZE gain a defensive assertion (refuse to hold a reading whose construction is outside the reader's verified inventory)? That would convert reader-inventory truth into a mechanical gate at the holding boundary. (→ Phase 4 / the fabrication ADR)