A module the catalogue no longer holds ends deleted instead of failing the plan; vendor/ goes; tests name verbs that exist (issues 1922, 1305, 1931)
#449
Merged
jschoubbenmerged 3 commits from fix/1922-removed-module into main2026-10-23 23:47:05 +00:00
Issue 1922: a delivery plan failed for good when its own merge removed a module from the catalogue (it asked the removed module, and a retry asked it again). Now such a module ends deleted (counted complete, skipped by the gate, walkSends and sayUnsent); a failed catalogue read still fails; the unsent hint names release-backlog.
Issue 1305: the committed vendor/ directory is deleted; builds resolve by go.sum (go build ./... 9.7 s, go mod verify clean).
Issue 1931: three integration tests named verbs and flags R4g removed (queue, clear, replay); they now name doctor and doctor run, still testing that a read writes no journal line and that a JSON true becomes the switch.
Tests: unit suite passes (13.8 s wall; cmd/mesh-controller 3.3 s uncached, over the 2 s guideline, said, not cut: issue 1921); go vet -tags integration ./... clean; integration level not run by hand.
Later (not in this change): reconnects_integration_test.go:55 still calls the refused queue; askModule's doc comment (release_plan.go:382-383) predates the fix.
After its delivery the operator may Retry the failed R4g plan plan-1792777718506798022 ('mesh-tools is no longer in the catalogue').
Temporary build -> publish -> deliver mode (issue 1921 note 13): the operator merges by hand.
Reviewed-by: review-1922@shanks at 343e271ec7
Pushed-by: lead-47@shanks
- Issue 1922: a delivery plan failed for good when its own merge removed a module from the catalogue (it asked the removed module, and a retry asked it again). Now such a module ends deleted (counted complete, skipped by the gate, walkSends and sayUnsent); a failed catalogue read still fails; the unsent hint names release-backlog.
- Issue 1305: the committed vendor/ directory is deleted; builds resolve by go.sum (`go build ./...` 9.7 s, `go mod verify` clean).
- Issue 1931: three integration tests named verbs and flags R4g removed (queue, clear, replay); they now name `doctor` and `doctor run`, still testing that a read writes no journal line and that a JSON true becomes the switch.
Tests: unit suite passes (13.8 s wall; cmd/mesh-controller 3.3 s uncached, over the 2 s guideline, said, not cut: issue 1921); `go vet -tags integration ./...` clean; integration level not run by hand.
Later (not in this change): reconnects_integration_test.go:55 still calls the refused `queue`; askModule's doc comment (release_plan.go:382-383) predates the fix.
After its delivery the operator may Retry the failed R4g plan plan-1792777718506798022 ('mesh-tools is no longer in the catalogue').
Temporary build -> publish -> deliver mode (issue 1921 note 13): the operator merges by hand.
Reviewed-by: review-1922@shanks at 343e271ec794dd0f622328dcb1ffaa1a1cdb4de9
Pushed-by: lead-47@shanks
Deliverynovox/mesh-controller@343e271ec794 — delivered since 2026-10-23T23:52:57Z
Delivery plan — builds mesh-controller, route-proxy → ace, novox; no bus step
tier 0: mesh-controller, route-proxy
ace: receives route-proxy
novox: receives mesh-controller, route-proxy
route-proxy provides route: its consumers are sent again after it
route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy is judged on its first machine
Machines
mesh-controller on every machine running it: sent
route-proxy on every machine running it: sent
Transitions
2026-10-23 23:42 (new) → proposed (announced): novox/mesh-controller#449's head announced
2026-10-23 23:47 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
2026-10-23 23:47 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's plans go
2026-10-23 23:52 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-controller@343e271ec794` — **delivered** since 2026-10-23T23:52:57Z
**Delivery plan** — builds mesh-controller, route-proxy → ace, novox; no bus step
- tier 0: mesh-controller, route-proxy
- ace: receives route-proxy
- novox: receives mesh-controller, route-proxy
- route-proxy provides route: its consumers are sent again after it
- route-proxy keeps data (ADR 0233): what it holds is backed up before it moves
- grants step: if this changes what the bus's user list says (a new tool, subject or user), novox is sent that list alone, every build there kept, before route-proxy is judged on its first machine
**Machines**
- mesh-controller on every machine running it: sent
- route-proxy on every machine running it: sent
**Transitions**
- 2026-10-23 23:42 (new) → proposed (announced): novox/mesh-controller#449's head announced
- 2026-10-23 23:47 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on
- 2026-10-23 23:47 held → delivering (go): its walk started on a word that was not this owner's: the controller's own path, which waits for nobody, or a person's `plans go`
- 2026-10-23 23:52 delivering → delivered (done): its walk is done, carrying its own commit: every machine of its deploy plan passed, or was left as its policy says
The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
go build ./...9.7 s,go mod verifyclean).doctoranddoctor run, still testing that a read writes no journal line and that a JSON true becomes the switch.Tests: unit suite passes (13.8 s wall; cmd/mesh-controller 3.3 s uncached, over the 2 s guideline, said, not cut: issue 1921);
go vet -tags integration ./...clean; integration level not run by hand.Later (not in this change): reconnects_integration_test.go:55 still calls the refused
queue; askModule's doc comment (release_plan.go:382-383) predates the fix.After its delivery the operator may Retry the failed R4g plan plan-1792777718506798022 ('mesh-tools is no longer in the catalogue').
Temporary build -> publish -> deliver mode (issue 1921 note 13): the operator merges by hand.
Reviewed-by: review-1922@shanks at
343e271ec7Pushed-by: lead-47@shanks
Delivery
novox/mesh-controller@343e271ec794— delivered since 2026-10-23T23:52:57ZDelivery plan — builds mesh-controller, route-proxy → ace, novox; no bus step
Machines
Transitions
plans goThe commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.