# Path drafts — three architectures Original comparison before Path 3 was selected. ## Non-negotiable session model Every viable design shares the same state machine. Continuous bidirectional sync of **live** save directories is the antipattern that caused prior LOPEs. - Pull only at session start; push only at session end - One lease per game - Hash gate rejects stale WIP unless explicit force-restore - Per-device history (3–5 versions); single live SSOT slot - Never delete live without first moving current into history ### Conceptual layout ``` games// live/ # SSOT current slot history// # last N snapshots per device meta.json ``` --- ## Path 1 — Hardened Syncthing + Session Orchestrator Syncthing syncs only the **SSOT tree**, never native game save dirs. A local agent copies native ↔ WIP ↔ SSOT around sessions. **Pros:** Fast LAN; mature Android Syncthing client. **Cons:** Discipline required; peer conflict resolution if lease fails. **Status:** Named **fallback** if MinIO/WAN path becomes blocking. --- ## Path 2 — Custom Agent + Gitea (Git LFS) Gitea as SSOT; saves as LFS or release assets; agent pull/push around sessions. **Pros:** Auditable history in web UI. **Cons:** Git/LFS friction for binaries. **Status:** Shelved. --- ## Path 3 — Custom Agent + MinIO (selected) SSOT is versioned object storage on NAS MinIO. Agent implements pull-live / push-live / history / restore. Exposed via Cloudflare → NGINX → MinIO for WAN. **Pros:** Cleanest binary SSOT model; no Git merge footguns; easy prune. **Cons:** Own the agent end-to-end; need reachable HTTPS API. **Status:** **Building this.** ### Comparison snapshot | Tenet | Path 1 | Path 2 | Path 3 | |-------|--------|--------|--------| | Safety / direction | High if SSOT-only | High | Highest | | Automation | Excellent Linux | Good | Excellent | | Easy add/remove | CLI + Syncthing API | CLI + repo | CLI + key prefixes | | LOPE recovery | history + .stversions | git/local history | object history | | Android | Syncthing-Fork | Custom app | Custom Compose app | | Past LOPE risk | Medium if live dirs synced | Low | Low |