Commit Graph
4 Commits
Author SHA1 Message Date
druppy 75a7f74576 Add .rules: invariants and gotchas for future development
Most entries are a data-loss bug that was found in testing and must not come
back: filter ordering, harvest-before-pull, seen-gated deletion attribution,
edits-beat-deletes, POSIX sh on DSM, and the never-2>/dev/null-an-rsync rule.
Symlinked as AGENTS.md so a future agent session loads it automatically.
2026-10-24 16:41:30 +02:00
druppy c445d83006 README: point the install snippet at the real remote 2026-10-24 16:36:44 +02:00
druppy be375fb312 homehub: implement + validate sync, tombstones, manifest, alerts
Tested end-to-end with two throwaway homes against a scratch hub root:
deletion propagation, new-machine join safety, edit-wins-over-delete,
reaping, forget, alert timing. Fixes found by those tests:
 - harvest deletions BEFORE the pull (pull used to undo every deletion)
 - gate attribution on $STATE/seen (a new machine would have tombstoned
   every hub file its peers had just uploaded)
 - active_path probed '+ /dir***' instead of '+ /dir/***' -> every tombstone
   looked out-of-scope, so deletions never applied
 - tombstone excludes must precede includes in the filter (first match wins)
 - rsync must get -e with the deploy key; harvest stderr must not be dropped
 - guard hub sync root that already holds unrelated data (178 G here)
 - scrub credentials out of repo remote URLs before publishing the manifest
2026-10-24 16:36:40 +02:00
druppy 78496330f3 homehub: rsync-based home-drive sync via Synology hub
DESIGN.md is the rationale; README.md the operations half.
Four data classes: files (mtime-arbitrated two-way), git repos (manifest +
clone, never byte-synced), the browser link bar (union merge), and everything
else denied by default.
2026-10-24 16:36:40 +02:00