core/docs/assessment/20-component-cards/realize-phase.md
Claude 3650331b5b
docs(assessment): re-stamp the eight cards this arc touched, and post the board
§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
2026-07-28 04:36:13 +00:00

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_turnrealize_comprehension (gate: accrue_realized_knowledge=False default, not daemon-forced); generate/determine/consolidate.py:44realize_derived (gate: consolidate_determinations, daemon-forced); derived_close_proposals.py:25recall_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_relationalthis is the two-grammars reader: 19 constructions against the writer's 1739, overlap 6, and fabricates on 22 more (every dog is a mammalmember(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.py transitions 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_comprehension is 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)