From 6f54a162e95241d101c3e4c6d1278fa09bca1bc9 Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 29 Oct 2026 00:42:23 +0100 Subject: [PATCH] Playbook 07: rules for a delivery group's mesh-sdk pins, learned on 2026-10-28, so the next group does not meet the same refusals --- 00-META/process/07-feature-branches.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 4efea1f2..33c5c847 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -403,6 +403,21 @@ issue whether it is being fixed in between, after the delivery, or waits, and on moved to include it): one Approve, one delivery. The old Approve ask closes itself on the new head and the new head is asked once its checks pass. How it is checked: a follow-up that sits in a second pull request while the first still waits shows in `gitea.gitea_list_pull_requests` as two open pull requests of one lead. +6. **A member pins mesh-sdk only at a commit that is a pull request's head**, merged or open (2026-10-28: the check + refused a pin to a merge commit on main as "on no pull request", though its tree equalled the head's). How it is + checked: the check's pin step; a refusal "on no pull request" is this rule skipped. +7. **Two groups that pin the same module's mesh-sdk conflict in `go.mod` and `go.sum`.** The group that merges + second merges main in and re-pins once, to a pull request head that holds both changes, after the first group + is merged and not before (a re-pin before makes the first group conflict). How it is checked: the check's merge + step; a group that conflicts after the first one merged is this rule skipped. +8. **A group that adds a seat, a verb or a manifest field in mesh-sdk and uses it in a module's manifest in the + same group cannot pass its check** until the running assigner pins a mesh-sdk that defines it, because the + check composes with the running assigner's mesh-sdk (issue 1585). The assigner's pin ships first, as its own + release. How it is checked: the check's composition step; a composition refusing the new word in such a group + is this rule skipped. +9. **A new head on an open pull request needs its `Reviewed-by` line at that head before the Approve is asked, + even for a pin-only commit.** How it is checked: the Approve's ask names the review record + (item 5); an ask whose line names another commit is this rule skipped. **One exception: a catalog change that uses a new manifest word.** The catalog's merge check reads manifests with the controller the mesh runs, so the controller's pull request is merged and delivered first;