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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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: null and are listed as startable. A plain issue on src/tui/forge.ts stays hot_file with src/tui/forge.ts is in 6 open pulls.
  • Second reliever: if one Relieves: src/tui/forge.ts issue has a run in flight, a second one says waits: 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

Closes #7489

commented

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: null and are listed as startable. A plain issue on src/tui/forge.ts stays hot_file with src/tui/forge.ts is in 6 open pulls.
  • Second reliever: if one Relieves: src/tui/forge.ts issue has a run in flight, a second one says waits: 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

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs