Defect-fix release hardening the design lane and the per-story acceptance gate, plus two capture/replay fidelity fixes. All fixes fold onto 0.3.7; no behavior is removed. Legacy sftdd names/paths still read for back-compat.
Fixed
- Persistence-invariant fitness tests now anchor to the story that REALIZES the invariant, not the first story that merely names its table. Previously the Test Strategist front-loaded every persistence invariant (including those for a not-yet-created table) onto an early display/read-only story's fitness tests; the write story that actually migrates the table could then never obtain a distinct coverage tag, and the story-scoped reflection revise could not clear it — a dead-loop to HIL. A new
invariantRealizingStoryprimitive joinsarchitecture.persistence_invariants[].tabletodb-design.schema_changes[]; the fitness-analyst prompt, the spec-gate distinct-coverage check, and the reflect remediation all key off it. - The per-story acceptance gate no longer serves an UNMIGRATED experiment branch. Honest-GREEN verify migrates only a disposable child branch (isolating a reversibility test's up/down fixtures), so the experiment branch the review app was bound to was never upgraded — the write path 500'd with
relation ... does not existeven though every test passed. The--gatedeploy now applies a forward-only, idempotent migrate to the bound branch BEFORE starting the app, and a failing migrate fails the deploy honestly (reachable:false+ escalation). - Gate-deploy reachability is now a strict non-5xx serving probe — a booted-but-erroring app no longer certifies as "reachable." Non-gate deploys and the foreign-port guard keep the lenient probe.
- Story-scoped
review-verdictresolves at the cycles story-root (route/contract seam fix). - Replay reads the intake design-brief + assets from the finalize-corpus mirror layout (nested
design/), fixing the live replay launcher.
Added
- agent-log.jsonl is mirrored into the corpus during a recording, preserving the central agent-log stream alongside correspondence for replay.
Full test suite green (3760 passed).