Issue 1493: the controller composed brother's settings.json on shanks from its template alone, with the operator's scanner, printer and printer-certificate empty, although mesh-config resolves them. readSettings asked SettingsFor only for modules with a row in the legacy settings table; a module registered after the move of config (ADR 0348, issue 664) has none.
The fix: modulesToRead takes every shelf module with a settings row, plus every config-form module whose ReadsConfig is true. What a module reads is unchanged.
Tests: TestSettingsAreReadForAConfigModuleWithoutASettingsRow (unit, fails on main) and TestAConfigModuleWithoutASettingsRowIsReadFromConfig (integration). mesh-controller.try build-1792527030225726980 passed at 7adadf756d merged into 073ccc29c6 (6m48s).
Follow-up, not in this change: issue 1498 (a required taken value nothing sets composes empty instead of being refused).
Issue 1493: the controller composed brother's settings.json on shanks from its template alone, with the operator's scanner, printer and printer-certificate empty, although mesh-config resolves them. readSettings asked SettingsFor only for modules with a row in the legacy settings table; a module registered after the move of config (ADR 0348, issue 664) has none.
The fix: modulesToRead takes every shelf module with a settings row, plus every config-form module whose ReadsConfig is true. What a module reads is unchanged.
Tests: TestSettingsAreReadForAConfigModuleWithoutASettingsRow (unit, fails on main) and TestAConfigModuleWithoutASettingsRowIsReadFromConfig (integration). mesh-controller.try build-1792527030225726980 passed at 7adadf756dfe merged into 073ccc29c603 (6m48s).
Follow-up, not in this change: issue 1498 (a required taken value nothing sets composes empty instead of being refused).
Reviewed-by: reviewer@shanks at 7adadf756dfe19c034758e4da1509ea3afe40750
mesh/merge-gate head 7adadf756dfe merged into trunk 073ccc29c603 — pass: builds mesh-controller → novox; no bus step; every machine composes with the chang…
Deliverynovox/mesh-controller@7adadf756dfe — delivered since 2026-10-20T20:28:47Z
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
Transitions
2026-10-20 20:17 (new) → proposed (announced): novox/mesh-controller#410's head announced
2026-10-20 20:26 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
2026-10-20 20:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-20 20:27 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-20 20:27 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-20 20:28 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@7adadf756dfe` — **delivered** since 2026-10-20T20:28:47Z
**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
**Transitions**
- 2026-10-20 20:17 (new) → proposed (announced): novox/mesh-controller#410's head announced
- 2026-10-20 20:26 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
- 2026-10-20 20:26 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-20 20:27 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-20 20:27 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-20 20:28 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 1493: the controller composed brother's settings.json on shanks from its template alone, with the operator's scanner, printer and printer-certificate empty, although mesh-config resolves them. readSettings asked SettingsFor only for modules with a row in the legacy settings table; a module registered after the move of config (ADR 0348, issue 664) has none.
The fix: modulesToRead takes every shelf module with a settings row, plus every config-form module whose ReadsConfig is true. What a module reads is unchanged.
Tests: TestSettingsAreReadForAConfigModuleWithoutASettingsRow (unit, fails on main) and TestAConfigModuleWithoutASettingsRowIsReadFromConfig (integration). mesh-controller.try build-1792527030225726980 passed at
7adadf756dmerged into073ccc29c6(6m48s).Follow-up, not in this change: issue 1498 (a required taken value nothing sets composes empty instead of being refused).
Reviewed-by: reviewer@shanks at
7adadf756dDelivery
novox/mesh-controller@7adadf756dfe— delivered since 2026-10-20T20:28:47ZDelivery 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
7adadf75Judged: head
7adadf756dfemerged into trunk073ccc29c603; read beside it: mesh-catalog59f8c9be0090, mesh-controller-main073ccc29c603, mesh-hostce1b97ad973d, mesh-tools18260ce9becamesh/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-1792527457659974671(builds --log build-1792527457659974671).