rein-aharness/deploy/docs/timer-cutover.md

2.1 KiB
Raw Blame History

Timer cutover (REIN-A-0002-T05)

After claim-loop is the proven executor path, demote host oneshot timers to break-glass only.

Proof window

Before disabling timers, record 5 clean cycles (weekday schedule fires or forced operator triggers):

# Date Trigger ops_run id approach result
1 2026-08-04 FI daily schedule 0f42b137-4fef-4978-b82b-557c28a46df9 fi-research-brief succeeded
2 2026-08-04 Binky daily schedule 13fcbed2-7c2c-45dd-91d0-2632fe84bf1b brief-daily succeeded
3 2026-08-05 FI daily schedule 951f2716-35c7-46df-ac4c-1a9dfc95af47 fi-research-brief succeeded (skipped_existing)
4 2026-08-05 Binky daily schedule eeccd98a-bd2b-4247-9289-2bf17aa22301 brief-daily succeeded
5 2026-08-06 FI daily schedule 9d6de3da-4845-470b-a16b-656ff1687eec fi-research-brief succeeded

Each row: openclaimedsucceeded (or skipped_existing complete), with domain completion event (fi_daily_brief / binky_daily_brief).

Verified from the production claim-loop journal on 2026-08-08. Three further clean scheduled cycles completed on August 67. At verification time, rein-aharness-claim-loop.service was active, the FI timer was disabled and inactive, and the Binky timer was not installed and inactive.

Demote FI timer

systemctl --user disable --now fi-research-brief-daily.timer
# Keep unit files installed for break-glass:
# systemctl --user start fi-research-brief-daily.service

Demote Binky rhythm timer

# unit names from binky-control/scripts/railiance-rhythm/systemd/
systemctl --user disable --now binky-brief-daily.timer 2>/dev/null || true
systemctl --user list-timers --all | grep -E 'binky|fi-research' || true

Keep break-glass

  • Install scripts remain; document “manual start if claim-loop down”.
  • Do not delete domain rhythm scripts.
  • activity-core schedule stays authority for when due.

Rollback

systemctl --user enable --now fi-research-brief-daily.timer
# investigate claim-loop journal + actcore /ops-runs