Young's Mind
05 Operations

Vault Git State

Consolidated. This note's findings now live in ../MIN-STUDIES.md §12. The original is kept for its measurements; do not re-derive from it.

The vault's git state — measured, and safe

Sol found it while verifying the untouched-list: "git status in the vault reads 2,839 lines. A repository in that state cannot answer 'is anything stale?'"

He is right about the problem, and the cause is a mass move that was never committed. I verified the safety of it, because that is the question that matters first.


1. ✅ The safety verdict: nothing is lost

CheckMeasured
git status --short lines2,841
tracked-but-deleted in worktree2,669
staged0
untracked (new)143
files in HEAD3,078
deleted files NOT in HEAD0

Every one of the 2,669 is in HEAD. Verified per file with git cat-file -e HEAD:<path> — zero misses. So every deletion is recoverable with one command:

git checkout HEAD -- <path>          # one file
git checkout HEAD -- <dir>           # a directory

This is the ' D' status, not 'D ' — deleted in the worktree, still committed. The content is in history and always was.


2. What actually happened: a move, not a deletion

The files were relocated. The old path is gone from disk; the same content exists under a new one:

Docs/solos/Daily Briefings/2026-07-31.html
   → Docs/SolOSV3/05-archive/reference-tree/SolOS Legacy/solos/Daily Briefings/2026-07-31.html     ✅ exists

"SolOS (legacy reference only)/"    (in HEAD)
   → Docs/SolOSV3/05-archive/reference-tree/SolOS Legacy/             (on disk)                    ✅ renamed

So it is a rename the index has not been told about — git sees delete here, untracked there, which is exactly what git status reports as 2,669 deletions.

The scale: 1,032 mapped by the obvious prefix rewrite; the rest live under other renames (Docs/Pulse/ → Pulse/, Docs/research/ → legacy, …). Spot-checks confirm the content exists.

76 files have no same-named copy on disk — and they are copilot config and tooling (Docs/copilot/skills/*, copilot/skills/*, .obsidian/graph.json, AGENTS.md). All 76 are still in HEAD, so they are recoverable regardless.


3. 🔴 The real finding — and it is Sol's, sharpened

The problem is not the deletions. It is that the repository cannot be read.

"A repository in that state cannot answer 'is anything stale?' — which is the question a cleanup exists to serve."

And it is worse than a tidiness issue: the vault has two remotes, and one of them points at the production host:

origin  https://github.com/youngframeworks/solos-vault.git
prod    ubuntu@161.33.71.67:/home/ubuntu/.solos/docs/vault

So the moment anyone runs git add -A && git commit && git push, a 2,669-file restructure — which no one has reviewed as a change — propagates to production.

That is the vault's own rule firing in the worst way: "a deletion committed here propagates there." The deletions are recoverable here and would be destructive there.


4. What must NOT happen, and what should

❌ Must notWhy
git add -A on the vaultcommits 2,669 unreviewed deletions and 143 unreviewed additions
git checkout HEAD -- . to "clean up"reverts the move — the new Docs/SolOSV3/05-archive/reference-tree/SolOS Legacy/ layout is what is on disk and what the tree uses
Any push before a reviewprod is the production host
✅ ShouldWhy
Commit the move as a move — git add -A is correct once the change is reviewed as the restructure it isit records renames, so --follow survives and history is legible
Verify no content was dropped in the move — diff the HEAD file list against the disk file listthe 76 with no disk copy should be confirmed intentional
Decide the prod push separately, before committinga committed restructure propagates; that decision is Young's

The first action is not a git command — it is a review. The change is a restructure; it needs to be read as one.


5. Why this is now an owned concern

Sol's recommendation, adopted: git hygiene becomes an owned operational item. The vault and .solos both need it, and .solos's remote cannot be set up meaningfully while the vault's own state is illegible — which is exactly the sequencing Sol named.

ItemState
.solos7 commits, 16 tracked, 0 remotes — needs a destination
the vault2,841 status lines, 2,669 uncommitted deletions, 2 remotes including production
Owner🔴 needs naming — it is an operational concern, and it is not in any stage

Recommended: Mira (operational, and it is a data-safety concern), with the prod push decision reserved to Young.


6. What this changes in the plan

Nothing in the stages changes. Two things are added:

  1. Stage 9 (backup/recovery) gains a real subject — the vault is a store V3 depends on, and it is one command from propagating an unreviewed restructure to production.
  2. The .solos remote (9.1) is correctly sequenced after the vault review, not before — Sol's point, and it holds.

Not established

  • The move was not fully mapped. 1,032 of 2,669 were traced by prefix; the rest were spot-checked, not exhaustively. A full HEAD-vs-disk diff is the review action above, and it has not been run.
  • The 76 no-disk-copy files were categorised by path, not read. They are in HEAD, so recoverable either way.
  • Nothing was committed or pushed. The state is exactly as found.
  • prod was not contacted. LAB rules put the production host off-limits to Min.
Copyright © 2026