diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 1e477732..8419316f 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -53,13 +53,16 @@ One feature is **one branch name**, **one worktree per repo**, **one MR per repo "Keep the assignments on the bus (issue 652)". No pull request, merge check, review or delivery per issue. -4. **Finish, then publish.** When the whole feature is done — every repo, tests green — push - every branch and open **one MR per touched repo**, together. - - Each repository's change gets one independent review before its MR opens; the checks run once, - on those MRs, and the feature is delivered as one delivery plan. MRs in two or more repositories - that share the branch name are one delivery group (ADR 0239 §2); a feature in one repository is - one delivery. +4. **Finish, review, then publish.** When the whole feature is done — every repo, tests green — + each repository's change gets one independent review **of the local commits, before anything + is pushed**. A push starts the forge's checks (building the modules and running every test, up + to a quarter of an hour), so a review finding fixed after a push costs another full run. The + reviewer reads the feature worktree. Once the review approves, push every branch and open + **one MR per touched repo**, together; the checks run once, on those MRs, and the feature is + delivered as one delivery plan. MRs in two or more repositories that share the branch name are + one delivery group (ADR 0239 §2); a feature in one repository is one delivery. A small change + outside a feature (a playbook, a design) goes the same way: review the local commit, then push + once. 5. **Merge promptly, once approved.** Every merge into `main` is notified and approved (ADR 0023); once it is, merge —