Docs The living-notes system

The living-notes system

A structured notes/ tree that keeps each repository self-documenting.

Every repository keeps a structured notes/ directory so that anyone opening it — including an AI assistant working without prior context — can orient quickly. The canonical machine copy of this standard is in the repository at hub/standards/notes-system.md, with a ready-to-copy skeleton in hub/templates/notes-skeleton/.

Structure

Path Purpose
status.md Current state only — health, what’s in flight, what’s next. The starting point.
sessions/ The history: one file per working day (YYYY-MM/YYYY-MM-DD.md).
version.md + version/ The changelog — one plain-English entry per commit.
context/ Background that changes rarely: project, architecture, principles.
systems/ The system map.
reference/ Quick-lookup material with no narrative.
decisions/ Choices made and choices rejected.
plans/ What’s next.

The inline-changelog rule

Each changelog entry is written inside the commit it describes, not in a later commit. This avoids a recursion the older “document the previous commits” approach created, where the documentation commit itself needed documenting. Because a commit cannot contain its own hash, inline entries carry no hash marker; git blame locates the commit instead.

A living document

The notes are updated as work happens, by default — not on request. Each kind of information has one home and one trigger, and the structure is meant to grow: when something does not fit an existing file, a new file is added in the right place rather than forcing it somewhere it does not belong.