REVIEWED_TREE: 6b4d0e6181c85701f6875b8c50397760e347484f /workspace/gstack
{"severity":"CRITICAL","path":"test/ship-queue-land-direct.test.ts","line":923,"summary":"The new rerun-command assertion expects the literal '<this backstop run>', but rerunCommand (scripts/train-backstop.ts:177) reads process.env.GITHUB_RUN_ID, and runBackstop runs in-process. The shard sandbox passes the env through unchanged (createShardSandbox strips only the Capy launch markers), and GitHub Actions always sets GITHUB_RUN_ID, so this test fails in free-tests CI. Reproduced: `GITHUB_RUN_ID=987654321 bun test test/ship-queue-land-direct.test.ts -t 'no clear without the evidence'` fails with 'gh run rerun 987654321 -R fixture/repo'. The local 58/58 pass only happened because the variable is unset outside Actions. Fix: clear GITHUB_RUN_ID in backstopOn, or assert on the 'gh run rerun ' prefix."}
{"severity":"INFORMATIONAL","path":"scripts/train-backstop.ts","line":207,"summary":"rewriteFreeze ignores persist()'s result. If addNote fails ('could not write the notes locally'), NOTES_REF still equals origin's notes, so the plain push exits 0 as up to date and the function returns state 'pushed'. clearOnGreen then prints 'freeze cleared' and freeze() prints 'reason updated' even though nothing reached origin, so an error is reported as success."}
{"severity":"INFORMATIONAL","path":"lib/ship-queue-land-direct.ts","line":44,"summary":"Under merge: direct, which origin/main sets, a leftover non-backstop train freeze has no way to clear. land --pin --repair now refuses it, clearOnGreen leaves it standing, and bin/gstack-ship-queue:174 refuses `train build` under merge: direct. The suggested fix ('train build --repair under merge: train') would need a policy PR that the freeze itself blocks from landing. f85ce3b could clear this case. Origin's notes hold no such freeze today (the only active freeze has train 'backstop'), so it doesn't affect production now."}
