v3.1.8 — The Realignment
Waves 2–8 of the lifecycle realignment, built wave-by-wave behind v3.1.7's Second Key and shipped
as one release: 24 dual-key commits, every slice cross-family reviewed, every wave independently
QA-audited, one final whole-branch audit.
What changed
- The Carriers (W2). Every stage returns one canonical envelope
{facts, narration_beat}; the
kernel branches on facts alone. A deterministic existence gate means an empty report can never
seal a false done. The seven-hop carrier law is documented in one place. - Intake & Gauge (W3). Onboarding compiles a project brief — plus a deterministic brownfield
preflight and codebase map when prior code exists — and an observable 3-field posture; a pure
projector turns posture into the width / research / perceptual / recovery-cap / xhigh dials.
HIGH remains the immovable semantic floor: dials disable optional organs, never lower rigor. - The Field Desk (W4). A conductor-side research sweep investigates only what would be
expensive to reverse after the LAW locks, gated through the common review ABI with a feasibility
rubric; Da Vinci gains a bounded probe mode off the brainstorm window; the recipe shelf is
documented and existence-tested. - The Wide Table (W5). For wide-postured work: two blind plan authors, anonymized symmetric
cross-read, one adjustment pass, and a fresh adjudicator ruling only the residual divergences —
then the ordinary cross-family ratification key still turns. The LAW plan table gains optional
milestone labels. - The Backward Step (W6). One pure recovery decision at every semantic gate: pinned finding
cohorts, strict-subset progress, reversibility-keyed caps (reversible work earns two bounded
cycles; risky or irreversible work, one), honest holds on exhaustion. No FSM, no ledger. - The Milestone Eye (W7). At every milestone seam — labeled, or the implicit whole-build
final — a fresh goal-backward auditor checks integrated delivery through new trusted-CLI verbs;
a pure reconcile (blockers dominant, referential integrity) derives the outcome; blocked reopens
the owning slices through the same bounded recovery; accepted seams are published append-only. - The Screening Room (W8). Perceptual criteria are full lawful criteria — each with an owning
slice and a deterministic proxy that runs in check.sh — linked to a shipped six-dimension rubric
with anchors. A documented no-install Playwright/ffmpeg recipe defines the evidence capture:
monotonic generations, manifest-last publication, verdicts digest-bound to their evidence,
bounded image transport. One opposite-family multimodal grader rules the subjective residue,
chosen by who built the pixels; a bounded second look enriches held records and never votes.
Static without dynamic evidence can never pass; a perceptual PARTIAL can never seal completion;
a held run reports its truth honestly. The machinery is floor-tested end to end on the mocked
runtime; its first live capture-and-grade run is still ahead of it. - Two live-caught fixes. The first real fires of the new body surfaced two context-starvation
defects and both are cured: recheck packets now carry the prior findings verbatim (a reviewer
shown bare finding ids cannot verify resolution), and the repo-inspecting reviewer prompts now
authorize read-only inspection explicitly (the previous wording — inspect the repository, but
run no commands — denied a codex reviewer its only way to read a file, and shipped that way in
v3.1.7). Both surfaced as honest blocked verdicts — the reviewer declining to judge blind — and
both blocked-verdict artifacts are on file; that refusal is the designed behavior.
Under the hood
- New trusted-CLI verbs on the existing review schema (byte-identical to v3.1.7), each with
verb-level rules and unpublished-on-breach discipline:audit,audit-recheck,append-audit,
screen,screen-recheck, plus the ratify-recheck cohort contract. - New pure functions:
postureToDials(scripts/gauge-dial.mjs),recoveryDecision,
strictSubsetProgress,reconcileAudit(kernel core; drift-pinned where duplicated, with
byte-agreement tests). - The frozen surfaces held: 3-field posture, 5 dials, 12 tier roles (remit text only), the closed
status vocabulary, zero hooks, zero runtime dependencies, no new review CLI or workflow file
(every new review verb rides the existing trusted CLI), no new schema family.
Verification
- Full floor green:
tests/v331/31 + plugin suite 362/362 = 393/393; the shipped plugin floor
runs self-contained from the plugin root. - Every slice cross-family reviewed to approval (repair-to-approval, delta-scoped rechecks); every
wave passed an independent milestone QA; a final whole-branch audit over all 24 commits passed
with an independent code trace — drift-pinned copies byte-verified, the review schema
byte-identical to v3.1.7, frozen surfaces confirmed. - Every design-heavy wave was cross-family design-consulted before code; all blocking findings
resolved to approval. - Live receipts: a real resource-exhaustion hold was handled exactly as designed (state banked,
honest stop, clean relight instructions), and the first live gate runs caught the two
context-starvation defects above before release. Operator smoke tests follow on the released
build.
Waves 2–8 of the lifecycle realignment. Ships as one patch bump; the status light stays yellow.