It Passes Locally
Where the evidence lived: CI. From docs/unedited/2026-07-30-100641-local-command-caveatcaveat-the-messages-below-w.txt, around lines 1717 and 2066.
The compound-condition fix from why-did-the-tests-pass.md went in, with a new integration test behind it:
Two layers of tests:
- fsm-behavior (pure Node, no runtime) — proves the transition functions produce correct states for all events.
- itest (VM + real Screeps server) — new subtest polls Memory.stats.creeps until a harvester has event: “spawnFull” and fsm: “harvesting”. This proves the compound event logic works in the actual game runtime, not just in theory.
we have a problem upstream a failed itest from their gitlab runner. this test passes locally
The job log ended:
Exception: timed out waiting for harvester spawnFull eventThe log tells the whole story. …
- Harvester delivers to spawn. Spawn had ~280/300 energy, creep had 50. transfer() moves 20 energy (all the spawn can hold), creep retains 30.
- Spawn is now 300/300 (full). Creep has 30/50 (partial).
- emitEvent: storeFull = false. The compound condition storeFull && spawnFull is false.
- Returns “tick”. FSM: delivering + tick → delivering.
- transfer() → ERR_FULL. Nothing happens. Stuck forever.
“Works in the actual game runtime” had been checked in one world — mine. CI ran a world with different timing, reached the partial transfer my runs missed, and the deadlock surfaced. The claim fell to evidence neither of us was holding.