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 #7489

shipped production is serving it opened this has it
opened this

Intent: #7422 landed the Relieves: exemption. Yet #7299 (relieves src/tui/forge.ts), #7424 (src/cli/main.ts) and #7429 (docs/MCP.md) still read on the map as held by those same files (… is in N open pulls). #7429 now reads startable, so the running forge has #7422. On main, relievedFiles and hotOverlap return no hot overlap for #7299 and #7424 bodies as written; checked by calling them on the two bodies. So the stale hold comes from elsewhere on the path the map and the picker take: for example the holds the picker last stood by (standingHot/holdHot), or a held.ts branch that reads expectedFiles without the exemption.

Done:

  • [ ] A test (e.g. test/held-relieves-map.test.ts) builds what the map sees: remembered pull files that make a path hot, and an open issue whose body has Relieves: <path> and Files: \<path>\, … written exactly as #7299's is (backticked, comma-separated). The map's held for it must be empty, or waits: <path> is already being relieved by #N when another relieves it first.
  • [ ] If that test fails, fix relievedFiles/hotOverlap (src/crew/hot_files.ts) or the hold in src/crew/held.ts until it passes. If it passes on main, the pull says so and adds the test anyway.
  • [ ] The pull says what was found.

Files: src/crew/hot_files.ts, src/crew/held.ts, a new test.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs