From 4710fd18c6fb393ccf37a8302dc7cea441ec3fc9 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 4 Nov 2026 00:10:40 +0100 Subject: [PATCH] Design 26: answer the first review (the seat list's grain as ADR 0613 has it; out of step cleared only by the same contracts module) Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig --- 03-DESIGN/01-to-be/26-the-seats.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/03-DESIGN/01-to-be/26-the-seats.md b/03-DESIGN/01-to-be/26-the-seats.md index 2e435973..10e165fa 100644 --- a/03-DESIGN/01-to-be/26-the-seats.md +++ b/03-DESIGN/01-to-be/26-the-seats.md @@ -189,8 +189,7 @@ way, in the milestone of ADR 0612 (ADR 0613 §1). `mesh-broker`. Every other seat, the foundation's included, has its definition on the bus in the same milestone, all at once (ADR 0608 §2), holding the seat list's grain: its name, whether it is held once or on every node, its verbs with their inputs and its provision, generated from the seat list mesh-sdk compiles today, so the move changes - nothing a reader sees (ADR 0613 §2). A verb this milestone adds to such a seat (`mesh-config`'s `renames`, - `mesh-vault`'s `retire`, design 32 § 8) is added at that grain. Its messages, events and state layouts are added to + nothing a reader sees (ADR 0613 §2). Its messages, events and state layouts are added to a seat's definition when its area's contract next changes, which moves that area's seats whole into its contracts module in that change (ADR 0613 §3); which area moves when is tracked by issue 167 (ADR 0613 §4). - **The seat set has one source.** The judge, the node-engine, the tool runner and claude-code each compile a copy of @@ -222,7 +221,7 @@ way, in the milestone of ADR 0612 (ADR 0613 §1). - **Findings**, written by the indexer, from which the condition keeper raises and clears the conditions (ADR 0564): a trunk's seat definition that does not parse, `seat-definition-unparsed` (a pull request's is its check's verdict, not a condition), cleared by a definition that parses; generated types on a trunk out of step with their definition, - `generated-types-out-of-step`, cleared by a clean build end. **Tools** of the indexer: `indexer_seat_definition` + `generated-types-out-of-step`, cleared only by a clean build end of the same contracts module. **Tools** of the indexer: `indexer_seat_definition` (read one), `indexer_seat_definitions_again` (read a trunk's or a pull request's again now) and `indexer_out_of_step` (the generated types out of step). - **Contracts modules.** A seat's contract is published by a contracts module, which holds contracts only (every file @@ -250,8 +249,9 @@ Acceptance tests: research 081's 14, 21, 25 and 26; a unit test that the generat mesh-sdk compiled before the move, entry for entry; mesh-sdk's seat-naming test; each build module's compare step failing on a differing, a missing and an unwritten file, naming each; the checker's `verdict` naming out-of-step files; and cases of the indexer's whole-module integration test: a trunk -definition that does not parse writes its finding and a fixed one clears it; a check verdict naming out-of-step types -writes the finding and a clean one clears it; `indexer_seat_definition` answers the trunk's entry while a pull request +definition that does not parse writes its finding and a fixed one clears it; a trunk build end naming out-of-step types +writes the finding, a clean build end of another contracts module leaves it, and a clean one of the same module clears +it; `indexer_seat_definition` answers the trunk's entry while a pull request holds another; a pull request's entries go when it closes; a definition over 256 KiB is refused; each of the three tools answers.