Generated by luria index from this project’s luria.yaml — built, not edited. A table configured is a row here whether or not anyone remembered to describe it.
This is the shape this project gave the record machinery: the document
families it named, where entries are filed, where views are rendered, and what
to type to add one. It is a description of luria.yaml as configured, not of
what luria.yaml can hold — for the key-by-key schema, with defaults and
meanings, see Luria’s configuration reference.
Referable documents
A code — ADR-012 — resolves to a document, and every reference to it in this repository is checked. luria lint fails on a bare code that was never linked; luria link --fix writes the link so nobody has to know where the document renders.
| a code looks like | filed in | rendered to | in force when status is |
|---|---|---|---|
ADR-001 | record/decisions.d/ | docs/decisions/README.md + tag pages | Active |
DP-001 | record/principles.d/ | docs/design-principles.md (one page, read as a whole) | Active |
What each family is
A scheme’s own account of itself, where it gives one — title and blurb on schemes.X. The table above says where a family’s files live and how its codes are spelled; this says what the family is for, which is the part a reader needs first and the part a config could not previously state (#279).
What an entry must carry
Every entry carries title, tags and date, and one standard field is conditional: a retiring document names its successor — superseded_by: when status is Superseded, unless the scheme renames the pair (ADR-071). status itself is listed below rather than assumed: the words are the scheme’s own, declared like any other controlled vocabulary. Beyond those, what each scheme’s entries must carry — compiled from luria.yaml into the contract luria lint checks, with where each obligation was declared. A finding cites the same line.
ADR
status— optional, one ofActive,Proposed,Deferred,Superseded,Rejected(luria.yaml: schemes.ADR.fields.status; vocabulary ‘statuses’: values)tags— required, one or more ofrecord,mechanism,process,docs,load-bearing(luria.yaml: schemes.ADR.fields.tags; vocabulary ‘decision-tags’: values)
DP
status— optional, one ofActive,Proposed,Deferred,Superseded,Rejected(luria.yaml: schemes.DP.fields.status; vocabulary ‘statuses’: values)tags— required (luria.yaml: schemes.DP.fields.tags)
Journals
Dated observations. An entry is true about the day it was written and is never revised or consumed — the books are a view over sources that stay, which is what makes a journal safe to write into without coordinating.
| journal | entries filed at | books rendered to | one book per | titled |
|---|---|---|---|---|
devlog | record/devlog.d/ yyyy/mm/dd/hhmmss.md | docs/devlog/ | month | Development log |
Fragment directories
One file per contribution, assembled into a single document and then consumed. The point is the absence of a shared file to conflict on: every contributor writes a new path.
| directory | assembled into | style |
|---|---|---|
record/changelog.d/ | CHANGELOG.md | changelog |
Other projects this record cites
A prefixed code reaches into another project’s record, so a citation says whose decision it is at the point of use rather than leaving the reader to guess.
| cited as | project | repository | ref |
|---|---|---|---|
SG-DP-001 | strata-g | dmarx/strata-g | main |
LU-DP-001 | luria | dmarx/luria | main |
FX-ADR-001 | fixtures | — | main |
Filing something new
Every kind this project scaffolds, straight from the dispatch table luria new itself uses.
| command | files |
|---|---|
luria new --kind adr --title "…" | a document in the ADR scheme, numbered for you |
luria new --kind changelog --title "…" | a fragment in record/changelog.d/ |
luria new --kind devlog --title "…" — or just luria new --title "…", the default kind | a dated entry in the devlog journal |
luria new --kind dp --title "…" | a document in the DP scheme, numbered for you |
luria new --kind migration --title "…" | a migration spec |
Settings this project changed
Everything not listed here is at Luria’s default.
| key | this project | Luria’s default |
|---|---|---|
issue_url | https://github.com/dmarx/luria/issues/{n} | empty |
code.globs | luria/*.py, tests/*.py, .github/workflows/*.yml, actions/**/*.yml, template/**/*.yml, template/**/*.md, template/**/*.stub, examples/**/*.yaml | empty |
lint.fail_on | workflow-temp-codes | empty |
include_records | examples/* | empty |
site.exclude | template/** | empty |
site.icon | assets/branding/luria-brainslug/luria_project_memory_icon.svg | empty |
site.logo | assets/branding/luria-brainslug/luria_project_memory_lockup_horizontal.svg | empty |
site.theme | 2 keys set | empty |
vocabularies.decision-tags | 5 keys set | unset |
vocabularies.statuses | 5 keys set | unset |