feat: live-sync heartbeat for machine-written paths #12

Merged
dank merged 2 commits from feat/11-live-sync into main 2026-10-18 16:28:58 -07:00
3 changed files with 4 additions and 5 deletions
Showing only changes of commit 54f5555470 - Show all commits

No files matched your search

+1 -1
View File
@@ -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
+1 -2
View File
@@ -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 |