Skip to content

Vault layout

Folders are for you to browse, never for search to use. recall ignores them entirely. One carve-out: folders starting with _ or . hold control files, and both search and check skip them, so don’t put notes there. That frees the folders to be an honest map of your life.

The layout

Three kinds of folder, each with a real reason to exist, and you pick your own set of life-areas. Tap any row for what it holds.

  • vault/ everything search sees
  • at the root the vault's own bookkeeping: a map, a primer, a timeline, the tag list
  • entities one home each, everything else links here
  • One note per human you deal with.

    people/<name>.md

    A rename moves the old name into aliases and keeps the file, so nothing that links here breaks.

  • life-areas you pick the set, most content lives here
  • forms split out by how you use them, not by topic

How the model writes a note

The model makes the call itself.

  1. 1

    Is it a person, org, or holding (an owned thing whose state you track)?

    File it in the entity folder, whatever the topic.

    • people/
    • orgs/
    • holdings/
  2. 2

    Is it a dated event, a lesson learned, or a project with a status?

    Those have their own folders.

    • events/
    • mistakes/
    • projects/
  3. 3

    Otherwise it is topical.

    File it by life-area.

    • identity/
    • health/
    • finances/
    • work/
    • life/
    • + your own

What carries the meaning

The meaning rides in a few short labels at the top of every note, so a note keeps what it means even when it moves.

vault/german-tax-classes.md
---
domain: finances mirrors the folder
summary: How the German tax classes pair up one line, written at ingest
---
# German tax classes the H1 is the title

A note in a life-area folder also names that area in the header (domain:), and check complains when the folder and the field disagree. That covers the shipped set and any area you add yourself, once you name it under ## Domains in vault/_folders.md.

A folder you share

Some things belong to more than one person: the flat, the bills, the dates you both need. A mount is a folder inside vault/ holding a tree kept somewhere else, usually a small shared repo two people check out at the same path. Name it under ## Mounts in vault/_folders.md and check stops asking its notes to link into your graph, because their graph lives on the other side. A mount can carry its own _folders.md, so its folders follow its rules, and its snapshots sit in <mount>/_raw/.

Sharing a note is moving it. imprnt vault move life/flat household/life puts the note in the shared folder, deletes the private copy, rewrites every link to it, and prints who can read it now. There is no copy verb, on purpose: two copies of one fact drift apart. The move refuses a note whose source: points into your private raw/, or whose links to people or organizations have no answer inside the mount. Afterwards check reports seam-leak for a shared note whose link resolves only in your vault, and seam-dead-source for one still pointing at your private snapshots.

Tags grow on their own

_tags.md holds your tags and a synonym map, and the list grows with no approval step.

  1. 1
    the model tags it

    It picks the best tag that fits, and coins a new one if none does.

  2. 2
    check syncs the list

    Every tag your notes use lands in _tags.md, along with the synonym map.

  3. 3
    check flags lookalikes you

    Near-duplicate spellings get surfaced for you to merge.

    • finance
    • finances

Coining is automatic, but picking the winning name is a judgment call, so that last step stays yours.

The data is the knowledge

the one rule of filing

Filing adds, it never removes.

recall searches vault/ only, so anything left behind in raw/ (the folder of untouched originals) is invisible to it. The note has to carry the source's real payload in full: tables, lists, IDs, numbers, dates, prices, doses, exact wording. The summary goes on top of that, never in place of it.

the note that loses it
# health insurance

Premiums went up this year.

full table: see the source file

The numbers stayed behind in raw/, where search never looks.

the note that keeps it
# health insurance

Premiums went up this year.

basic89 → 104 /mo
plus129 → 151 /mo

The rows ride in the note, so any question about them has an answer.

The test before a note is done: could you answer a specific question from the vault note alone, without opening the original? If the answer is only in raw/, you dropped the knowledge. Put it back.

MIT licensed. © 2026 Aleksandr Bogdanov.