hq to-be 45 Phase 1, signal S11. The runtime (on the node-tools credential, with a node) publishes {"node","interval_seconds":60,"version"} on core NATS mesh.control.<node>.tools-alive every minute (internal/alive); the controller raises tools-silent after three missed.
Merge after mesh-controller#79 and after the broker's machine has been pushed with the controller's new composition (it grants mesh.control.<node>.tools-alive to each node's runtime). Before that the bus refuses the publish; the runtime logs it once, and once more when it is taken.
Tests: internal/alive green with -race. The console/runtime suites fail identically on main in this environment (their fixtures import @novox/mesh-sdk, which needs the mesh's npm registry) — unrelated to this change.
hq to-be 45 Phase 1, signal S11. The runtime (on the node-tools credential, with a node) publishes `{"node","interval_seconds":60,"version"}` on core NATS `mesh.control.<node>.tools-alive` every minute (`internal/alive`); the controller raises `tools-silent` after three missed.
**Merge after mesh-controller#79** and after the broker's machine has been pushed with the controller's new composition (it grants `mesh.control.<node>.tools-alive` to each node's runtime). Before that the bus refuses the publish; the runtime logs it once, and once more when it is taken.
Tests: `internal/alive` green with -race. The console/runtime suites fail identically on main in this environment (their fixtures import `@novox/mesh-sdk`, which needs the mesh's npm registry) — unrelated to this change.
A machine whose node-engine is heard and whose runtime is gone is a
machine nobody can ask anything, and nothing said so. The runtime now
says on mesh.control.<node>.tools-alive, every minute, that it is there,
with its interval and build; the controller raises tools-silent after
three missed. Core NATS, like the host's heartbeat: a lost one is the
next one. A heartbeat the bus refuses is logged when that starts and
when it stops.
Deliverynovox/mesh-tools@f75780f1d0a4 — held since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.
Delivery plan — builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step
tier 0: mesh-tools, node-tools
ace: receives node-tools
g14: receives node-tools
novox: receives node-tools
shanks: receives node-tools
node-tools provides mcp-endpoint: its consumers are sent again after it
Transitions
2026-10-06 23:05 (new) → proposed (announced): novox/mesh-tools#16 merged; its head was not heard by this owner, so it is made from the forge's word
2026-10-06 23:05 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
The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.
<!-- mesh-delivery:view -->
**Delivery** `novox/mesh-tools@f75780f1d0a4` — **held** since 2026-10-06T23:05:28Z
Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on.
**Delivery plan** — builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step
- tier 0: mesh-tools, node-tools
- ace: receives node-tools
- g14: receives node-tools
- novox: receives node-tools
- shanks: receives node-tools
- node-tools provides mcp-endpoint: its consumers are sent again after it
**Transitions**
- 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-tools#16 merged; its head was not heard by this owner, so it is made from the forge's word
- 2026-10-06 23:05 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
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.
hq to-be 45 Phase 1, signal S11. The runtime (on the node-tools credential, with a node) publishes
{"node","interval_seconds":60,"version"}on core NATSmesh.control.<node>.tools-aliveevery minute (internal/alive); the controller raisestools-silentafter three missed.Merge after mesh-controller#79 and after the broker's machine has been pushed with the controller's new composition (it grants
mesh.control.<node>.tools-aliveto each node's runtime). Before that the bus refuses the publish; the runtime logs it once, and once more when it is taken.Tests:
internal/alivegreen with -race. The console/runtime suites fail identically on main in this environment (their fixtures import@novox/mesh-sdk, which needs the mesh's npm registry) — unrelated to this change.Delivery
novox/mesh-tools@f75780f1d0a4— held since 2026-10-06T23:05:28ZHeld for a person: merged without a passing check: only a person decides that it goes on —
mesh-delivery.releasewith why lets it go on.Delivery plan — builds mesh-tools, node-tools → ace, g14, novox, shanks; no bus step
Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition:git log --notes=mesh-plan.