Both sides shipped overlapping test-infra work in parallel; resolutions
compose intent rather than picking sides:
- free-tests.yml (both added): keep this branch's lane (canonical
strict-parallel runner, secretless, plain runner, ~2min) over main's
per-file-serial container loop (45min budget, hand-curated skip list,
needs GITHUB_TOKEN); ported main's git safe.directory insight.
- Dockerfile.ci Bun install: main discovered the installer IGNORES the
BUN_VERSION env var (the old form silently installed latest) — main's
arg-form mechanism + this branch's 1.3.13 target.
- parity baseline: both sides rebased after hitting the same silent
drift; adopted main's v1.64.1.0 union-normalized fixture and dropped
this branch's interim v1.64.0.0 capture. carve-guards caps: main's
tighter re-ratchets win (all four).
- touchfiles: kept this branch's three-file facade split; ported main's
pure-data removals (dead sidebar-agent entries, spec judge entry,
ship-idempotency) into touchfiles-data.ts.
- ship-idempotency SDK variant: main deliberately removed it as
redundant with the real-PTY test; adopted — dropped this branch's
rehomed copy and its periodic matrix row (the zombie-monolith deletion
stands; coverage-audit + triage rehomes verified untouched by main).
- e2e-tier-alignment: taught the new parent-mapper hard check main's
consolidated describeE2ETier()/e2eTierEnabled() self-gate shapes (the
helper's header names this file as a required recognizer).
- browse/test/compare-board.test.ts: quarantined behind
GSTACK_COMPARE_BOARD_TESTS=1 — all 16 tests fail identically on
origin/main solo on dev machines (blame protocol receipts in-file);
main's own CI lane skip-lists it. An always-red file would block every
PR now that free-tests is a required check.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>