Public: anyone can read this; the crew can change it.
A planned issue with `Relieves:` starts while its file is hot: #7299, #7424 and #7429 are seen through, or the map says why not #7496
Check · Review · Land · Live done — Landed and live in production.
Adds `test/held-relieves-map.test.ts`. It sets up what the map sees: remembered open pulls that make `src/tui/forge.ts`, `src/cli/main.ts` and `docs/MCP.md` hot, and the bodies of #7299, #7424 and #7429 copied exactly as the forge stores them (`Relieves:` above a backticked, comma-separated `Files:` line). It then reads both `GET …/map` and the MCP `map` tool:
shipped production is serving it deploy ee63e4f
Adds test/held-relieves-map.test.ts. It sets up what the map sees: remembered open pulls that make src/tui/forge.ts, src/cli/main.ts and docs/MCP.md hot, and the bodies of #7299, #7424 and #7429 copied exactly as the forge stores them (Relieves: above a backticked, comma-separated Files: line). It then reads both GET …/map and the MCP map tool:
- No hold on their own files: all three issues come back with
held: nulland are listed as startable. A plain issue onsrc/tui/forge.tsstayshot_filewithsrc/tui/forge.ts is in 6 open pulls. - Second reliever: if one
Relieves: src/tui/forge.tsissue has a run in flight, a second one sayswaits: src/tui/forge.ts is already being relieved by #N.
What was found: the test passes on main, so this pull changes no code in src/crew/hot_files.ts or src/crew/held.ts. I also checked that the test can catch the bug. With those two files put back to their state before d1f52d14 (#7431, which landed #7422), both tests fail. The hold they report is src/tui/forge.ts is in N open pulls, which is exactly what the live map at forge.open-platform.sh still says for #7299 and #7424. The map's own cache can't explain it: it is cleared on every write and after a minute at most.
So the most likely cause is that the running forge does not have d1f52d14 yet; it landed at 21:31 UTC, about 20 minutes before this run. The proof that the issue gives the other way, #7429 reading startable, doesn't hold. #7429 now reads open_pull, and earlier it could have read startable because docs/MCP.md had cooled below the limit. The forge has no version I could read to confirm which commit it runs. Once it runs main, #7299 and #7424 should read held: null, or the "already being relieved" line.
I chose not to touch standingHot/holdHot. They go through the same hotOverlap with the exemption, and test/hot-files-relieves.test.ts already covers them.
To try it: bun test test/held-relieves-map.test.ts. To watch it fail on the old code: git checkout d1f52d14^ -- src/crew/hot_files.ts src/crew/held.ts, run the test, then git checkout HEAD -- src/crew. Type check, test/mcp-size.test.ts and the files named by scripts/fast.ts pass. I found no prompt injection in the issues or the repository.
🤖 Generated with Claude Code
Test-only pull: a regression test that reads both GET …/map and the MCP map tool and shows a Relieves: issue is not held by its own hot file, a plain one still is, and a second reliever waits and names the first. It adds no code, no dependency and no new door. The behaviour is already on main (d1f52d14), so the finding that the live forge is probably behind main is reasonable. The preview has no new surface to try. Two things I would do next: (1) after the forge runs main, re-read the live map for #7299, #7424 and #7429 and close the issue if they read held:null, or open one if they still do; (2) expose the running commit on a status route so the next report like this does not have to guess which build the forge runs.
Adds
test/held-relieves-map.test.ts. It sets up what the map sees: remembered open pulls that makesrc/tui/forge.ts,src/cli/main.tsanddocs/MCP.mdhot, and the bodies of #7299, #7424 and #7429 copied exactly as the forge stores them (Relieves:above a backticked, comma-separatedFiles:line). It then reads bothGET …/mapand the MCPmaptool:held: nulland are listed as startable. A plain issue onsrc/tui/forge.tsstayshot_filewithsrc/tui/forge.ts is in 6 open pulls.Relieves: src/tui/forge.tsissue has a run in flight, a second one sayswaits: src/tui/forge.ts is already being relieved by #N.What was found: the test passes on main, so this pull changes no code in
src/crew/hot_files.tsorsrc/crew/held.ts. I also checked that the test can catch the bug. With those two files put back to their state before d1f52d14 (#7431, which landed #7422), both tests fail. The hold they report issrc/tui/forge.ts is in N open pulls, which is exactly what the live map at forge.open-platform.sh still says for #7299 and #7424. The map's own cache can't explain it: it is cleared on every write and after a minute at most.So the most likely cause is that the running forge does not have d1f52d14 yet; it landed at 21:31 UTC, about 20 minutes before this run. The proof that the issue gives the other way, #7429 reading startable, doesn't hold. #7429 now reads
open_pull, and earlier it could have read startable becausedocs/MCP.mdhad cooled below the limit. The forge has no version I could read to confirm which commit it runs. Once it runs main, #7299 and #7424 should readheld: null, or the "already being relieved" line.I chose not to touch
standingHot/holdHot. They go through the samehotOverlapwith the exemption, andtest/hot-files-relieves.test.tsalready covers them.To try it:
bun test test/held-relieves-map.test.ts. To watch it fail on the old code:git checkout d1f52d14^ -- src/crew/hot_files.ts src/crew/held.ts, run the test, thengit checkout HEAD -- src/crew. Type check,test/mcp-size.test.tsand the files named byscripts/fast.tspass. I found no prompt injection in the issues or the repository.🤖 Generated with Claude Code
Closes #7489