Name the account whose own manager runs a unit (hq ADR 0254, issue 318) #55

Merged
mesh-admin merged 1 commits from fix/318-a-wait-for-a-person-is-not-a-failure into main 2026-10-08 12:41:06 +00:00
Contributor

A unit or a service in an account's own service manager now names that account in the health statement (account), and so does the account resource a module puts in a group.

Why: on 2026-10-08 the controller's gate could not tell openrazer's daemon unit, failing only because the running session lacks the new group, from a broken unit. It failed the send at its bound, put the build back and stalled every other walk (hq issue 318). With the account named, the controller reads relogin needed plus a unit in that same account's manager as a wait for a person (hq ADR 0254).

Test: cmd/mesh-host/units_test.go (a failed user unit and a liveness-judged user service name the account; the system manager's names none). merge-check.sh passes locally.

Merge order of the delivery group fix/318-a-wait-for-a-person-is-not-a-failure: this first, then mesh-controller, then mesh-lab, then hq. A controller before this engine is harmless: no unit names an account, so the gate judges as before.

A unit or a service in an account's own service manager now names that account in the health statement (`account`), and so does the account resource a module puts in a group. Why: on 2026-10-08 the controller's gate could not tell openrazer's daemon unit, failing only because the running session lacks the new group, from a broken unit. It failed the send at its bound, put the build back and stalled every other walk (hq issue 318). With the account named, the controller reads *relogin needed* plus a unit in that same account's manager as a wait for a person (hq ADR 0254). Test: `cmd/mesh-host/units_test.go` (a failed user unit and a liveness-judged user service name the account; the system manager's names none). `merge-check.sh` passes locally. Merge order of the delivery group `fix/318-a-wait-for-a-person-is-not-a-failure`: this first, then mesh-controller, then mesh-lab, then hq. A controller before this engine is harmless: no unit names an account, so the gate judges as before.
mesh-admin added 1 commit 2026-10-08 11:42:45 +00:00
Name the account whose own manager runs a unit, so a wait for a new login is not read as a fault (hq ADR 0254, issue 318)
mesh/merge-gate pass: builds mesh-host → ace, g14, novox, shanks; no bus step; every machine composes with the change as it did without (4 of 4 compose)
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
mesh/delivery-group group fix/318-a-wait-for-a-person-is-not-a-failure merged: every member is merged
9d8398206e
Author
Contributor

Delivery novox/mesh-host@9d8398206e5b — delivered since 2026-10-08T12:45:44Z

Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-host
  • ace: receives mesh-host
  • g14: receives mesh-host
  • novox: receives mesh-host
  • shanks: receives mesh-host

Group fix/318-a-wait-for-a-person-is-not-a-failure, in order: novox/hq@01e48196f7 → novox/mesh-controller@51d7bbfdc8 → novox/mesh-host@9d8398206e → novox/mesh-lab@1455d9560e

Machines

  • mesh-host on ace: passed — healthy 3 times over 2m27s
  • mesh-host on novox: judging — carried by plan-1791463298682194218
  • mesh-host on the rest running it: sent

Transitions

  • 2026-10-08 11:42 (new) → proposed (announced): novox/mesh-host#55's head announced
  • 2026-10-08 11:45 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 11:45 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed
  • 2026-10-08 11:52 rejected → proposed (recheck): TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered failed once with 'consumer is already bound to a subscription' in internal/link, which this change does not touch; it passes five times in a row under -race locally
  • 2026-10-08 11:55 proposed → checked (checked): the verdict names this commit
  • 2026-10-08 11:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-08 12:41 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-08 12:41 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
  • 2026-10-08 12:45 delivering → delivered (done): its walk is done: 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-host@9d8398206e5b` — **delivered** since 2026-10-08T12:45:44Z **Delivery plan** — builds mesh-host → ace, g14, novox, shanks; no bus step - tier 0: mesh-host - ace: receives mesh-host - g14: receives mesh-host - novox: receives mesh-host - shanks: receives mesh-host **Group** `fix/318-a-wait-for-a-person-is-not-a-failure`, in order: novox/hq@01e48196f747 → novox/mesh-controller@51d7bbfdc88c → novox/mesh-host@9d8398206e5b → novox/mesh-lab@1455d9560e1c - novox/mesh-controller@51d7bbfdc88c before novox/mesh-host@9d8398206e5b: built by, over engine before controller - composed together: pass — every machine composes with the change as it did without (4 of 4 compose) **Machines** - mesh-host on ace: passed — healthy 3 times over 2m27s - mesh-host on novox: judging — carried by plan-1791463298682194218 - mesh-host on the rest running it: sent **Transitions** - 2026-10-08 11:42 (new) → proposed (announced): novox/mesh-host#55's head announced - 2026-10-08 11:45 proposed → checked (checked): the verdict names this commit - 2026-10-08 11:45 checked → rejected (refused): the gate failed or could not run, or the repository's own check failed - 2026-10-08 11:52 rejected → proposed (recheck): TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered failed once with 'consumer is already bound to a subscription' in internal/link, which this change does not touch; it passes five times in a row under -race locally - 2026-10-08 11:55 proposed → checked (checked): the verdict names this commit - 2026-10-08 11:55 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-08 12:41 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-08 12:41 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 - 2026-10-08 12:45 delivering → delivered (done): its walk is done: 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`.
Author
Contributor

Merge check at 9d839820

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-host)
  • mesh/repo-check: FAIL — its merge-check.sh failed: --- FAIL: TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered (0.00s)

Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-host
  • ace: receives mesh-host
  • g14: receives mesh-host
  • novox: receives mesh-host
  • shanks: receives mesh-host

Run by the build seat on g14 as build-1791459769829780753 (builds --log build-1791459769829780753).

--- the gate: mesh-host
mesh-host: ok
long-running resources without health: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T11:31:31Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T11:31:31Z

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): mesh-host
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-host/cmd/mesh-bootstrap	1.027s
ok  	github.com/novox/mesh-host/cmd/mesh-host	5.305s
ok  	github.com/novox/mesh-host/examples	1.031s
ok  	github.com/novox/mesh-host/internal/accounts	1.028s
ok  	github.com/novox/mesh-host/internal/apply	3.173s
ok  	github.com/novox/mesh-host/internal/bootstrap	2.369s
ok  	github.com/novox/mesh-host/internal/bundle	1.015s
ok  	github.com/novox/mesh-host/internal/declaration	1.047s
ok  	github.com/novox/mesh-host/internal/firewall	2.021s
ok  	github.com/novox/mesh-host/internal/identity	2.112s
ok  	github.com/novox/mesh-host/internal/image	1.015s
ok  	github.com/novox/mesh-host/internal/inventory	1.039s
--- FAIL: TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered (0.00s)
    asking_nats_test.go:124: consumer is already bound to a subscription
FAIL
FAIL	github.com/novox/mesh-host/internal/link	9.735s
ok  	github.com/novox/mesh-host/internal/liveness	3.112s
ok  	github.com/novox/mesh-host/internal/network	1.275s
ok  	github.com/novox/mesh-host/internal/outward	1.124s
ok  	github.com/novox/mesh-host/internal/profile	1.500s
ok  	github.com/novox/mesh-host/internal/reachable	1.029s
ok  	github.com/novox/mesh-host/internal/store	2.150s
ok  	github.com/novox/mesh-host/internal/system	1.016s
ok  	github.com/novox/mesh-host/internal/tunnel	1.016s
ok  	github.com/novox/mesh-host/internal/units	1.010s
ok  	github.com/novox/mesh-host/internal/upgrade	1.079s
ok  	github.com/novox/mesh-host/internal/witness	1.534s
ok  	github.com/novox/mesh-host/packaging	1.013s
ok  	github.com/novox/mesh-host/validate	1.010s
FAIL
**Merge check** at `9d839820` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-host) - `mesh/repo-check`: **FAIL** — its merge-check.sh failed: --- FAIL: TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered (0.00s) **Delivery plan** — builds mesh-host → ace, g14, novox, shanks; no bus step - tier 0: mesh-host - ace: receives mesh-host - g14: receives mesh-host - novox: receives mesh-host - shanks: receives mesh-host Run by the build seat on g14 as `build-1791459769829780753` (`builds --log build-1791459769829780753`). ``` --- the gate: mesh-host mesh-host: ok long-running resources without health: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T11:31:31Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T11:31:31Z machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): mesh-host --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-host/cmd/mesh-bootstrap 1.027s ok github.com/novox/mesh-host/cmd/mesh-host 5.305s ok github.com/novox/mesh-host/examples 1.031s ok github.com/novox/mesh-host/internal/accounts 1.028s ok github.com/novox/mesh-host/internal/apply 3.173s ok github.com/novox/mesh-host/internal/bootstrap 2.369s ok github.com/novox/mesh-host/internal/bundle 1.015s ok github.com/novox/mesh-host/internal/declaration 1.047s ok github.com/novox/mesh-host/internal/firewall 2.021s ok github.com/novox/mesh-host/internal/identity 2.112s ok github.com/novox/mesh-host/internal/image 1.015s ok github.com/novox/mesh-host/internal/inventory 1.039s --- FAIL: TestNatsAnEnrolmentWithNoReplyAddressIsNotAnswered (0.00s) asking_nats_test.go:124: consumer is already bound to a subscription FAIL FAIL github.com/novox/mesh-host/internal/link 9.735s ok github.com/novox/mesh-host/internal/liveness 3.112s ok github.com/novox/mesh-host/internal/network 1.275s ok github.com/novox/mesh-host/internal/outward 1.124s ok github.com/novox/mesh-host/internal/profile 1.500s ok github.com/novox/mesh-host/internal/reachable 1.029s ok github.com/novox/mesh-host/internal/store 2.150s ok github.com/novox/mesh-host/internal/system 1.016s ok github.com/novox/mesh-host/internal/tunnel 1.016s ok github.com/novox/mesh-host/internal/units 1.010s ok github.com/novox/mesh-host/internal/upgrade 1.079s ok github.com/novox/mesh-host/internal/witness 1.534s ok github.com/novox/mesh-host/packaging 1.013s ok github.com/novox/mesh-host/validate 1.010s FAIL ```
Author
Contributor

Merge check at 9d839820

  • mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-host)
  • mesh/repo-check: PASS — its merge-check.sh passed

Delivery plan — builds mesh-host → ace, g14, novox, shanks; no bus step

  • tier 0: mesh-host
  • ace: receives mesh-host
  • g14: receives mesh-host
  • novox: receives mesh-host
  • shanks: receives mesh-host

Run by the build seat on novox as build-1791460355735796183 (builds --log build-1791460355735796183).

--- the gate: mesh-host
mesh-host: ok
long-running resources without health: 0
1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here
judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T11:31:31Z says they run
composing every machine as the mesh is
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
composing every machine with the change
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued
merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose)
judged by controller development build against the facts of 2026-10-08T11:31:31Z

machines:
  - a machine (f35): composes
  - holds mesh-dns-resolver (idt): composes
  - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes
  - a machine (yvbpsm): composes

a merge would rebuild 1 module(s) in 1 tier(s): mesh-host
--- its merge-check.sh (go toolchain)
ok  	github.com/novox/mesh-host/cmd/mesh-bootstrap	1.014s
ok  	github.com/novox/mesh-host/cmd/mesh-host	7.399s
ok  	github.com/novox/mesh-host/examples	1.019s
ok  	github.com/novox/mesh-host/internal/accounts	1.057s
ok  	github.com/novox/mesh-host/internal/apply	24.415s
ok  	github.com/novox/mesh-host/internal/bootstrap	2.811s
ok  	github.com/novox/mesh-host/internal/bundle	1.020s
ok  	github.com/novox/mesh-host/internal/declaration	1.060s
ok  	github.com/novox/mesh-host/internal/firewall	1.869s
ok  	github.com/novox/mesh-host/internal/identity	1.564s
ok  	github.com/novox/mesh-host/internal/image	1.024s
ok  	github.com/novox/mesh-host/internal/inventory	1.024s
ok  	github.com/novox/mesh-host/internal/link	10.364s
ok  	github.com/novox/mesh-host/internal/liveness	2.508s
ok  	github.com/novox/mesh-host/internal/network	1.090s
ok  	github.com/novox/mesh-host/internal/outward	1.013s
ok  	github.com/novox/mesh-host/internal/profile	1.468s
ok  	github.com/novox/mesh-host/internal/reachable	1.012s
ok  	github.com/novox/mesh-host/internal/store	1.958s
ok  	github.com/novox/mesh-host/internal/system	1.012s
ok  	github.com/novox/mesh-host/internal/tunnel	1.018s
ok  	github.com/novox/mesh-host/internal/units	1.008s
ok  	github.com/novox/mesh-host/internal/upgrade	2.788s
ok  	github.com/novox/mesh-host/internal/witness	30.985s
ok  	github.com/novox/mesh-host/packaging	1.009s
ok  	github.com/novox/mesh-host/validate	1.008s
**Merge check** at `9d839820` - `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-host) - `mesh/repo-check`: **PASS** — its merge-check.sh passed **Delivery plan** — builds mesh-host → ace, g14, novox, shanks; no bus step - tier 0: mesh-host - ace: receives mesh-host - g14: receives mesh-host - novox: receives mesh-host - shanks: receives mesh-host Run by the build seat on novox as `build-1791460355735796183` (`builds --log build-1791460355735796183`). ``` --- the gate: mesh-host mesh-host: ok long-running resources without health: 0 1 manifest(s) checked. Judged against the seats this binary carries; a claim on one of the mesh's own seats is judged fully at registration, and a seat declared by a module not given here reads as unknown. Identities judged on a 6-character machine name, against the bounds of the providers given here judging 0 module(s) changed against 4 machine(s), as the snapshot of 2026-10-08T11:31:31Z says they run composing every machine as the mesh is the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued composing every machine with the change the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued the bus's user list leaves out 5 user(s) the mesh has minted no credential for: controller, node.f35, node.idt, node.ygcyr, node.yvbpsm. Each is a user that cannot connect until one is issued merge gate: PASS — every machine composes with the change as it did without (4 of 4 compose) judged by controller development build against the facts of 2026-10-08T11:31:31Z machines: - a machine (f35): composes - holds mesh-dns-resolver (idt): composes - holds git, holds mesh-artifact-store, holds mesh-broker, holds mesh-catalog, holds mesh-delivery, holds mesh-dns-resolver, holds mesh-store, holds mesh-vault, holds npm-package-registry, the control node, the hub (ygcyr): composes - a machine (yvbpsm): composes a merge would rebuild 1 module(s) in 1 tier(s): mesh-host --- its merge-check.sh (go toolchain) ok github.com/novox/mesh-host/cmd/mesh-bootstrap 1.014s ok github.com/novox/mesh-host/cmd/mesh-host 7.399s ok github.com/novox/mesh-host/examples 1.019s ok github.com/novox/mesh-host/internal/accounts 1.057s ok github.com/novox/mesh-host/internal/apply 24.415s ok github.com/novox/mesh-host/internal/bootstrap 2.811s ok github.com/novox/mesh-host/internal/bundle 1.020s ok github.com/novox/mesh-host/internal/declaration 1.060s ok github.com/novox/mesh-host/internal/firewall 1.869s ok github.com/novox/mesh-host/internal/identity 1.564s ok github.com/novox/mesh-host/internal/image 1.024s ok github.com/novox/mesh-host/internal/inventory 1.024s ok github.com/novox/mesh-host/internal/link 10.364s ok github.com/novox/mesh-host/internal/liveness 2.508s ok github.com/novox/mesh-host/internal/network 1.090s ok github.com/novox/mesh-host/internal/outward 1.013s ok github.com/novox/mesh-host/internal/profile 1.468s ok github.com/novox/mesh-host/internal/reachable 1.012s ok github.com/novox/mesh-host/internal/store 1.958s ok github.com/novox/mesh-host/internal/system 1.012s ok github.com/novox/mesh-host/internal/tunnel 1.018s ok github.com/novox/mesh-host/internal/units 1.008s ok github.com/novox/mesh-host/internal/upgrade 2.788s ok github.com/novox/mesh-host/internal/witness 30.985s ok github.com/novox/mesh-host/packaging 1.009s ok github.com/novox/mesh-host/validate 1.008s ```
mesh-admin merged commit 800aabed83 into main 2026-10-08 12:41:06 +00:00
mesh-admin deleted branch fix/318-a-wait-for-a-person-is-not-a-failure 2026-10-08 12:41:07 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-host#55