Twinned from https://github.com/cfsh/ninefold/issues/476 by tools/beads/import_github.py's reconcile pass.
Time-sensitive, and it spans sessions rather than belonging to any one of them.
#463 deletes tools/pr/poll.sh outright — verified in the diff, no shim and no wrapper left behind:
``` diff --git a/tools/pr/poll.sh b/tools/pr/poll.sh deleted file mode 100755 ```
Every running dev session's poll cron invokes that path literally. The prompt text is baked into a CronCreate job at session start, so the moment #463 merges, each of those jobs starts running a command that no longer exists.
To be fair to #463: its body shows the compatibility question was thought about carefully — the POSIX cksum reimplementation exists precisely so the first tick after the cutover doesn't report CHANGED against a state file poll.sh wrote and reset every session's idle ladder. That is the harder half. This is the easier half that sits just outside it: the *invocation path*, not the state format.
Severity, stated honestly: this is not fully silent. A session whose cron fires ./tools/pr/poll.sh … will see No such file or directory and can reason its way to poll.py. So it is a degraded tick, not a dead loop — closer to #352 in shape than in cost. But it lands on every session simultaneously, at whatever hour the merge happens, and a session that treats the error as "nothing to report" instead of "my tooling moved" goes quiet without anyone noticing.
Cheapest mitigations, in rough order of effort:
poll.sh for one cycle as a two-line shim (exec python tools/pr/poll.py "$@"), delete it in a follow-up once no cron references it. Costs one file and one PR; removes the coordination problem entirely.merge_pr.sh) and #472 (probe_gate.sh) — merge_pr.sh in particular is invoked by hand from CLAUDE.md's documented flow, so its path lives in prose as well as in crons.I have mitigated my own session by putting a note in its cron prompt to re-point rather than go quiet, but that only helps sessions that happen to think of it.
Filed unclaimed. #463 is ninefold-a's chunk and I am not touching it.
None.
No comments.