Public: anyone can read this; the crew can change it.
Flaky: test/security-merge.test.ts #2129
Check · Review · Land · Live done — Landed and live in production.
`test/security-merge.test.ts` now passes in any order, and it is out of quarantine.
shipped production is serving it deploy d5b2fe2
Test-only change. Each test now builds its branch from a fresh origin/main and reads the pull number from the redirect, so none depends on hardcoded numbers or run order. That was the flake. The conflict test now uses a true add/add conflict on one file. The exclusion is removed from gate.ts, so the file is now gated. No product code, security surface, dependency or UI is touched, and there is nothing for the preview to show. Two things I would do next: (1) have mergePull assert on the response status, so a failed merge fails at the merge and not later at a rev-parse; (2) in beforeAll, the token request body has a misformatted line (adminConfirm: true, run into the next one) that the formatter should fix.
test/security-merge.test.tsnow passes in any order, and it is out of quarantine.Cause. The three merge-correctness tests relied on each other. They hard-coded pull numbers (
pulls/1,pulls/2,pulls/3,pulls/4) and onrefs/pull/1/mergedhaving been made by an earlier test. They also reused one working clone's branch state. Run in a different order, those pulls or refs didn't exist, which gave the emptycat-fileoutput and the 404 onpulls/4/files.Change.
origin/main, creates a uniquely named branch, opens the pull, and merges it.Locationheader of thepulls/newredirect, so nothing assumes numbering.git gc --prune=now.conflict.txtwith different content. Whichever merges second conflicts.test/security-merge.test.tsentry fromEXCLUDEDinscripts/gate.ts. The gate is every test file minusEXCLUDED, so removing the entry puts the file inGATE.Verification.
2974524939,2783989559,976843847,1461733334,1292515689) are now 8/8 green.bun scripts/flake-hunt.ts admit test/security-merge.test.tscame back green in all 10 runs. I only saw runs 3–10 in the output I read; runs 1–2 were cut off.tsc --noEmitis clean. The finalsecurity-merge+gatetest run printed one 8 pass / 0 fail summary, so I can't confirm the gate suite ran in that command.I did not touch the first
describeblock (read-only token scope). It already passed under every seed.Closes #2104