From e4a55051cc3bbe75199e3141f826fadbd832968b Mon Sep 17 00:00:00 2001 From: mesh-tools Date: Thu, 15 Oct 2026 23:27:14 +0000 Subject: [PATCH] Cite ADR 0382 in the delivery design: a group's member is checked beside its siblings (issue 867) Co-Authored-By: Claude --- .../01-to-be/47-delivery-from-commit-to-delivered.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 94b59e00..e57c90ee 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 @@ -2,8 +2,9 @@ layer: to-be status: in-progress code: [mesh-controller, mesh-catalog modules/mesh-delivery] -updated: 2026-10-13 +updated: 2026-10-16 decisions: + - "ADR 0382" - "ADR 0350" - "ADR 0335" - "ADR 0323" @@ -371,6 +372,12 @@ only once it is built. group's members puts the composed check out of date: the group reads `checking` with the reason, and the composed check runs again once a member is judged again. Checked by mesh-delivery's `TestAGroupsComposedCheckGoesOutOfDateOnAMergeThatIsNotItsMember` and `TestARebasedMemberIsComposedAgainNotHeld`. +- **Each member's own check reads its siblings** (ADR 0382): the group's other open members into a base of + the same name are read beside a member's own check at their head merged onto their base, and a mesh-controller + sibling's merge judges it, so changes that are only consistent together pass their own checks. The controller + learns the siblings from mesh-delivery's `groups`; the verdict names each one. A sibling's new head, close or + base move puts that verdict out of date, and the merge tool merges such a member only when + `mesh/delivery-group` passed at the heads read and every sibling head read is reviewed. - **Delivering**: in order. A member waits in `published` until the one before is `delivered` or `covered`. A member published while its group's composed check is asked and not answered waits there for the answer; one held because that check had not passed is *lifted* back to `published` once it passes or warns for the -- 2.54.0