Vault structure
A vault is a directory tree of Markdown files plus a .cuaderno/ config folder. cdno init creates
the whole layout; here’s what each part holds.
vault/
├── journal/
│ └── 2026/ # partitioned by (ISO) year
│ ├── daily/
│ │ └── 2026-04-25.md # type: daily (append-only)
│ └── weekly/
│ └── 2026-W17.md # type: weekly (append-only)
│
├── projects/
│ ├── surrogate-model.md # type: project (mutable)
│ ├── _parked/ # parked projects: complete maps that don't count
│ │ └── bayesian-opt.md
│ └── _done/
│ └── 2025/ # closed projects: completed or dropped
│ └── thesis-chapter-2.md
│
├── actions/
│ ├── characterise-sampler.md # type: action (manifest form)
│ └── _done/
│ └── 2026/ # completed actions, partitioned by year
│ └── run-ablation.md
│
├── portfolios/
│ └── sparse-vs-dense-ood/
│ ├── _index.md # type: portfolio
│ ├── 2026-03-15-chen-2025.md # type: evidence (append-only)
│ └── 2026-04-01-ablation-b.md
│
├── stewardships/
│ ├── finances.md # type: stewardship (flat)
│ └── health/ # expanded variant
│ ├── _index.md # type: stewardship
│ ├── tracking/ # type: tracking entries (append-only)
│ │ └── 2026-04-06-gym.md
│ └── routines/ # reference docs, not logs
│ └── upper-body-a.md
│
├── commitments/
│ ├── pay-rent.md # type: commitment
│ └── _done/
│ └── 2026/ # fulfilled commitments
│
├── questions/
│ ├── research/
│ │ └── surrogate-cost.md # type: question (domain: research)
│ └── life/
│ └── apartment-as-home.md # type: question (domain: life)
│
├── concepts/ # the concept library (a custom type `cdno init` declares)
│ ├── woodbury-identity.md # type: concept (mutable, refined in place)
│ └── linear-algebra.md # a hub note: mostly links
│
├── inbox/ # raw captures awaiting triage
│
└── .cuaderno/
├── config.toml # vault configuration
├── index.db # SQLite index cache (auto-created, rebuildable)
└── templates/ # note templates (override the built-ins)
Conventions worth knowing
_parked/(projects) and_done/(projects, actions, commitments) prefix folders hold inactive or finished notes. The underscore keeps them sorted out of the way and signals “not the active set.”_done/is partitioned by year so the active folders stay scannable.projects/_parked/holds complete maps that are set aside: they take every plan write (actions, state, milestones, waiting-on), keep their hard dates in the commitments register, and do not count toward the cap. You read them at the monthly review. A handed-off project (held_by:in its frontmatter) stays in whichever folder it was in; only the name changes. See Business rules._index.mdis the identity note of a folder — theportfolionote inside a portfolio folder, thestewardshipnote inside an expanded stewardship folder.tracking/inside a stewardship holds time-series entries;routines/holds prescriptive reference documents (a workout plan, a checklist) — those are not logs.concepts/is flat by design: tags and links, including hand-written hub notes, give it structure. See The concept library.- Stewardships have two shapes: a flat
stewardships/<slug>.md, or an expandedstewardships/<slug>/folder. Only expanded ones can hold tracking entries.
.cuaderno/
config.toml— vault settings: the method version the vault follows ([vault] method_version), the project cap, the holder deny-list ([projects] holder_sentinels), ignore globs, template behaviour, schema extensions, variables. See Configuration.index.db— a SQLite cache of the vault, used for fast search, linting, and link queries. It is rebuilt automatically when it’s stale (see Business rules); deleting it is safe. The Markdown files are always the source of truth.templates/— the note templatescdnofills when scaffolding a note. The built-ins are written here atinitso you can edit them; pure variable substitution, no logic.
Next: Business rules.