Consolidate the four nightly *-update timers into one host-maintenance orchestrator #40
Labels
No labels
burndown-2026-06
burndown-2026-08
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/advocate
role/director
role/exec
role/frontend
role/gamedev
role/human
role/platform
role/qa
role/science
role/sysadmin
state
ambient
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/infrastructure#40
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-21T02:22:19Z - https://github.com/coilysiren/infrastructure/issues/214
Problem
kai-server runs four separate systemd timers for nightly host maintenance, hand-staggered 15 minutes apart so they do not collide on Homebrew's global update lock:
coilysiren-pull-all.timer- 02:45 - git pull sweep across~/projects/coilysiren/*coily-update.timer- 03:00 -brew update+brew upgraderepo-recall-update.timer- 03:15personal-dashboard-update.timer- 03:30The manual staggering is design debt. The spacing is bookkeeping that exists only because the units would otherwise fight over the brew lock, and it silently breaks if any single step runs long enough to overrun into the next slot.
Proposal
Replace the four timers with one
host-maintenance.timerdriving a single orchestrator script that runs the steps in sequence:coilysiren-pull-all.sh)brew updateoncebrew upgradeOne timer, no lock contention, no spacing bookkeeping. Steps run strictly in sequence so a slow step delays the rest instead of overlapping them. Per-step failures should be non-fatal to the sweep where that is already the behavior (pull-all skips dirty repos rather than aborting).
Out of scope
Changing what each step does. This is consolidation of the scheduling surface, not a behavior change.
Origin: surfaced while adding
brew upgradetocoily-update.sh(#213).Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.