DUNIN7 · LOOMWORKS · RECORD
record.dunin7.com
Status Current
Path session-handoffs/cr-2026-212-step1-halt-v0_1.md

CR-2026-212 — Step 1 HALT — candidates have no Companion context at all — v0.1

Date. 2026-08-14 · CR. change-requests/cr-2026-212-loomworks-findings-visible-and-answerable-v0_1. State. HALTED at Step 1, nothing built (both trees clean at baseline: engine f011c80, surface a1deb86). The CR's face-1 mechanism diverges from observed code; per the standing discipline (CR-210's precedent, the Operator's rule): halt and report, never adjust quietly.

What Step 1's probes established before the halt (kept — all of it informs the resumed build)

The induct flow, driven live on a disposable candidate before building against it (the arc's lesson, applied):

THE DIVERGENCE — the CR assumes a context that does not exist

The CR's §1.A: "for candidate-state engagements, load_engagement_context gains an open-findings block… formatted into the context the tier loaders assemble." Observed (converse.py:714-737): for a candidate, load_engagement_context RAISES — the Engagement memory object it resolves the seed through is written at instantiate — and converse catches (SeedNotFoundError, EngagementNotFoundError) and proceeds with engagement_context = None, by explicit design comment ("Pre-induction / candidate engagement… Treat as no-context").

So the Companion on a candidate is not merely blind to findings — it has NO engagement context at all: no seed, no title, nothing. E0128's "I don't have that context in front of me" was even truer than the inspection brief credited: the walk's conversation ran on persona + intent instruction alone. There is no assembled text to append a findings block to; face 1 as drafted has nowhere to land.

What this changes, and the scope question that is the Operator's to rule

The mechanism must become: build a candidate context path — a candidate branch (or tier) in load_engagement_context that resolves the seed via the row's candidate_seed_id (not via the Engagement object) and assembles seed block + findings block + the capability-honest posture. Which means the CR, if resumed on this mechanism, does MORE than drafted: candidates gain full seed context in conversation for the first time — a behavior change beyond findings. The alternatives are worse and are listed to be rejected knowingly: a findings-only context (the Companion sees the gate but not the seed it gates — an absurd posture), or abandoning face 1 (breaks the ruled one-honest-posture bundle).

Named consequences of the candidate-context path, for the ruling:

  1. The Companion on every candidate starts speaking WITH the seed — answers about "what is this project" change from generic to grounded. Almost certainly the desired behavior; it is nonetheless new behavior arriving as a side effect of a findings CR, so it is named, not slipped in.
  2. The cache: a candidate's context must ALSO invalidate on seed amendment (the seed moves via candidate_seed_id on the ADMIN log — same B-77 shape as findings; one marker covering both lineages is the natural build) and dies naturally at commit (instantiate bumps the working version).
  3. Wrinkle B's ruled shape (ask the seed's own log) fits this BETTER than the drafted mechanism — the freshness check covers seed + findings in one query family. The halt clause was not triggered; the precedent got stronger.
  4. Face 3 (the panel) is untouched by the divergence — its probes above all passed; it can build as drafted.

The count, honestly

This is the arc's fourth read-produced wrong mechanism (the 503, the 502, the 401-discard — and now "the candidate has a context"). This one differs from the prior three in kind: it was caught by the CR's own Step-1 verification BEFORE build, at zero cost — the discipline the first three taught, working as intended. But the CR itself was drafted on the unverified assumption, so it counts: the scoping read the context pipeline for what it carries and never asked whether it runs at all for the state in question. Probe the failure — and probe the precondition.

What awaits ruling

Resume CR-2026-212 as v0.2 with §1.A rewritten to the candidate-context path (seed + findings + posture; the widened cache marker; consequence 1 named as chosen) — or re-scope. Nothing is built; face 3's probes are banked; the v0.1 draft stands for the record.


DUNIN7 — Done In Seven LLC — Miami, Florida — CR-2026-212 Step 1 halt — v0.1 — 2026-08-14 The block had nowhere to land: the candidate never had a context at all. The blindness was total, and the fix is bigger and better than the draft knew.