Files
mesh-catalog/modules/mesh-healers
jschoubben bbd02004b8
mesh/delivery merged: source.main moved to novox/mesh-catalog@19714898986c
mesh/delivery-group group fix/l4-quick merged: every member is merged
mesh/check pass bbd02004b863 on 3d7830cfdc4f | unit 2729 run, 4570 kept, 16 skipped | integration 2975 run, 4493 kept, 25 skipped | over bound: unit, …
Let the health take-over's compare come out empty (issue 1952)
The self-check's D13 read every reading, good night, indexer module and
manifest one key at a time through the runtime and never finished
within its 30 s; it now keeps those states by watching them and judges
from memory, and reads the setting `probes` once a run. Findings name
their key's last part `ref`, since the runtime refuses a field named
`token`; the self-check, the healers and the keeper are pinned to the
mesh-sdk that reads it and lets a carried holder say its seat's events.
The controller's own bus.nats.upgrade-failed ends with its lease, as
the operator approved on 2026-10-31, so compare lists it apart.

Quick vs thorough: quick, these fixes for L4's take-over now; the
thorough fix (research 032 / ADR 0240's health view extension) is
decided later.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
2026-10-31 21:35:59 +01:00
..

mesh-healers

Holds the seat mesh-healers (novox/hq ADR 0564 §7, §8): the mesh's healers, moved out of the controller. Go, one binary (cmd/mesh-healers), served by a runtime of its own on its own bus account (runs-as).

What it does

It hears the condition keeper's condition-raised and condition-changed (seat mesh-conditions) on a durable consumer. A condition whose kind a healer answers is acted on within the healer's budget, its settle and the mesh-wide brake (twelve acts an hour). A repair is a call of the seat or tool that owns the act: H3 asks the grants part's grants_assert for the module whose consumer is gone. H4 (the controller's own consumer) and H5 (the provider's own repair) are registered and run elsewhere.

Each act is begun by a create of its key in attempts before it is made and finished after, so a holder that dies mid-act has spent it and a second instance cannot begin it again. The condition keeper writes the condition's tried, resolver and escalation from attempts; a healer writes no condition.

Only once the controller's lease names no controller. Until the write that hands the lease away, each act it would take is written to would, never to attempts: it counts for no budget, settle or brake and reaches no condition.

Each key of attempts and would lives a week from its last write, its own time to live (the buckets are declared key-ttl): nothing else deletes would, and once the lease is handed away nothing is written there. The healers' waits are keys of wakes whose time to live is the wait: settle.<condition key> ends with a settle and judges the condition again, fortnight ends when S15's oldest counted act leaves the fortnight and counts again. The watch of wakes hears each expiry; no timer runs in the process. A wait still running is on the bus across a restart; one that expired while no instance watched is judged at the start, once the lease is first read.

S15: it hears the seat mesh-hand-acts' act-recorded and watches the controller's hand-act log and writes healer-wanted for a cause repaired by hand twice within a fortnight; a drill and a person's decision by design never count.

What it keeps

  • mesh-healers_attempts: every act and escalation, each key kept a week.
  • mesh-healers_would: the newest act it would take per healer and condition while the controller holds the lease, each key kept a week.
  • mesh-healers_findings: the brake, its own blindness, and S15.
  • mesh-healers_wakes: the waits, each key living as long as it waits.

Its verbs and tools

  • mesh-healers.healers: the registry, the acts of the last days, the would-acts, the brake, whether it acts and why; recount=true counts the hand-act log again.
  • mesh-healers.heal: one act now on an open condition, by key and why.
  • mesh-healers.drill: records a drill in the hand-act log of the seat mesh-hand-acts as hand-act drill (the controller's drill while that seat has no holder and the controller holds its lease). S15 never counts a drill.
  • healers_findings, healers_would, healers_wakes: the reads of its buckets.