Describe a milestone as one delivery group released by one plan, and make a fix found during it ride in the group
mesh/merge-gate head 0162e04f9275 merged into trunk d5d821220494 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 0162e04f9275 merged into trunk d5d821220494 — pass: its merge-check.sh passed
mesh/delivery delivered

This commit is contained in:
2026-10-21 18:08:58 +02:00
parent 37a01b93a5
commit 0162e04f92
3 changed files with 20 additions and 16 deletions
+7 -2
View File
@@ -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
+10 -11
View File
@@ -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 '<issue>/AC<n>'`); 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 <clone> branch --show-current`); another branch there is a
fix built outside a worktree (issue 1010).
+3 -3
View File
@@ -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/<issue>-<slug> 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/<issue>-<slug> 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.",