Problem — D6's own invariant: 'a direction surface no live session can read is not the direction surface.' The PI-owned INTENT lives in the ops checkout, healthy and receipt-stamped — and invisible to every session: no splice reads it. The plan's step 7 (gate direction_splice_live == 1) closes this.
Approach — A new live section in the context plugin's stack-state builder, the same constitution as every splice (pure builder, fresh reads, tolerant fallbacks, byte-pinned tests): ## Research direction (live) renders the mission line, the direction bets with their tiers, and the direction-sync stamp — the merge receipt's intent SHA + merged date, with named unknowns when the receipt is absent. Per-prompt honesty: the stamp proves which INTENT version rendered; clone≈canonical is the ops standing check's job (amicissimo #467/#468), not a per-prompt git parse. The recovery pointer grows the fallback reads. Absent checkout or INTENT → silence (the pointer covers it). No D-bets → not the direction surface → silence.
Source — spec spec-20260920-171500 D6 + serving decision; plan step 7; composes with the strategy-brief renderer PR (#1317 — the splice is the frame, the renderer is the drill-down).
Acceptance — direction_splice_live == 1: on the serving host, a fresh session renders the direction block; the stamp equals the receipt's SHA/date; the measurement is the session's own prompt (clone-sync held by the standing check).
Problem — D6's own invariant: 'a direction surface no live session can read is not the direction surface.' The PI-owned INTENT lives in the ops checkout, healthy and receipt-stamped — and invisible to every session: no splice reads it. The plan's step 7 (gate
direction_splice_live == 1) closes this.Approach — A new live section in the context plugin's stack-state builder, the same constitution as every splice (pure builder, fresh reads, tolerant fallbacks, byte-pinned tests):
## Research direction (live)renders the mission line, the direction bets with their tiers, and the direction-sync stamp — the merge receipt's intent SHA + merged date, with named unknowns when the receipt is absent. Per-prompt honesty: the stamp proves which INTENT version rendered; clone≈canonical is the ops standing check's job (amicissimo #467/#468), not a per-prompt git parse. The recovery pointer grows the fallback reads. Absent checkout or INTENT → silence (the pointer covers it). No D-bets → not the direction surface → silence.Source — spec
spec-20260920-171500D6 + serving decision; plan step 7; composes with the strategy-brief renderer PR (#1317 — the splice is the frame, the renderer is the drill-down).Acceptance —
direction_splice_live == 1: on the serving host, a fresh session renders the direction block; the stamp equals the receipt's SHA/date; the measurement is the session's own prompt (clone-sync held by the standing check).