Issue 400, decided in hq ADR 0285 (hq pull request on branch feat/400-alert-names-its-issue).
modules/mesh-issues: new seat verb issue-tracker.tracking — for every condition key an issue links (link kind condition), or the keys asked, the issues that link it, not closed first, at most 10 per key: number, status, severity, needs, worker with since/active/stale, and fix (not-merged, merged, held, failed, unheard, delivered; FixState, in DeliveryLine's order). Read-only; carries no title, report or note.
modules/messenger: invokes seat:issue-tracker.tracking outside the work (at most once a minute, 5 s timeout, answer used 10 minutes); every condition's message (raised, reopened, reminder, escalated, quiet reminder) says the tracking line below the explanation; "Nothing for you to do." becomes "Needs you: answer issue N." while an issue waits for the operator and is left out while nobody works on any issue tracking it; clearings, silences and notices say none; a tracker without an answer for 10 minutes is said as "could not be checked". What is sent and when does not change.
Tests: one per wording row (tracking_test.go in each module), the verdict cases, the router's ask/keep/expire through its event and tick, the content rule over every line, FixState per state, and the verb's answer carrying no secret-shaped note. go test -race green in both modules; the words check passes.
Rollout: messenger and mesh-issues on the control-node (leaf modules). The messenger's bus grant for the new verb is composed from invokes.
Issue 400, decided in hq ADR 0285 (hq pull request on branch feat/400-alert-names-its-issue).
- modules/mesh-issues: new seat verb `issue-tracker.tracking` — for every condition key an issue links (link kind `condition`), or the keys asked, the issues that link it, not closed first, at most 10 per key: number, status, severity, needs, worker with since/active/stale, and `fix` (not-merged, merged, held, failed, unheard, delivered; `FixState`, in DeliveryLine's order). Read-only; carries no title, report or note.
- modules/messenger: invokes `seat:issue-tracker.tracking` outside the work (at most once a minute, 5 s timeout, answer used 10 minutes); every condition's message (raised, reopened, reminder, escalated, quiet reminder) says the tracking line below the explanation; "Nothing for you to do." becomes "Needs you: answer issue N." while an issue waits for the operator and is left out while nobody works on any issue tracking it; clearings, silences and notices say none; a tracker without an answer for 10 minutes is said as "could not be checked". What is sent and when does not change.
Tests: one per wording row (tracking_test.go in each module), the verdict cases, the router's ask/keep/expire through its event and tick, the content rule over every line, FixState per state, and the verb's answer carrying no secret-shaped note. `go test -race` green in both modules; the words check passes.
Rollout: messenger and mesh-issues on the control-node (leaf modules). The messenger's bus grant for the new verb is composed from `invokes`.
The operator could not tell from a notification whether its cause was
known, tracked and being fixed, or whether they had to act. The issue
tracker gains the verb tracking, answering for every condition key an
issue links which issues link it and where each stands; the operator
channel's router asks it outside the work and says one line from it in
every condition's message, per hq ADR 0285.
composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
Machines
mesh-issues on novox: passed — healthy 3 times over 3m23s
messenger on novox: passed — judged with mesh-issues: healthy 3 times over 3m23s
mesh-issues on the rest running it: sent
messenger on the rest running it: sent
Transitions
2026-10-10 19:51 (new) → proposed (announced): novox/mesh-catalog#191's head announced
2026-10-10 19:54 proposed → checked (checked): the verdict names this commit
2026-10-10 19:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
2026-10-10 20:11 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
2026-10-10 20:11 published → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it
2026-10-10 20:12 held → delivering (release): operator's standing go (chat 2026-10-10 ~22:00, 'I trust your judgement'; same case released at 21:24): both members of group feat/400-alert-names-its-issue are merged (hq #299 builds nothing), the group's composed check passes 4 of 4; it was held only because the hq head was rebased after the check, as tonight's renumbering rule asks (issue 406)
2026-10-10 20:17 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-catalog@12619ec140a0` — **delivered** since 2026-10-10T20:17:14Z
**Delivery plan** — builds mesh-issues, messenger → novox; no bus step
- tier 0: mesh-issues, messenger
- novox: receives mesh-issues, messenger
**Group** `feat/400-alert-names-its-issue`, in order: novox/hq@67036c5e15e3 → novox/mesh-catalog@12619ec140a0
- composed together: pass — every machine composes with the change as it did without (4 of 4 compose)
**Machines**
- mesh-issues on novox: passed — healthy 3 times over 3m23s
- messenger on novox: passed — judged with mesh-issues: healthy 3 times over 3m23s
- mesh-issues on the rest running it: sent
- messenger on the rest running it: sent
**Transitions**
- 2026-10-10 19:51 (new) → proposed (announced): novox/mesh-catalog#191's head announced
- 2026-10-10 19:54 proposed → checked (checked): the verdict names this commit
- 2026-10-10 19:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
- 2026-10-10 20:11 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
- 2026-10-10 20:11 published → held (hold): something holds it for a person: its group's composed check did not pass for the heads that merged, or it merged and no walk was opened for it
- 2026-10-10 20:12 held → delivering (release): operator's standing go (chat 2026-10-10 ~22:00, 'I trust your judgement'; same case released at 21:24): both members of group feat/400-alert-names-its-issue are merged (hq #299 builds nothing), the group's composed check passes 4 of 4; it was held only because the hq head was rebased after the check, as tonight's renumbering rule asks (issue 406)
- 2026-10-10 20:17 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/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
Delivery plan — builds mesh-issues, messenger → novox; no bus step
tier 0: mesh-issues, messenger
novox: receives mesh-issues, messenger
read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on novox as build-1791661683292931454 (builds --log build-1791661683292931454).
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:40:56Z 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-10T19:40:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.008s
words: 12 retired words and 70 daemons' lines, none in the 39304 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.013s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 6.336s
testing modules/messenger
ok messenger/cmd/messenger 2.119s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `63dba875`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
**Delivery plan** — builds mesh-issues, messenger → novox; no bus step
- tier 0: mesh-issues, messenger
- novox: receives mesh-issues, messenger
- read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on novox as `build-1791661683292931454` (`builds --log build-1791661683292931454`).
```
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:40:56Z 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-10T19:40:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.008s
words: 12 retired words and 70 daemons' lines, none in the 39304 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.013s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.006s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 6.336s
testing modules/messenger
ok messenger/cmd/messenger 2.119s
--- its merge-check-typescript.sh (typescript toolchain)
```
mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
Delivery plan — builds mesh-issues, messenger → novox; no bus step
tier 0: mesh-issues, messenger
novox: receives mesh-issues, messenger
read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on ace as build-1791661872023949544 (builds --log build-1791661872023949544).
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:49:56Z 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-10T19:49:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.002s
words: 12 retired words and 70 daemons' lines, none in the 39301 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.010s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 5.768s
testing modules/messenger
ok messenger/cmd/messenger 1.846s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `a7fc89ef`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
**Delivery plan** — builds mesh-issues, messenger → novox; no bus step
- tier 0: mesh-issues, messenger
- novox: receives mesh-issues, messenger
- read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on ace as `build-1791661872023949544` (`builds --log build-1791661872023949544`).
```
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:49:56Z 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-10T19:49:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.002s
words: 12 retired words and 70 daemons' lines, none in the 39301 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.010s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 5.768s
testing modules/messenger
ok messenger/cmd/messenger 1.846s
--- its merge-check-typescript.sh (typescript toolchain)
```
mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
Delivery plan — builds mesh-issues, messenger → novox; no bus step
tier 0: mesh-issues, messenger
novox: receives mesh-issues, messenger
read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on g14 as build-1791661903958706178 (builds --log build-1791661903958706178).
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:49:56Z 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-10T19:49:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.003s
words: 12 retired words and 70 daemons' lines, none in the 39301 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.009s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 6.250s
testing modules/messenger
ok messenger/cmd/messenger 2.388s
--- its merge-check-typescript.sh (typescript toolchain)
**Merge check** at `12619ec1`
- `mesh/merge-gate`: **PASS** — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)
- `mesh/repo-check`: **PASS** — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)
**Delivery plan** — builds mesh-issues, messenger → novox; no bus step
- tier 0: mesh-issues, messenger
- novox: receives mesh-issues, messenger
- read by no module's build: modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go, modules/messenger/cmd/messenger/words_test.go
Run by the build seat on g14 as `build-1791661903958706178` (`builds --log build-1791661903958706178`).
```
--- the gate: mesh-issues, messenger
mesh-issues: ok, invokes claude-code.claude_code_judge, seat:mesh-delivery.checks, seat:operator-channel.notify, keeps state issues, counters, grooming
messenger: ok, 6 tool(s), invokes seat:mesh-controller.conditions, seat:mesh-controller.root-free, seat:issue-tracker.tracking, keeps state open, sent, asks, identities; WARNING: settings ask(s) for a setting and do(es) not say whether it is trusted, so it counts as trusted: set at the terminal alone; say "trusted" false where nothing trusts it (novox/hq issue 339)
long-running resources without health: 0
files asking for a setting without saying whether it is trusted: 1
2 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 2 module(s) changed against 4 machine(s), as the snapshot of 2026-10-10T19:49:56Z 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-10T19:49:56Z
modules the change moves:
- mesh-issues (changed)
- messenger (changed)
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 2 module(s) in 1 tier(s): mesh-issues, messenger
notes:
- modules/mesh-issues/README.md, modules/mesh-issues/cmd/mesh-issues/tracking_test.go, modules/messenger/README.md, modules/messenger/cmd/messenger/manifest_test.go, modules/messenger/cmd/messenger/tracking_test.go and modules/messenger/cmd/messenger/words_test.go read by no module's build, and rebuild nothing (issue 280)
--- its merge-check.sh (go toolchain)
ok git.novox.be/novox/mesh-catalog/checks/words 0.003s
words: 12 retired words and 70 daemons' lines, none in the 39301 strings of 653 files
ok git.novox.be/novox/mesh-catalog/checks/agenthome 0.009s
agent-home: no archive and no file written into under the agent's home
ok git.novox.be/novox/mesh-catalog/checks/paths 0.005s
paths: no module names another's state on its machine (3 known, listed to go)
long-running resources without health: 69, as kept
testing modules/mesh-issues
ok mesh-issues/cmd/mesh-issues 6.250s
testing modules/messenger
ok messenger/cmd/messenger 2.388s
--- its merge-check-typescript.sh (typescript toolchain)
```
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 400, decided in hq ADR 0285 (hq pull request on branch feat/400-alert-names-its-issue).
issue-tracker.tracking— for every condition key an issue links (link kindcondition), or the keys asked, the issues that link it, not closed first, at most 10 per key: number, status, severity, needs, worker with since/active/stale, andfix(not-merged, merged, held, failed, unheard, delivered;FixState, in DeliveryLine's order). Read-only; carries no title, report or note.seat:issue-tracker.trackingoutside the work (at most once a minute, 5 s timeout, answer used 10 minutes); every condition's message (raised, reopened, reminder, escalated, quiet reminder) says the tracking line below the explanation; "Nothing for you to do." becomes "Needs you: answer issue N." while an issue waits for the operator and is left out while nobody works on any issue tracking it; clearings, silences and notices say none; a tracker without an answer for 10 minutes is said as "could not be checked". What is sent and when does not change.Tests: one per wording row (tracking_test.go in each module), the verdict cases, the router's ask/keep/expire through its event and tick, the content rule over every line, FixState per state, and the verb's answer carrying no secret-shaped note.
go test -racegreen in both modules; the words check passes.Rollout: messenger and mesh-issues on the control-node (leaf modules). The messenger's bus grant for the new verb is composed from
invokes.Delivery
novox/mesh-catalog@12619ec140a0— delivered since 2026-10-10T20:17:14ZDelivery plan — builds mesh-issues, messenger → novox; no bus step
Group
feat/400-alert-names-its-issue, in order: novox/hq@67036c5e15 → novox/mesh-catalog@12619ec140Machines
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.Merge check at
63dba875mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)Delivery plan — builds mesh-issues, messenger → novox; no bus step
Run by the build seat on novox as
build-1791661683292931454(builds --log build-1791661683292931454).Merge check at
a7fc89efmesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)Delivery plan — builds mesh-issues, messenger → novox; no bus step
Run by the build seat on ace as
build-1791661872023949544(builds --log build-1791661872023949544).Merge check at
12619ec1mesh/merge-gate: PASS — every machine composes with the change as it did without (4 of 4 compose) (modules: mesh-issues, messenger)mesh/repo-check: PASS — its merge-check.sh passed, each part in its toolchain: merge-check.sh (go), merge-check-typescript.sh (typescript)Delivery plan — builds mesh-issues, messenger → novox; no bus step
Run by the build seat on g14 as
build-1791661903958706178(builds --log build-1791661903958706178).