Issue a bus process's account when its module is assigned or gains it, and warn of one still missing instead of composing it silently (issue 1226)
#427
Merged
mesh-toolsmerged 6 commits from fix/1226-issue-process-accounts into main2026-10-21 17:53:47 +00:00
Issue 1226, met three times (mesh-mail send 10-19, brother device 10-20, only-office converter 10-21 after design 60 F3's delivery, 162 restarts until issued by hand): a bus process added to an assigned module got no account, and the push delivered a random stand-in.
The account is now issued without a hand step: after RegisterModule records a delivery (takeIn, build.go), for every machine running the module, and on assign (issueOnAssign no longer returns early), issuing only what is not yet minted.
A process account still not issued at compose is warned of, naming mesh-controller.issue <node> <module>, in the push's answer or the journal; the rest of the machine is composed and sent. Leaving that one module off its machine instead of composing the stand-in needs the SDK's left-out reasons: issue 1753.
Tests: 1226/AC1 and AC3 (unit, process_accounts_test.go; failed first), AC2 and AC4 (integration, process_accounts_integration_test.go: AC2 drives takeIn and asserts the issued account's row has origin accepted, not a made stand-in). Review: three rounds (a whole-machine refusal replaced by the warning; criteria revised on the issue; AC2 made to tell an issued account from a stand-in). Try build-1792603721104753432 passed (6m37s).
Issue 1226, met three times (mesh-mail send 10-19, brother device 10-20, only-office converter 10-21 after design 60 F3's delivery, 162 restarts until issued by hand): a bus process added to an assigned module got no account, and the push delivered a random stand-in.
- The account is now issued without a hand step: after RegisterModule records a delivery (takeIn, build.go), for every machine running the module, and on assign (issueOnAssign no longer returns early), issuing only what is not yet minted.
- A process account still not issued at compose is warned of, naming `mesh-controller.issue <node> <module>`, in the push's answer or the journal; the rest of the machine is composed and sent. Leaving that one module off its machine instead of composing the stand-in needs the SDK's left-out reasons: issue 1753.
Tests: 1226/AC1 and AC3 (unit, process_accounts_test.go; failed first), AC2 and AC4 (integration, process_accounts_integration_test.go: AC2 drives takeIn and asserts the issued account's row has origin accepted, not a made stand-in). Review: three rounds (a whole-machine refusal replaced by the warning; criteria revised on the issue; AC2 made to tell an issued account from a stand-in). Try build-1792603721104753432 passed (6m37s).
Reviewed-by: review-fts@shanks at 181b579ac6ea3290e999cdef7d84a9617ab16213
mesh/merge-gate head 181b579ac6ea merged into trunk 22c9815f6522 — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
Deliverynovox/mesh-controller@181b579ac6ea — delivered since 2026-10-21T18:20:15Z
Delivery plan — builds mesh-controller → novox; no bus step
tier 0: mesh-controller
novox: receives mesh-controller
Machines
mesh-controller on every machine running it: sent
build-agent on every machine running it: sent
Transitions
2026-10-21 17:42 (new) → proposed (announced): novox/mesh-controller#427's head announced
2026-10-21 17:52 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-21 17:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-21 18:16 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-21 18:16 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
2026-10-21 18:20 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@181b579ac6ea` — **delivered** since 2026-10-21T18:20:15Z
**Delivery plan** — builds mesh-controller → novox; no bus step
- tier 0: mesh-controller
- novox: receives mesh-controller
**Machines**
- mesh-controller on every machine running it: sent
- build-agent on every machine running it: sent
**Transitions**
- 2026-10-21 17:42 (new) → proposed (announced): novox/mesh-controller#427's head announced
- 2026-10-21 17:52 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-21 17:52 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-21 18:16 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-21 18:16 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
- 2026-10-21 18:20 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.
Issue 1226, met three times (mesh-mail send 10-19, brother device 10-20, only-office converter 10-21 after design 60 F3's delivery, 162 restarts until issued by hand): a bus process added to an assigned module got no account, and the push delivered a random stand-in.
mesh-controller.issue <node> <module>, in the push's answer or the journal; the rest of the machine is composed and sent. Leaving that one module off its machine instead of composing the stand-in needs the SDK's left-out reasons: issue 1753.Tests: 1226/AC1 and AC3 (unit, process_accounts_test.go; failed first), AC2 and AC4 (integration, process_accounts_integration_test.go: AC2 drives takeIn and asserts the issued account's row has origin accepted, not a made stand-in). Review: three rounds (a whole-machine refusal replaced by the warning; criteria revised on the issue; AC2 made to tell an issued account from a stand-in). Try build-1792603721104753432 passed (6m37s).
Reviewed-by: review-fts@shanks at
181b579ac6Delivery
novox/mesh-controller@181b579ac6ea— delivered since 2026-10-21T18:20:15ZDelivery plan — builds mesh-controller → novox; no bus step
Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
181b579aJudged: head
181b579ac6eamerged into trunk22c9815f6522; read beside it: mesh-catalogc3564c1accf3, mesh-controller-main22c9815f6522, mesh-hostc231d1031fc7, mesh-toolse0fadc43d9ddmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-controller)mesh/repo-check: PASS — its merge-check.sh passedDelivery plan — builds mesh-controller → novox; no bus step
Run by the build seat on ace as
build-1792604574068088249(builds --log build-1792604574068088249).