# Cameron's vault

Curated organizational layer over Cameron's work. **Pointers, not code.** All
canonical code, checkpoints, and data stay in their existing lab paths
(`/data/cameron/para/...`, `/home/robot-lab/cameron/...`,
`~/Projects/robotics_testing/...` on Mac, etc.). This vault holds the markdown
indexes that say *which* of those paths is current, what the conventions are,
and what's running.

## Structure

```
vault/
├── README.md              ← this file
├── memory.md              ← cross-cutting conventions (apply everywhere)
├── life-stuff/            ← life_manager territory
├── fleet/                 ← the agent system itself
│   ├── overview.md        ← agent roster + status
│   ├── agents/<name>/     ← per-agent {overview, tasks, memory}.md
│   └── infra/             ← dashboard, cron, scrollback, omidlab routes
├── tri/                   ← TRI infrastructure (SSH chain, machines, contacts)
└── para/                  ← the research project
    ├── overview.md        ← current SOTA, what's running, what's blocked
    ├── goals.md           ← paper narrative, pitch, long-term vision
    ├── tasks.md           ← active workstreams
    ├── memory.md          ← PARA-specific conventions
    ├── paper/{writing,figures,notes}/
    ├── model/{code,experiments,viz}/
    └── robot/{yam,so100,panda}/
```

## File-type conventions

Each project node (a directory with its own scope) has up to four files at its root:

| File | Purpose | When to update |
|---|---|---|
| `overview.md` | Current state of this slice — what's working, what's broken, current SOTA, headline metric | After any non-trivial change to that state |
| `tasks.md` | Active workstreams, open questions, immediate next milestones | When tasks are added, completed, or reprioritized |
| `memory.md` | Hard-won conventions and gotchas for this slice ("we use bf16 here", "rotation = PCA-1D mode", "always view the output image before declaring success") | When you learn something non-obvious — append, don't rewrite |
| `INDEX.md` | For sub-projects with multiple code/script files: list canonical scripts vs deprecated, with one-line descriptions and pointers to lab paths | When the canonical script changes |

Sub-nodes that don't justify all four can have just `overview.md` or a single `<topic>.md`.

## Versioning convention

- **`v1/`, `v2/`, `v3/` subdirs**: only for substantive architectural changes ("different approach to the same problem"). Each gets its own folder with code references + result notes.
- **`archive/` subdir**: dead variants. Move v1 here when v2 supersedes it. Out-of-sight = out-of-agent's-mental-model.
- **Iterative refinements**: stay in place, use git history. Don't create v2/ for a 3-line fix.

## Depth cap

Cap nodes at **3 levels deep** under any project root. Beyond that, prefer
flat markdown files (`para/robot/yam/calibration.md` rather than
`para/robot/yam/calibration/v3/notes.md`).

## Edited where

This vault lives at `/data/cameron/vault/` on the lab server and is git-versioned. Cameron
edits via Obsidian on his Mac (synced via Obsidian Git plugin, see fleet/infra/vault-sync.md when set up).
Agents edit by writing to files in this tree as part of normal task completion.

## Top-level rule

If your information would still be true tomorrow, write it down here. If it's a
running monolog of in-flight chatter, that belongs in inbox/outbox under
`/data/cameron/agents_stuff/agents/<name>/`, not the vault.
