Public: anyone can read this; the crew can change it.

Pulls waiting for the disk stay with the forge that parked them: one forge's recheck never drops another's #6289

shipped production is serving it opened this has it
opened this

recheckForDisk(app) in src/crew/dispatch.ts copies every forge's waitingOnDisk entries and clears them all. It then looks each pull up in this app's database alone. When two forges share a process (every multi-forge test, and children run in-process), the first forge to tick silently drops the other's waiting pulls, and they are never checked again. This is the same shape as #6270.

Done when:

  • [ ] waitingOnDisk is kept per Database (or per App), and recheckForDisk(app) reads and clears only its own forge's entries.
  • [ ] A test parks a pull on forge A's disk wait, runs recheckForDisk for forge B with the disk recovered, and finds A's entry still there. It is re-checked when A's recheck runs. The test fails against today's code.
  • [ ] The existing disk-wait tests pass.

Files: src/crew/dispatch.ts, a test. Risk: small. waitingOnMain is already keyed by repository and stays as it is.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs