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:
1 parent
e52aa6a4a3
commit
54f5555470
3 files changed
+4
-5
No files matched your search
@@ -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 |
|
| Machine live | `agent/memories/`, `agent/managed-skills/`, `agent/config.yml`, `agent/models.yml` | `scripts/live-sync.sh` heartbeat |
|
||||||
| Desktop live | `dotfiles/` | same 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`,
|
commits with hooks armed — the secret gate included — merges `origin/main`,
|
||||||
pushes, and reaps `wt/*` worktrees older than 7 days. Non-allowlist dirt is
|
pushes, and reaps `wt/*` worktrees older than 7 days. Non-allowlist dirt is
|
||||||
never committed, only surfaced. Conflicts abort and alert (ntfy); it never
|
never committed, only surfaced. Conflicts abort and alert (ntfy); it never
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=command-center live-sync heartbeat every 15 minutes
|
Description=command-center live-sync heartbeat every hour
|
||||||
|
|
||||||
[Timer]
|
[Timer]
|
||||||
OnBootSec=5min
|
OnBootSec=5min
|
||||||
OnUnitActiveSec=15min
|
OnUnitActiveSec=1h
|
||||||
RandomizedDelaySec=3min
|
RandomizedDelaySec=3min
|
||||||
Persistent=true
|
Persistent=true
|
||||||
|
|
||||||
|
|||||||
@@ -70,7 +70,6 @@ journalctl --user -u live-sync.service -n 20 # observe
|
|||||||
| Event | Result |
|
| Event | Result |
|
||||||
|-------|--------|
|
|-------|--------|
|
||||||
| Harness mid-write | commits a valid snapshot; remainder lands next heartbeat |
|
| Harness mid-write | commits a valid snapshot; remainder lands next heartbeat |
|
||||||
| Gitea down | commit safe locally; push retries next tick (≤15 min stale window) |
|
| Gitea down | commit safe locally; push retries next tick (≤1 h stale window) |
|
||||||
| Same file edited on two boxes | real merge conflict → ntfy → human resolves (visible, not silent) |
|
|
||||||
| Feature branch checked out in main checkout | refuses + alerts; protects the never-end-off-main rule |
|
| 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 |
|
| Secret shape in machine-written content | hook blocks, changes stay staged, alert |
|
||||||
Reference in new issue
Block a user