ADR 0240 and to-be 48: a module says how it is healthy, and the node-engine judges it #159

Merged
mesh-admin merged 1 commits from decision/0240-a-module-says-how-it-is-healthy into main 2026-10-06 23:35:39 +00:00
Contributor

Graduates research 032 (hq #158). The operator said on 2026-10-07: "yes, turn it into a decision".

  • ADR 0240: liveness for every long-running resource with no declaration (the node-engine keeps its own restart count). Readiness is declared per resource in a health field. The kinds are runtime, http, tcp, exec, unit and tool. Defaults: 30 s interval (at least 10 s), a timeout under the interval, 3 failing looks (at least 2), 60 s grace, and grace plus looks at most 5 min. The node-engine runs every check and owns the verdict. Its state goes in the report and in events, and module.<module>.<machine>.unhealthy is raised on the second statement. The gate's "own health" reads the stated health and holds on the condition. A provider that is down is said once, at the provider, and its consumers wait. Nothing restarts on health. module check and a mesh-lab bed prove each declaration, adopted image checks included. A catalogue count of resources without health only goes down, and module check refuses a missing one at zero or after six weeks. The record lists the options it rejected and has a how-it-is-checked table.
  • To-be 48: the design, in phases A–E across mesh-host, mesh-controller, mesh-lab and mesh-catalog.
  • Pointer notes: ADR 0236 §2 (mechanism changed), to-be 45 §2 (the module scope) and its Phase 4 not-yet item, to-be 32 §4 (the health field).
  • Research 032 graduated, with became: set.

Checks: records, index and cycle pass, and so does merge-check.sh.

Graduates research 032 (hq #158). The operator said on 2026-10-07: "yes, turn it into a decision". - **ADR 0240**: liveness for every long-running resource with no declaration (the node-engine keeps its own restart count). Readiness is declared per resource in a `health` field. The kinds are runtime, http, tcp, exec, unit and tool. Defaults: 30 s interval (at least 10 s), a timeout under the interval, 3 failing looks (at least 2), 60 s grace, and grace plus looks at most 5 min. The node-engine runs every check and owns the verdict. Its state goes in the report and in events, and `module.<module>.<machine>.unhealthy` is raised on the second statement. The gate's "own health" reads the stated health and holds on the condition. A provider that is down is said once, at the provider, and its consumers wait. Nothing restarts on health. `module check` and a mesh-lab bed prove each declaration, adopted image checks included. A catalogue count of resources without `health` only goes down, and `module check` refuses a missing one at zero or after six weeks. The record lists the options it rejected and has a how-it-is-checked table. - **To-be 48**: the design, in phases A–E across mesh-host, mesh-controller, mesh-lab and mesh-catalog. - **Pointer notes**: ADR 0236 §2 (mechanism changed), to-be 45 §2 (the `module` scope) and its Phase 4 not-yet item, to-be 32 §4 (the `health` field). - Research 032 graduated, with `became:` set. Checks: records, index and cycle pass, and so does `merge-check.sh`.
mesh-admin added 1 commit 2026-10-06 23:33:19 +00:00
ADR 0240 and to-be 48: a module says how it is healthy, and the node-engine judges it
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed
mesh/delivery delivered
0bf579d99c
The gate judged a module by what the mesh sees from outside, so a crash loop and an
eleven-hour silent web app passed it. Graduates research 032 on the operator's word.
Author
Contributor

Delivery novox/hq@0bf579d99c66 — delivered since 2026-10-06T23:36:07Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-06 23:33 (new) → proposed (announced): novox/hq#159's head announced
  • 2026-10-06 23:34 proposed → checked (checked): the verdict names this commit
  • 2026-10-06 23:34 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-06 23:36 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-06 23:36 published → delivered (done): nothing for a walk to move

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/hq@0bf579d99c66` — **delivered** since 2026-10-06T23:36:07Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-06 23:33 (new) → proposed (announced): novox/hq#159's head announced - 2026-10-06 23:34 proposed → checked (checked): the verdict names this commit - 2026-10-06 23:34 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-06 23:36 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-06 23:36 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
mesh-admin merged commit e23efb63a9 into main 2026-10-06 23:35:39 +00:00
mesh-admin deleted branch decision/0240-a-module-says-how-it-is-healthy 2026-10-06 23:35:40 +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/hq#159