From 9294defef824af17ee3ebafcdf60c381b5aff32e Mon Sep 17 00:00:00 2001 From: mesh-tools Date: Fri, 16 Oct 2026 01:46:06 +0000 Subject: [PATCH] Register issue 867's replays: a delivery group's members checked beside each other (issue 867, ADR 0382) R867, R-issue867-recheck, R-issue867-recheck-verb and R-issue867-release-group name mesh-controller's replay867_test.go at the merges of #348, #350, #351 and #352; prove shows each failing before its fix and passing on it. Co-Authored-By: Claude --- replays/register.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/replays/register.go b/replays/register.go index e3e0e1a..b69b3c5 100644 --- a/replays/register.go +++ b/replays/register.go @@ -607,6 +607,48 @@ var Register = []Replay{ "registered as built and builds recorded with what they stood on", Package: "./cmd/mesh-controller", Test: "TestReplay614ANewSDKPlansTheToolchainAndThenItsBundles", Files: []string{"cmd/mesh-controller/replay614_test.go"}}, + // A mesh-host change and a mesh-controller change of one delivery group that need each other could not both pass + // their own merge checks (2026-10-16, issue 867): each was read beside the other's repository at the commit the mesh + // runs, which holds neither change. The fix (mesh-controller #348, hq ADR 0382) asks mesh-delivery's groups once per + // check and reads each sibling's repository at its merge. TestReplay867 runs the whole path — the forge's + // announcement, the controller's ask, the build seat's check with a container runtime that runs on this machine — + // for the pair, written with only what the controller and the build seat had before. Needs a store: + // MESH_TEST_POSTGRES. R-issue867-recheck, R-issue867-recheck-verb and R-issue867-release-group are the three defects found live in the same fix, each with its own merge. + {ID: "R867", Issue: 867, Kind: InRepository, Repository: "mesh-controller", + Fix: "a47976be4e699c35681be87c48ecfedd793374cd", + What: "a mesh-host change and a mesh-controller change of one delivery group, each needing the other, could not " + + "both pass their own merge check: each was read beside the other at the commit the mesh runs", + Asserts: "each member of a delivery group passes its own merge check, read beside the other member's head " + + "merged onto its base", + Package: "./cmd/mesh-controller", Test: "TestReplay867", Files: []string{"cmd/mesh-controller/replay867_test.go"}}, + // A recheck announces the pull request without its head branch, so its group was not found and the verdict said + // nothing of its siblings (mesh-controller #350): the group is found by repository and number. + {ID: "R-issue867-recheck", Issue: 867, Kind: InRepository, Repository: "mesh-controller", + Fix: "af60d2719c0c6c2f1ff44347037280d6ba5e72b4", + What: "a recheck of a group member read no siblings: it carries no head branch name, and the group was found by it", + Asserts: "a pull request announced as a recheck is, without its head branch, found in its group by repository " + + "and number, and passes beside its sibling", + Package: "./cmd/mesh-controller", Test: "TestReplay867Recheck", Files: []string{"cmd/mesh-controller/replay867_test.go"}}, + // `delivery check` runs as a command of its own, where the controller is not the serving one: it asked mesh-delivery + // on no bus ("this controller is not on the bus") and read no siblings (mesh-controller #351). + {ID: "R-issue867-recheck-verb", Issue: 867, Kind: InRepository, Repository: "mesh-controller", + Fix: "a07dd78c3e90335bbe06970799e9b36a142f68c9", + What: "the recheck verb asked mesh-delivery for the group on no bus connection and read no siblings", + Asserts: "`delivery check` with one member, on a test bus with a mesh-delivery answering groups, learns the " + + "sibling, asking once", + Package: "./cmd/mesh-controller", Test: "TestTheRecheckVerbAsksMeshDeliveryOnABusOfItsOwn", + Files: []string{"cmd/mesh-controller/replay867_test.go"}}, + // A release-branch group's composed check took the release judge, which cannot build a pair consistent only + // together (mesh-controller #352, hq ADR 0239 §14): the group's own controller judges, with the host member's + // validator. Both tests: the controller member primary, and the node-engine member primary with Judge validator. + {ID: "R-issue867-release-group", Issue: 867, Kind: InRepository, Repository: "mesh-controller", + Fix: "d70bb1f38867fad3595c96c7f7f2deb0b3ff501a", + What: "the composed check of a delivery group into a release branch was judged by the release branch's " + + "controller, which does not build with the pair's validator", + Asserts: "a group's composed check into a release branch is judged by the group's own controller with the " + + "mesh-host member's validator, and passes", + Package: "./cmd/mesh-controller", Test: "TestAGroupsComposition", + Files: []string{"cmd/mesh-controller/replay867_test.go"}}, } // Find is the replay of that id, or of that issue. -- 2.54.0