From c6fc663019b5cccd872ecc7956bba36770588806 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 21 Oct 2026 18:04:49 +0200 Subject: [PATCH 1/3] Make a small fix in mesh-sdk or mesh-controller ride with the milestone's release, so each is delivered once per milestone --- 00-META/process/07-feature-branches.md | 2 ++ 00-META/process/08-small-fixes.md | 12 ++++++++++++ 00-META/process/playbooks.html | 6 +++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index cdc22723..1a13b2d6 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -57,6 +57,8 @@ opened once and delivered once. It is never cut into steps for its size or for t merge check, an Approve and a delivery plan of waiting, so the fewest cuts is the fastest. Milestones are cut by release order when the design is broken up (playbook [04](04-build-handoff.md)); a release-order dependency found inside a milestone is a fault of that cut, said to the operator, never a silent extra step. +mesh-sdk and mesh-controller each have one release per milestone: a small fix in either rides with it, as +playbook [08](08-small-fixes.md) says. **One design is built at a time** (the operator, 2026-10-17). While the milestones of one design are being built, no milestone of another design starts: its issues stay `open`, and nobody moves them to `diagnosing` or diff --git a/00-META/process/08-small-fixes.md b/00-META/process/08-small-fixes.md index 92d94a15..52548325 100644 --- a/00-META/process/08-small-fixes.md +++ b/00-META/process/08-small-fixes.md @@ -16,6 +16,15 @@ hour is a feature. **Who runs it.** Anyone who writes code, engineers and agents alike. +**A fix to mesh-sdk or mesh-controller rides with the milestone's release** (the operator, 2026-10-21, after a day +with ten mesh-sdk merges, each rebuilding about forty dependent modules, and eight mesh-controller merges, each +sending a delivery to every node). Playbook [07](07-feature-branches.md) makes a milestone one release; mesh-sdk +and mesh-controller each have one release per milestone, and a small fix in either does not merge alone. It is +built on a branch of its own as above, but merged into the running milestone's release branch of that repository +and reviewed there with the rest of the release. The exception is a fault that is broken for the operator now +(something they see failing at this moment): it goes alone as a small fix, and the lead's report says why. With no +milestone running in that repository, the fix starts one release of its own. + ## The aim A small fix spends its time on the fix, and runs the long part once: **one try before the review, one review, one check run, @@ -117,5 +126,8 @@ reading itself and uses one subagent only for the review. (`git grep -n '/AC'`); one without is step 1 skipped. - An issue in `fixing` with nobody on it shows in `issue-tracker.list` with `flag: abandoned`; a stopped fix moves it back to `open` with its note. +- A fix in mesh-sdk or mesh-controller is named in the lead's report with the release it rides with, or with the + reason it went alone; `mesh-delivery.deliveries` shows at most one merge of each of these repositories per + milestone, plus the reported exceptions. A second merge without a reported reason is this rule skipped. - The repository's own clone says `main` (`git -C branch --show-current`); another branch there is a fix built outside a worktree (issue 1010). diff --git a/00-META/process/playbooks.html b/00-META/process/playbooks.html index c2c8494a..365f89fc 100644 --- a/00-META/process/playbooks.html +++ b/00-META/process/playbooks.html @@ -473,11 +473,11 @@ const P = [ {n:"08",name:"Small fixes",kind:"build",c:"--build", trig:"One issue in one repository, about an hour of work.", who:"The session, with one reviewer on the larger model.", - steps:["Read the issue and the code; settle any open question.","Write the acceptance criteria.","Move the issue to fixing.","Build on fix/- in its own worktree.","A test that fails today first, on behaviour. (new)","Push and try before the review. (new)","One review of the commit and its try.","Push the reviewed head; open the pull request.","The operator's Approve; the merge; the delivery plan.","Prove the fix live and resolve the same hour."], + steps:["Read the issue and the code; settle any open question.","Write the acceptance criteria.","Move the issue to fixing.","Build on fix/- in its own worktree.","A test that fails today first, on behaviour. (new)","Push and try before the review. (new)","One review of the commit and its try.","Push the reviewed head; open the pull request.","The operator's Approve; the merge; the delivery plan.","Prove the fix live and resolve the same hour.","In mesh-sdk or mesh-controller: ride with the milestone's release, unless broken for the operator now. (new)"], prod:"One pull request, one delivery, a resolved issue.", next:"—",bounds:"About an hour · one try before the review, one review, one check", - prev:["A fix reviewed after its pull request opened","A long part run twice","A fix waiting on someone else's delivery"], - check:"The forge's checks; the review record; the tracker's move."}, + prev:["A fix reviewed after its pull request opened","A long part run twice","A fix waiting on someone else's delivery","Ten SDK merges and eight controller merges in a day"], + check:"The forge's checks; the review record; the tracker's move; one merge of each shared repository per milestone."}, {n:"09",name:"Cleanup",kind:"side",c:"--side", trig:"The operator asks, or merged branches, stale pull requests and old worktrees pile up.", who:"A session on the operator's word; the operator decides every deletion.", -- 2.54.0 From 37a01b93a5bf456cc82b34e96faece0dfaa90b69 Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 21 Oct 2026 18:05:07 +0200 Subject: [PATCH 2/3] Use the glossary's word for the milestone's branch --- 00-META/process/08-small-fixes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/00-META/process/08-small-fixes.md b/00-META/process/08-small-fixes.md index 52548325..62050f49 100644 --- a/00-META/process/08-small-fixes.md +++ b/00-META/process/08-small-fixes.md @@ -20,7 +20,7 @@ hour is a feature. with ten mesh-sdk merges, each rebuilding about forty dependent modules, and eight mesh-controller merges, each sending a delivery to every node). Playbook [07](07-feature-branches.md) makes a milestone one release; mesh-sdk and mesh-controller each have one release per milestone, and a small fix in either does not merge alone. It is -built on a branch of its own as above, but merged into the running milestone's release branch of that repository +built on a branch of its own as above, but merged into the running milestone's branch of that repository (playbook 07's shared feature branch) and reviewed there with the rest of the release. The exception is a fault that is broken for the operator now (something they see failing at this moment): it goes alone as a small fix, and the lead's report says why. With no milestone running in that repository, the fix starts one release of its own. -- 2.54.0 From 0162e04f92752e86e2c277ef3af0c019b85fc00d Mon Sep 17 00:00:00 2001 From: jochen Date: Wed, 21 Oct 2026 18:08:58 +0200 Subject: [PATCH 3/3] Describe a milestone as one delivery group released by one plan, and make a fix found during it ride in the group --- 00-META/process/07-feature-branches.md | 9 +++++++-- 00-META/process/08-small-fixes.md | 21 ++++++++++----------- 00-META/process/playbooks.html | 6 +++--- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/00-META/process/07-feature-branches.md b/00-META/process/07-feature-branches.md index 1a13b2d6..442d6498 100644 --- a/00-META/process/07-feature-branches.md +++ b/00-META/process/07-feature-branches.md @@ -57,8 +57,13 @@ opened once and delivered once. It is never cut into steps for its size or for t merge check, an Approve and a delivery plan of waiting, so the fewest cuts is the fastest. Milestones are cut by release order when the design is broken up (playbook [04](04-build-handoff.md)); a release-order dependency found inside a milestone is a fault of that cut, said to the operator, never a silent extra step. -mesh-sdk and mesh-controller each have one release per milestone: a small fix in either rides with it, as -playbook [08](08-small-fixes.md) says. +A milestone is one piece of functionality, possibly spanning several modules, repositories and dependencies such as +an SDK change (the operator, 2026-10-21). Its pull requests in every repository share the milestone's branch name, +so they are one delivery group (ADR 0482, which holds that a change across repositories is one group, one plan and +one Approve, and that its developer orders no release). Nothing of the milestone merges until every issue of it is +built, reviewed and checked; then the one Approve and one tiered delivery plan release it all, the plan's tiers +keeping a dependency such as the SDK before its dependents. A small fix found during the milestone rides in this +group, as playbook [08](08-small-fixes.md) says. **One design is built at a time** (the operator, 2026-10-17). While the milestones of one design are being built, no milestone of another design starts: its issues stay `open`, and nobody moves them to `diagnosing` or diff --git a/00-META/process/08-small-fixes.md b/00-META/process/08-small-fixes.md index 62050f49..11f887fb 100644 --- a/00-META/process/08-small-fixes.md +++ b/00-META/process/08-small-fixes.md @@ -16,14 +16,13 @@ hour is a feature. **Who runs it.** Anyone who writes code, engineers and agents alike. -**A fix to mesh-sdk or mesh-controller rides with the milestone's release** (the operator, 2026-10-21, after a day -with ten mesh-sdk merges, each rebuilding about forty dependent modules, and eight mesh-controller merges, each -sending a delivery to every node). Playbook [07](07-feature-branches.md) makes a milestone one release; mesh-sdk -and mesh-controller each have one release per milestone, and a small fix in either does not merge alone. It is -built on a branch of its own as above, but merged into the running milestone's branch of that repository (playbook 07's shared feature branch) -and reviewed there with the rest of the release. The exception is a fault that is broken for the operator now -(something they see failing at this moment): it goes alone as a small fix, and the lead's report says why. With no -milestone running in that repository, the fix starts one release of its own. +**A fix found during a milestone rides in that milestone's group** (the operator, 2026-10-21, after a day with ten +mesh-sdk merges, each rebuilding about forty dependent modules, and eight mesh-controller merges, each sending a +delivery to every node). Playbook [07](07-feature-branches.md) makes a milestone one piece of functionality +released once as one delivery group (ADR 0482). A small fix in a repository the running milestone touches, mesh-sdk +and mesh-controller above all, is built as below but on the milestone's branch, so its pull request joins the group +and merges with it. The exception is a fault that is broken for the operator now (something they see failing at +this moment): it goes alone as a small fix, and the lead's report says why. ## The aim @@ -126,8 +125,8 @@ reading itself and uses one subagent only for the review. (`git grep -n '/AC'`); one without is step 1 skipped. - An issue in `fixing` with nobody on it shows in `issue-tracker.list` with `flag: abandoned`; a stopped fix moves it back to `open` with its note. -- A fix in mesh-sdk or mesh-controller is named in the lead's report with the release it rides with, or with the - reason it went alone; `mesh-delivery.deliveries` shows at most one merge of each of these repositories per - milestone, plus the reported exceptions. A second merge without a reported reason is this rule skipped. +- A fix found during a milestone is named in the lead's report with the group it rides in, or with the reason it + went alone. `mesh-delivery.deliveries` shows the milestone's members in one group and one delivery plan per + milestone; a merge of mesh-sdk or mesh-controller outside the group, with no reported reason, is this rule skipped. - The repository's own clone says `main` (`git -C branch --show-current`); another branch there is a fix built outside a worktree (issue 1010). diff --git a/00-META/process/playbooks.html b/00-META/process/playbooks.html index 365f89fc..7a84f58b 100644 --- a/00-META/process/playbooks.html +++ b/00-META/process/playbooks.html @@ -473,11 +473,11 @@ const P = [ {n:"08",name:"Small fixes",kind:"build",c:"--build", trig:"One issue in one repository, about an hour of work.", who:"The session, with one reviewer on the larger model.", - steps:["Read the issue and the code; settle any open question.","Write the acceptance criteria.","Move the issue to fixing.","Build on fix/- in its own worktree.","A test that fails today first, on behaviour. (new)","Push and try before the review. (new)","One review of the commit and its try.","Push the reviewed head; open the pull request.","The operator's Approve; the merge; the delivery plan.","Prove the fix live and resolve the same hour.","In mesh-sdk or mesh-controller: ride with the milestone's release, unless broken for the operator now. (new)"], + steps:["Read the issue and the code; settle any open question.","Write the acceptance criteria.","Move the issue to fixing.","Build on fix/- in its own worktree.","A test that fails today first, on behaviour. (new)","Push and try before the review. (new)","One review of the commit and its try.","Push the reviewed head; open the pull request.","The operator's Approve; the merge; the delivery plan.","Prove the fix live and resolve the same hour.","During a milestone: ride in its delivery group, unless broken for the operator now. (new)"], prod:"One pull request, one delivery, a resolved issue.", next:"—",bounds:"About an hour · one try before the review, one review, one check", - prev:["A fix reviewed after its pull request opened","A long part run twice","A fix waiting on someone else's delivery","Ten SDK merges and eight controller merges in a day"], - check:"The forge's checks; the review record; the tracker's move; one merge of each shared repository per milestone."}, + prev:["A fix reviewed after its pull request opened","A long part run twice","A fix waiting on someone else's delivery","Ten SDK merges and eight controller merges in a day, one per fix"], + check:"The forge's checks; the review record; the tracker's move; one delivery group and one delivery plan per milestone."}, {n:"09",name:"Cleanup",kind:"side",c:"--side", trig:"The operator asks, or merged branches, stale pull requests and old worktrees pile up.", who:"A session on the operator's word; the operator decides every deletion.", -- 2.54.0