diff --git a/docs/deploy-ops-run-queue-railiance.md b/docs/deploy-ops-run-queue-railiance.md index f2c79e5..c96ecf9 100644 --- a/docs/deploy-ops-run-queue-railiance.md +++ b/docs/deploy-ops-run-queue-railiance.md @@ -18,7 +18,8 @@ defaults `OPS_RUN_QUEUE_ENABLED=true`; railiance still needs image + migration 2. Expose claim API on **actcore-api** (image that includes WP-0026). 3. Worker **emit_tasks** dual-writes open `ops_run` rows. 4. Smoke: FI (or Binky) one-shot → `GET /ops-runs?state=open` shows a row. -5. **Do not** remove host systemd timers until REIN-A-0002 claim loop is proven. +5. Host systemd timers are break-glass only once claim loop is proven + (FI dual-clock timer disabled 2026-08-05 after per-fire ops_run keys). ## Non-goals diff --git a/docs/recurring-automations-playbook.md b/docs/recurring-automations-playbook.md index bcebcce..8f549fa 100644 --- a/docs/recurring-automations-playbook.md +++ b/docs/recurring-automations-playbook.md @@ -47,9 +47,10 @@ issue-core projection — never as the default ops claim queue. **Anti-pattern:** workstation `crontab` that “does the daily brief” while activity-core also schedules it — dual cadence and forgotten design. -**Correct interim (Binky / FI):** activity-core schedule is authority for *when -due*; railiance user-systemd timer invokes rein-aharness a few minutes later as -executor. Document both; never pretend the host timer *is* the scheduler. +**Primary (Binky / FI):** activity-core schedule → `ops_run` → rein-aharness +**claim loop** on railiance01. Host user-systemd timers are **break-glass only** +(not cadence authority). FI dual-clock timer was disabled 2026-08-05 after the +ops_run per-fire idempotency fix landed; re-enable only if claim loop is down. ---