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.",