Sync & Info-Access Audit

cortextOS / SiteSmith agency  ·  2026-06-11  ·  read-only diagnostic by the Analyst agent  ·  nothing was changed — every fix below is a proposal awaiting your review

The one-line answer

Your data is not lost and your live systems are healthy. There is exactly one real problem: the offsite backup of your agent "brain" hasn't run since June 5 (6 days), because the backup automation is both unscheduled and silently failing.

In plain English

How everything is wired (so the rest makes sense)

Your org data physically exists in one place only. The "mirror" in the Obsidian vault is a Windows junction (a pointer), not a second copy — which is why it always looks identical to the live files.

LIVE DATA (one physical copy, gitignored in the public fork) C:\...\cortextos\orgs\sitesmith-agency\ | | (Windows directory JUNCTION — same bytes, not a copy) v C:\...\Obsidian\AIAgency\...\cortex-os\sitesmith-agency\ | | git add + commit + push <-- THE OFFSITE BACKUP STEP v GitHub: sukelevensai/aiagency (PRIVATE) last snapshot: 2026-06-05

The public cortextos fork deliberately gitignores all org data (so nothing leaks publicly). That means the private aiagency repo is the only git path that backs your data off the machine.

Findings

High* Offsite backup is 6 days stale and silently broken

Evidence
Severity caveat (please confirm)

Google Drive for Desktop is running with folder mirroring on. If it mirrors the Obsidian vault (or the cortextos folder), you already have a continuous secondary backup and this drops to Medium. OneDrive does not cover these paths. I can't read the Drive config from here — only you know if that folder is on Drive. One nuance: folder-mirroring is continuous, not versioned — a deletion propagates and there's no point-in-time history to roll back to, which is exactly what the git snapshots give you. So it's a safety net, not a full replacement.

Proposed fix (not applied)
  • Tighten the copy exclusions so secrets & node_modules never enter the batch (add .env.bak*, *.bom, *client_secret*, *oauth*; exclude node_modules at every depth).
  • Rather than loosening the secret scan, switch it to an explicit denylist + a narrow include-list (only the file types worth backing up) — so a doc that later contains a real pasted secret still can't slip through. Then do one dry-run / staged-diff review before the first scheduled run.
  • Add the daily backup cron that was always intended.
  • After the exclusion fix, run one backup now to close the 6-day gap.

Keep as-is: the fail-closed scan is the only thing that stopped those secret files from being pushed to GitHub. It did its job — don't weaken it.

OK Git sync & push — all healthy

RepoState vs its remoteNote
cortextos0 / 0 vs originIn sync, all commits pushed
AIAgency vault0 / 0 vs originCommitted work fully pushed
client siteclean
client vault0 / 04 in-flight handoff files (normal)

No repo is behind its remote, so "reading stale info from an un-pulled vault" is ruled out. (Minor: cortextos main tracks the upstream fork, not your origin — a footgun if you ever run a bare git push on main. Low priority; one-line fix to retarget it.)

OK Knowledge base (the "pull info" engine) — working

A live query for a known term returned 10 relevant, correctly-ranked results; all collections are populated (the shared org collection alone holds ~6,930 documents). The known "silent-empty-on-failure" bug did not occur today. Recommend keeping the planned hardening (make a backend failure look different from "no results") as low-priority insurance.

Low / latent Search-tool blind spot for org data

Evidence

A plain text search run from the repo root returns "No files found" for text that does exist in the org files — because the entire org folder is gitignored and the search tool skips gitignored paths. Pointing the search directly at the org folder finds it instantly.

Honest caveat: this is a real footgun, but I did not see it actually cause a failure today. It's the most likely explanation if a "couldn't find info" moment came from a top-level search. Mitigation: pull org info via the knowledge base (works), or always search the org folder by explicit path.

By design Not bugs — leave these alone

So — were you "having trouble pulling info"?

Based on today's evidence: no read-side failure reproduced. The knowledge base answers, git is synced, nothing is stale. The one genuine "something's not working" is on the write/backup side, not the read side.

If you had a specific moment where you (or an agent) tried to pull something and got nothing — tell me the exact thing, and I'll reproduce it. The search blind-spot above is my prime suspect for that kind of moment.

Proposed plan (in order, nothing done yet)

  1. Confirm whether Google Drive mirrors the vault folder (decides whether the backup gap is High or Medium).
  2. Fix the backup script's exclusions + secret-scan allowlist.
  3. Schedule the daily backup cron.
  4. Run one backup to close the 6-day gap.
  5. Optional low-priority: retarget cortextos main to your origin; add KB silent-failure hardening; document the search-by-explicit-path habit.

Say the word and I'll do these one at a time, showing you each change before it runs.

Read-only audit. No files, configs, branches, or remotes were modified. Diagnostics: git status / rev-list / fetch (read-only), fsutil reparsepoint, knowledge-base query, and the backup script's own log. Secret values were never read or included; file references are generalized.