From b0a9fa14daf94894fec36be6b204cae669e56bfd Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 4 Nov 2026 17:49:32 +0100 Subject: [PATCH] Playbook 07: a group's pin is for GOWORK=off; the check builds against the group's heads (ADR 0573), so an older pin is not refused The line said the checker refuses an older commit of the same branch; that refusal was removed as a fault of the check (issue 1585). Found pinning the registry milestone, where mesh-sdk and mesh-contracts import each other. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig --- 00-META/process/07-feature-branches.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 41f7637e..2070e463 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -377,8 +377,11 @@ is a breach the lead names. **While a group is being checked, nothing else is merged or pushed into a repository that is one of its members:** a moved main asks the group's check again. How it is checked: the lead's wait list names the group's members, and `mesh-delivery.show` shows one check per head. - **A group is one check.** Before the push, every member pins the group's own mesh-sdk head exactly (the checker refuses an - older commit of the same branch), then all members are pushed and opened together, so the group's check runs once. A head the review replaces + **A group is one check.** Before the push, every member pins the group's own package heads (mesh-sdk, and any other + package a member publishes) so it builds with `GOWORK=off`; the check itself builds against the group's heads whatever a + member's go.mod names (ADR 0573 §2, §4), so an older pin is not refused there, but the trunk builds after the merge read + the go.mod as written. Two members that import each other are pinned in order, each to the other's commit before its own + pin. Then all members are pushed and opened together, so the group's check runs once. A head the review replaces counts for nothing against a running check; say so, and ask no other until the new head is reviewed. **Before a session trusts an agent's "pushed", it reads the forge branch's head** (`git ls-remote origin refs/heads/`) and compares it with the commit reviewed; an agent may commit on a detached HEAD and report a push that never happened (2026-10-26: the first check of a reviewed fix failed "not our ref"). The pull request is opened only on that read head. Pull requests in two or more repositories that share the branch name are one delivery group (ADR 0239 §2).