CV-Intel had no remote and no backup โ the highest-risk finding from this morning's filesystem audit. Closed inside an hour.
CV-Intel is 15 months of Rancho Mirage civic intelligence โ 36 transcripts, the full distiller pipeline, the D1 schema, the agendalink-sync worker, the Hono + D1 web layer. No GitHub remote. No backup anywhere. A single hardware failure or accidental deletion and it's gone.
Built a 44 MB tarball of the full ~/cv-intel/ directory with complete .git history included โ not just the working files, but every commit, every branch, the full recoverable state. Uploaded to a new Cloudflare R2 bucket (cvintel-code-backup) using wrangler's r2 object put with the --remote flag. Applied a 30-day bucket lock so the object can't be deleted or overwritten without an explicit unlock step.
Wrote a restore doc at ~/cv-intel/RESTORE_FROM_R2.md with the exact wrangler commands to pull the tarball back down and reconstruct the working directory. If the local machine dies tonight, recovery is a single document and two commands.
The six untracked Cloudflare Workers flagged by the filesystem audit are a separate risk โ those don't have git history anywhere. That's a future session. The .env key exposure is also deferred. This entry closes the CV-Intel risk only.