defer: switch the poll loop from cron to a Monitor nf-5v2j ← Beads

open priority 2 task unassigned

Twinned from https://github.com/cfsh/ninefold/issues/419 by tools/beads/import_github.py's reconcile pass.

Aedan on PR #401: *"Happy to defer the cron -> monitor hard switch into a separate issue too, for followup in a separate chunk"*. Filing it. Unclaimed and unlabelled — backlog, for a triage round.

#401 documents the Monitor lever and ships the piece it needs (poll.sh --check), but does not adopt it. That is now the deliberate state, per Aedan's ruling above — it also answers the question #401 left open (*"I've stopped short of switching this session's cron over; it's your call"*).

What's already in place (#401): --check is the cheap probe — one line, ~5s, no per-issue sweep; it owns the idle counter on NO-CHANGE, and emits one line per decision so a line-oriented filter doesn't truncate it.

What the switch involves:

```sh while true; do ./tools/pr/poll.sh --check "$T" "$SID" "$SLABEL" \ | grep -E --line-buffered '^(CHANGED|WAKE|RUN-FULL|SCOPE-CHANGED)' || true sleep 900 done ```

driven by Monitor(persistent: true), replacing the 30-minute cron.

Why it's worth doing: a cron always invokes the session — --check only makes that invocation cheap, and the invocation (context re-read) is ~all of the cost. Under a Monitor a genuinely quiet night costs *zero* invocations rather than cheap ones.

Care needed, all learned in #401's review:

Related: #396, #401, #418 (digest scoping).

Dependencies

None.

Comments

No comments.

Add a comment