Say the node tools are there, every minute (hq to-be 45 Phase 1, S11) #16

Merged
mesh-admin merged 1 commits from feat/a-core-that-cannot-fail-silently-phase-1 into main 2026-10-06 08:34:16 +00:00
Contributor

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.
mesh-admin added 1 commit 2026-10-06 08:22:51 +00:00
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.
mesh-admin merged commit f75780f1d0 into main 2026-10-06 08:34:16 +00:00
mesh-admin deleted branch feat/a-core-that-cannot-fail-silently-phase-1 2026-10-06 08:34:16 +00:00
Author
Contributor

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.

<!-- 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`.
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-tools#16