chore: run live-sync heartbeat hourly
Operator decision at review: 15 min is aggressive for config churn; hourly keeps the stale-window acceptable (<=1 h) with a fifth of the wakeups. Timer unit, tier law, and failure-table wording aligned.
This commit is contained in:
@@ -74,7 +74,7 @@ desktop GUIs. "Dirty tree" is judged by the writer:
|
||||
| Machine live | `agent/memories/`, `agent/managed-skills/`, `agent/config.yml`, `agent/models.yml` | `scripts/live-sync.sh` heartbeat |
|
||||
| Desktop live | `dotfiles/` | same heartbeat |
|
||||
|
||||
The heartbeat (systemd user timer, ~15 min) stages ONLY allowlisted tiers,
|
||||
The heartbeat (systemd user timer, hourly) stages ONLY allowlisted tiers,
|
||||
commits with hooks armed — the secret gate included — merges `origin/main`,
|
||||
pushes, and reaps `wt/*` worktrees older than 7 days. Non-allowlist dirt is
|
||||
never committed, only surfaced. Conflicts abort and alert (ntfy); it never
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
[Unit]
|
||||
Description=command-center live-sync heartbeat every 15 minutes
|
||||
Description=command-center live-sync heartbeat every hour
|
||||
|
||||
[Timer]
|
||||
OnBootSec=5min
|
||||
OnUnitActiveSec=15min
|
||||
OnUnitActiveSec=1h
|
||||
RandomizedDelaySec=3min
|
||||
Persistent=true
|
||||
|
||||
|
||||
@@ -70,7 +70,6 @@ journalctl --user -u live-sync.service -n 20 # observe
|
||||
| Event | Result |
|
||||
|-------|--------|
|
||||
| Harness mid-write | commits a valid snapshot; remainder lands next heartbeat |
|
||||
| Gitea down | commit safe locally; push retries next tick (≤15 min stale window) |
|
||||
| Same file edited on two boxes | real merge conflict → ntfy → human resolves (visible, not silent) |
|
||||
| Gitea down | commit safe locally; push retries next tick (≤1 h stale window) |
|
||||
| Feature branch checked out in main checkout | refuses + alerts; protects the never-end-off-main rule |
|
||||
| Secret shape in machine-written content | hook blocks, changes stay staged, alert |
|
||||
|
||||
Reference in New Issue
Block a user