From 8e7609841214772f0c7fe5ea6a1f8792235274d7 Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 18 Oct 2026 17:04:38 +0200 Subject: [PATCH 1/2] Playbook 02: after three review rounds the lead fixes further findings itself and proposes again; only a finding that changes what was decided goes to the operator (the operator, 2026-10-18) --- 00-META/process/02-graduation.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/00-META/process/02-graduation.md b/00-META/process/02-graduation.md index 63d6578a..9796d730 100644 --- a/00-META/process/02-graduation.md +++ b/00-META/process/02-graduation.md @@ -94,7 +94,10 @@ about an hour, and said to the operator if it runs past. deferral no issue tracks. The knowledge base then reviews the proposal itself, through a judgement that sees only the record, the records it links and the rules, and answers `approve` or `changes`. On `changes` the record stays proposed with the findings: revise it by proposing it again, whole, with `why`; - at most three rounds, then the findings go to the operator with a recommendation. + after three rounds the lead does not stop to ask, but fixes each further finding itself and proposes again + (the operator, 2026-10-18: ADR 0429 went past three rounds, each finding narrower than the last, and asking + first only added a wait). Only a finding that would change what was decided, rather than how the record + says it, goes to the operator, with a recommendation. On `approve` it is accepted, or, when it says `needs-operator`, it waits for the operator's Approve on a channel that proves who answered. Nothing proposed is in force. `knowledge-base.get` shows a record's reviews and the operator's ask when it waits for one. @@ -163,4 +166,5 @@ when one fails. In this repository, `records.py` checks that a design's `decisio "ADR NNNN" in the text are well formed, and that no record is written here; `index.py` checks the reading order's six topics, which the knowledge base reads. The three habits of graduating step 2 (side by side, clauses from the direction, the pre-check) are the lead's, read by the reviewer; `propose` refuses a link to nothing, -a deferral no issue tracks and a retired word, and the review returns a record named but not linked. +a deferral no issue tracks and a retired word, and the review returns a record named but not linked. The rounds are read in `knowledge-base.get` (its reviews, one per version): a question to the operator +about a record's wording after its third round is the failure of step 4. -- 2.54.0 From d0a2950bb0c0be8cfc1ce794e86ce0c2979281f9 Mon Sep 17 00:00:00 2001 From: jochen Date: Sun, 18 Oct 2026 17:05:46 +0200 Subject: [PATCH 2/2] Playbook 02: wrap the check line and name the step it means (review round 1) --- 00-META/process/02-graduation.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/00-META/process/02-graduation.md b/00-META/process/02-graduation.md index 9796d730..b0bd9371 100644 --- a/00-META/process/02-graduation.md +++ b/00-META/process/02-graduation.md @@ -166,5 +166,6 @@ when one fails. In this repository, `records.py` checks that a design's `decisio "ADR NNNN" in the text are well formed, and that no record is written here; `index.py` checks the reading order's six topics, which the knowledge base reads. The three habits of graduating step 2 (side by side, clauses from the direction, the pre-check) are the lead's, read by the reviewer; `propose` refuses a link to nothing, -a deferral no issue tracks and a retired word, and the review returns a record named but not linked. The rounds are read in `knowledge-base.get` (its reviews, one per version): a question to the operator -about a record's wording after its third round is the failure of step 4. +a deferral no issue tracks and a retired word, and the review returns a record named but not linked. +The rounds are read in `knowledge-base.get` (its reviews, one per version): a question to the operator about a +record's wording after its third round is the failure of step 4 of *Writing a decision record*. -- 2.54.0