PR #670 — Dry matrix in CI + real live smoke for Proven
The Broader Goal at the End of the Previous PR
Fleet operability Phase 1–2 (#661) made Supported/Proven measurable. Dogfood immediately showed nested product state.db under job worktrees reappearing (#650 fallback into worktree cwd), keeping Core 4 unsupported.
What This PR Shipped
- CI dry matrix —
synlynk selftest --matrixon Python 3.12 in test.yml (no model spend). - Prevent re-buildup — sandbox fallback path uses
$TMPDIR/synlynk-sandbox/<hash>/state.dbwhen cwd is under worktrees; job finalize purges nested product state under the job worktree. - Real live matrix —
selftest --matrix --liveruns a trivial headless CLI smoke per Core 4 agent (budget-capped, default $10) so tier-2 greens can lift status to Proven.
Goalpost
Dry matrix is a merge gate. Live Proven is operator-runnable without mock cells. Nested ledger debris should stop growing under normal dispatch.