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 likefiled inrendered toin force when status is
ADR-001record/decisions.d/docs/decisions/README.md + tag pagesActive
DP-001record/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 of Active, Proposed, Deferred, Superseded, Rejected (luria.yaml: schemes.ADR.fields.status; vocabulary ‘statuses’: values)
  • tags — required, one or more of record, mechanism, process, docs, load-bearing (luria.yaml: schemes.ADR.fields.tags; vocabulary ‘decision-tags’: values)

DP

  • status — optional, one of Active, 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.

journalentries filed atbooks rendered toone book pertitled
devlogrecord/devlog.d/ yyyy/mm/dd/hhmmss.mddocs/devlog/monthDevelopment 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.

directoryassembled intostyle
record/changelog.d/CHANGELOG.mdchangelog

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 asprojectrepositoryref
SG-DP-001strata-gdmarx/strata-gmain
LU-DP-001luriadmarx/luriamain
FX-ADR-001fixtures—main

Filing something new

Every kind this project scaffolds, straight from the dispatch table luria new itself uses.

commandfiles
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 kinda 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.

keythis projectLuria’s default
issue_urlhttps://github.com/dmarx/luria/issues/{n}empty
code.globsluria/*.py, tests/*.py, .github/workflows/*.yml, actions/**/*.yml, template/**/*.yml, template/**/*.md, template/**/*.stub, examples/**/*.yamlempty
lint.fail_onworkflow-temp-codesempty
include_recordsexamples/*empty
site.excludetemplate/**empty
site.iconassets/branding/luria-brainslug/luria_project_memory_icon.svgempty
site.logoassets/branding/luria-brainslug/luria_project_memory_lockup_horizontal.svgempty
site.theme2 keys setempty
vocabularies.decision-tags5 keys setunset
vocabularies.statuses5 keys setunset