diff --git a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md index b9fa6ffe..afe743bd 100644 --- a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md +++ b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md @@ -619,7 +619,7 @@ From its delivery, a check is this: ### A try: a delivery group's check at exact commits *ADR 0637, ADR 0638; ADR 0593 §7, §9, ADR 0636 §4, ADR 0548 §5, ADR 0596 §1 to §3, ADR 0615, ADR 0639 §1 to -§6, §9.* +§6, §10.* A try says beforehand whether a check will pass. It is the check's own code run on commits nobody pushed to a pull request, and it owes the forge nothing. @@ -709,7 +709,7 @@ pull request, and it owes the forge nothing. retry on the next try event and by `indexer_recover_tries`); the checker's try test shows the retry until acknowledgement, `try.ended` after a restart, the whole list of open tries (more than 64), the verdicts kept by a try of some tests and of one level, the reason a waiting try gives, and an ended try's record kept 7 days and - removed after; the checker's manifest test shows that only its account publishes `try.*` (ADR 0639 §9). The registry group's review finds no copy of the shared + removed after; the checker's manifest test shows that only its account publishes `try.*` (ADR 0639 §10). The registry group's review finds no copy of the shared names. Live, the registry group is tried whole before its push, and the checker's try read names each member, the composition per node and every failure (ADR 0637 §9); during that try `indexer_try_candidates` reads its candidate, and after `try.ended` it is gone (ADR 0638). @@ -782,7 +782,7 @@ pull request, and it owes the forge nothing. ### Taken in by the indexer it names *ADR 0633 with its progressive insights of 2026-11-05, which changes ADR 0603 §1, §4, §6 and §9; ADR 0639 §7, §8, -which change ADR 0633 §1; ADR 0636 §4, ADR 0614 §8, ADR 0601 §3, ADR 0632 §2, ADR 0441 §3, §4, ADR 0564 §2, ADR 0595 +which change ADR 0633 §1, and ADR 0639 §9, §10; ADR 0636 §4, ADR 0614 §8, ADR 0601 §3, ADR 0632 §2, ADR 0441 §3, §4, ADR 0564 §2, ADR 0595 §11, ADR 0596 §3, ADR 0615.* A change that brings a new manifest validator is judged by that validator: nothing else of it reaches the @@ -849,8 +849,10 @@ timer. A group's merges arrive together. (take the pending revisions, or a group gathered so far, in with the running indexer, when the named indexer can never run or the group's end never comes) and `indexer_drop_pending` (drop a pending merge a later one replaced), and the forge bridge's `bridge_groups` (read the groups it holds open) and `bridge_group_end_again` (publish a - group's end again from the gate's `merges` state) (ADR 0633 §5). A hand take-in emits `take-in.taken` as any - take-in does, so the condition clears (ADR 0633 §5). + group's end again from the gate's `merges` state) (ADR 0633 §5). Both of the indexer's hand acts emit + `take-in.taken`: a hand take-in as any take-in does, and a hand drop naming the drop, for a merge whose wait was + said pending, so the watchman's `take-in-waits` clears; a drop of a merge never said pending emits none (ADR 0633 + §5, ADR 0639 §9). - **The check refuses an indexer the running parts could not move.** For a change to the indexer's own module, the check validates the new indexer's manifest, found as the manifest that claims the seat `mesh-catalog`, with the trunk's manifest validator in its sandbox and the seat definitions of the members' heads, and refuses the change @@ -865,7 +867,8 @@ timer. A group's merges arrive together. bounds and its seeding, the view, the gate passing the end by, and each hand act; three cases cover the seat definitions of the revision (accepted without a built-in seat list, a refusal in `refused`, the check accepting the same candidate); and rows for an own build fixed at start (a composition answer that differs changes - nothing) and for `take-in.pending` with `own build unknown` (ADR 0639 §9). Live, the registry group's merge shows in `indexer_pending` waiting for the new indexer and + nothing), for `take-in.pending` with `own build unknown`, and for a hand drop (a merge said pending emits + `take-in.taken` naming the drop, one never said pending emits none) (ADR 0639 §10). Live, the registry group's merge shows in `indexer_pending` waiting for the new indexer and is taken in when that indexer starts, and no node-engine reads distribution's new entry before the new indexer's hold: `node_manifest_reads` and `indexer_holds` on every node (ADR 0633, How it is checked). @@ -1541,7 +1544,7 @@ answers it: | Domain | Found | Answered by | |---|---|---| | seams | the indexer said to read none of the checker's state, while it reads the checker's previews and the checker watches its candidates; the forge bridge's read of the gate's `merges` unmarked | *A try* (two reads that stay under ADR 0596 §3 until issue 1966); *Taken in by the indexer it names* (the bridge's read marked the same) | -| tools | the try's tools not listed against the four lines; the hand acts not said to clear the condition | *A try* (the table of the checker's and the indexer's tools, `indexer_recover_tries` new); *Taken in* (a hand take-in emits `take-in.taken`; a hand drop is open) | +| tools | the try's tools not listed against the four lines; the hand acts not said to clear the condition | *A try* (the table of the checker's and the indexer's tools, `indexer_recover_tries` new); *Taken in* (both hand acts emit `take-in.taken`, ADR 0639 §9) | | bus forms | the form of `pending` and the try events' contract unsaid | *Taken in* (`pending` in the old form the grants part creates); *A try* (the package `tryevent` of mesh-delivery's sdk) | | running qualities | `checker_tries` not answering; the new indexer before the new checker in this release; a lost try event; what a narrowed try keeps; a recovery cut at 64; how long tries are kept; a try waiting for its candidate | *A try* (nothing deleted, asked again, said in `indexer_try_candidates`, the ordering edge; publish with retry, `try.ended` on every end; the narrowed try's verdicts; every open try listed; 7 days; the reason in the try read, bounded by the step bound) | | testing | ADR 0633's live case on the node-engines' reads lost; no live case for ADR 0638 | *Taken in* (`node_manifest_reads` and `indexer_holds` on every node); *A try* (the candidate read during the registry group's try, gone after `try.ended`) |