ADR 0290 rule 8 and to-be 55: a refresh repairs drafted records too, as a new version
This commit is contained in:
+7
-1
@@ -25,6 +25,10 @@ extends: 02-DECISIONS/0153-the-record-is-read-by-a-module-and-the-console-lists-
|
||||
> inference layer. Following that, the knowledge base now reviews a proposal itself, through a fresh judgement. Option 3 of
|
||||
> *How a record is reviewed*, rule 4, rule 6 and the consequences say so.
|
||||
|
||||
|
||||
> **Updated — 2026-10-11.** Rule 8 gains `refresh`: comparing every imported record with its file found fields the
|
||||
> first import did not hold and clauses read from the wrong list (issue 487). A refresh writes a new version and
|
||||
> overwrites nothing, so the rule's *never overwrites* stands.
|
||||
## Context
|
||||
|
||||
[Research 045](../01-RESEARCH/045-a-knowledge-base-the-mesh-writes/00-overview.md) measured, on 2026-10-11, how an
|
||||
@@ -150,7 +154,9 @@ rule 8 already decided that the issue tracker hands out decision and research nu
|
||||
([ADR 0041](0041-events-are-a-relationship.md)), carrying what changed and who changed it.
|
||||
8. **The import reads this repository at a commit and can run again.** It writes every decision record and research
|
||||
effort whole, at its own number, with the commit as its first version's source; it creates what is absent, never
|
||||
overwrites, never advances a counter, and a second run changes nothing and says so. A record whose clauses are
|
||||
overwrites, never advances a counter, and a second run changes nothing and says so. With `refresh` it re-reads a
|
||||
record nobody but the import and the knowledge base's own drafting has written, and writes what an earlier import
|
||||
misread as a new version naming why (to-be 55 §8). A record whose clauses are
|
||||
written as numbered statements gets them as `written`. A prose record gets them `drafted` by the agent's judgement
|
||||
([ADR 0278](0278-the-issue-tracker-checks-every-new-issue-for-a-duplicate-through-a-judgement-the-agent-makes-without-tools.md)),
|
||||
then `confirmed` by a second judgement that sees only the record and the drafts; the operator is told per topic and
|
||||
|
||||
@@ -156,8 +156,10 @@ advances a counter; a second run changes nothing and says so. Records written in
|
||||
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 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
|
||||
the import, a refresh, or the knowledge base's own drafting and confirming of clauses, 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. Clauses already drafted and confirmed are kept when the Decision section's text is unchanged, and
|
||||
drafted again when it changed. 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).
|
||||
|
||||
|
||||
Reference in New Issue
Block a user