- Tripwire scans execFileSync too (ceiling 8: two more grep-needle string
exemptions); merge-introduced timeout-less spawnSync in
question-preference-hook fixed — the tripwire caught a site that landed
on main AFTER the sweep, on its first day.
- gstack-detach gains TWO watchdog kill regression tests: TERM-immune
grandchild (the killpg-after-grace escalation) and the leader-dies
variant (the pgid-at-spawn fix — the case the first test cannot see).
- eval-flake-rank gets its unit suite (final-attempt accounting, artifact
exclusion, shard recursion, recency bound).
- Groupkill/startup-grace shim markers are per-run unique (pid-suffixed
sleep durations): sibling Conductor worktrees run free suites with no
machine lock, and fixed markers let one run pgrep/pkill the other's
shims — a cross-run flake inside the anti-flake tests.
- flake-ledger test pins the project-scoped local default; stale empty
section headers in touchfiles-data deleted (they invited entries under
deliberately retired categories).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The runner's attribution-gated flaky-retry pass (cap 5, truncation veto)
was OFF in the required lane and its FLAKY-PASS evidence was console-only —
so a single timing flake red the merge gate while repeat offenders stayed
unenumerable. free-tests.yml now sets GSTACK_FREE_RETRY_FLAKY=1 and points
GSTACK_FLAKE_LEDGER at runner.temp; every flaky-pass appends a JSONL entry
(SINGLE writer: the parent runner — no concurrent-append hazard by
construction; fail-open with a loud warning so a broken ledger can never
red the lane) and the artifact uploads UNCONDITIONALLY — a flaky-pass run
is green, which is exactly when the evidence matters. Wiring pinned by
free-tests-workflow-wiring; ledger behavior unit-tested incl. the fail-open
path. Matches 2026 industry practice (retry for data, quarantine out of
merge-blocking but never out of logging) with the repo's own receipts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>