diff --git a/02-DECISIONS/0248-the-decision-index-is-generated-when-it-is-read-and-never-stored.md b/02-DECISIONS/0248-the-decision-index-is-generated-when-it-is-read-and-never-stored.md index 3d6728a9..dedbc9db 100644 --- a/02-DECISIONS/0248-the-decision-index-is-generated-when-it-is-read-and-never-stored.md +++ b/02-DECISIONS/0248-the-decision-index-is-generated-when-it-is-read-and-never-stored.md @@ -11,10 +11,10 @@ supersedes-in-part: # 248. The decision index is generated when it is read, and never stored > **The mechanism changed — 2026-10-11, by [ADR 0290](0290-a-decision-record-lives-whole-in-the-knowledge-base-made-of-clauses.md).** -> What still stands: the index is generated when it is read and never stored, in the reading order of the topics. -> What moved: it is generated by the knowledge base (`knowledge-base.holds` per topic, `ask`, `get`) from the records -> it holds, not by the records module from this repository's files; the records module's `records_decisions` is -> retired and names those verbs (issue 488). +> What still stands: what is decided is answered when it is asked, and no list of records is stored. What moved: the +> records left this repository's files for the knowledge base (ADR 0290), so the records module, which reads only +> files, can no longer answer it; the knowledge base does, through `holds` (a topic's clauses in force), `ask` and +> `get`. The records module's `records_decisions` is retired and names those verbs (issue 488). ## Context diff --git a/03-DESIGN/01-to-be/55-the-knowledge-base.md b/03-DESIGN/01-to-be/55-the-knowledge-base.md index 2b679fe1..43252d95 100644 --- a/03-DESIGN/01-to-be/55-the-knowledge-base.md +++ b/03-DESIGN/01-to-be/55-the-knowledge-base.md @@ -69,8 +69,8 @@ the records module, as the issue tracker's import does. | `changes` | a clause or a record → a clause it replaces part of | | `extends` | a record → a record it builds on | | `became` | a research effort → a decision record or design | -| `rests-on` | a record → a record its decision rests on | -| `touches` | a research effort → a record or area it bears on (a record by link, an area as text) | +| `rests-on` | a decision → a decision it stands on | +| `touches` | a research effort → a record, issue or design it bears on (by link), or an area (as text) | | `cites` | any record → any record or issue it names | ## 3. Clauses @@ -155,8 +155,8 @@ whole, at its own number, as its first version, naming the commit. It creates wh advances a counter; a second run changes nothing and says so. Records written in this repository after the import, while the first slice does not take writes yet, are taken in by running it again. -**Refresh.** `import` with `refresh` re-reads, at the commit given, every record whose only versions were written by -the import, and writes the corrected record as a new version naming why; a record anyone else wrote a version of is +**Refresh.** `import` with `refresh` re-reads, at the commit given, every record whose versions were all written by +the import or a refresh, with nothing waiting over it, and writes the corrected record as a new version naming why; a record anyone else wrote a version of is never touched. It repairs what an earlier import misread (issue 487) and is idempotent: a second run changes nothing. `dry-run` lists what it would change. Once this repository holds no records, `import` refuses rather than reporting nothing created (issue 488).