GENERATED VIEW · PRIVATE ARCHIVE · DO NOT SERVE
RobCo Industries · Archive Museum

backup_archive_repo.md



MEMORY

memory/project-C--Dev--RobCo--RobCo-UOS/backup_archive_repo.md

sha256 d8c30de43a47d41d · 3504 bytes · original held in the private archive

--- name: backup-archive-repo description: Private archive repo for library/planning/memory + how to run sync.ps1 (and the run-environment gotcha) metadata: node_type: memory type: project originSessionId: 0d519573-3465-43ce-bff6-fb611ed202c0 modified: 2026-07-20T20:09:22.241Z --- A private GitHub repo `zerckzzyHD/_RobCo-Archive` (confirmed PRIVATE) backs up the local-only folders that the public repo gitignores: `library/`, `planning/`, and the agent `memory/` stores. Working copy: `C:\Dev\!RobCo\_RobCo-Archive\`. Refresh it by running `sync.ps1` from that folder. `sync.ps1` is **self-locating**: it discovers memory stores at runtime rather than using hardcoded GUIDs, and captures every store it finds, each into its own labelled subfolder — never guessing which one is canonical. It **fails loudly (non-zero exit, no push)** if discovery finds nothing usable, or if `library/`/`planning/` are missing/empty — never a silent partial backup. Test hooks exist for pointing it at a fake base and for skipping the push. *Correction 2026-07-20: this file previously asserted store counts and per-store file counts. Those are computed at runtime by `sync.ps1` and written to `memory/_CAPTURE_MANIFEST.txt`; they were wrong here and memory must not assert them. Read the manifest, not this file.* **Run-environment gotcha:** the PowerShell *tool* in this harness runs in a separate sandbox (`rog-ally\zerckzzy`) that CANNOT see `AppData\Roaming\Claude` — so running sync.ps1 via the PowerShell tool fails discovery. The Bash tool's environment (user `zerckzzy`) DOES see the memory. Run it via Bash: `powershell.exe -NoProfile -ExecutionPolicy Bypass -File "...\sync.ps1"`. The shared `C:\Dev\!RobCo` project dir is visible to both tools; only the Claude session store differs. This gotcha has already produced one false alarm worth remembering: a session concluded that sync.ps1 was silently missing an entire memory store, "verified" by editing a file and re-running the sync to no effect. The sync had almost certainly been launched from the PowerShell tool, whose sandbox aborts discovery. **Before concluding the backup is broken, check which tool ran it.** Loss-audit finding: a Google OAuth client-secret file sits under `C:\Dev\!RobCo\auth\` — a real secret, NOT backed up and **must never be committed**; regenerable via Google Cloud Console. `C:\Dev\!RobCo\Pre website\` is unbacked and not a git repo. Everything else is on GitHub or regenerable. **Running sync.ps1 is the AGENT's obligation, not the owner's** (owner is phone-first and never sees terminal output). The session runs it after any `library/`/`planning/` doc change, any memory update, and at the end of any round or re-pin pass — and if it genuinely can't, it REPORTS that upward in its final report; silently skipping is not allowed. This is codified in CLAUDE.md (see CLAUDE.md + `rules/` for the current protocol wording and its guard). A fail-safe pre-push NUDGE (`scripts/backup-nudge.js`, invoked from `scripts/pre-push` with `|| true`) prints an AGENT-directed message when those local-only artifacts changed since the archive's last commit, with the exact Bash-tool command. By design it can NEVER fail or block a push, stays silent on a machine without the archive or when it can't determine state, and **never runs the sync itself** — the session does. It also stays silent when the archive is newer than every artifact; that is working-as-designed, not broken. See [[deploy-branch-model]].
STAMP · generated for RELEASE v2.8.5 commit 06e5180 (06e51801b38a) · archive input-tree hash c07fbfbdd2e1ddeb · 754 files · no wall-clock timestamp (regenerates identically when nothing changed).