Kind: short package names (builds, sshkeys, forgemsg, backupgood, diskreadings, grantsstate, busgrants) in `packages`, which the indexer's judge refuses by design 32's rule (a Go package is named by its go.mod's module path). This held mesh-delivery-gate, the build modules, mounts and restic. Each key is now the import path the module's code uses, with its series kept; the manifest tests read the new keys, and the host/machine-name word tests in mounts, nfs-server, mesh-build-node and mesh-delivery-gate look past the path's `git.novox.be/novox/` prefix. Quick fix: only the gate's manifest. Thorough fix (chosen): all 15, since the same refusal holds each. Follow-up for the checker: the candidate verdict lets such a name through (J7(3)), so the merge check did not stop it. Claude-Session: https://claude.ai/code/session_01NcbgfFfQ4Z9UE5jK32PmE5
mesh-self-check
Holds the seat mesh-self-check (novox/hq ADR 0564 §6): the mesh's self-check, moved out of the controller. Go, one
binary (cmd/mesh-self-check), served by a runtime of its own on its own bus account (runs-as), so that its account
alone writes its buckets.
What it does
Every five minutes (the first run a minute after it starts) it runs its registry of probes, each within thirty
seconds. A probe is one live invariant of a design, with its assertion as the controller had it, reading its facts on
the bus (the bus module's tools for the bus's own state). A probe whose facts have no home on the bus yet answers
deferred, naming them: never a pass. A probe that cannot run is said in the verdict at once, and written as a finding
of its own (probe.<id>.failed) when the next run cannot run it either.
What a probe finds is written as a finding, one key <scope>.<id>.<kind> per fault, only when what it says changes, and
deleted when a run no longer sees it. The condition keeper (mesh-conditions) raises and clears conditions from them.
A finding one look can be wrong about (a consumer behind after a burst) is written when two runs in a row see it.
Every run ends with the event checked, the body of the controller's doctor-heartbeat, which the watchman (S10) and
mesh-watcher on another machine hear: a self-check that stops checking is said through a path that does not pass
through it.
What it keeps
mesh-self-check_findings: what it finds wrong now.mesh-self-check_verdict: the keylast, the last run whole.mesh-self-check_verdicts: every run (each probe's findings at most twenty), kept a week by the bucket's age.
Its verbs and tools
mesh-self-check.doctor: the last verdict;run=trueruns now;probe=<id>one probe whole.mesh-self-check.probes: the registry, with what each deferred probe lacks.self_check_findings,self_check_verdicts: the reads of its buckets.