diff --git a/modules/mesh-knowledge/README.md b/modules/mesh-knowledge/README.md index 09a46b4e..654c214f 100644 --- a/modules/mesh-knowledge/README.md +++ b/modules/mesh-knowledge/README.md @@ -132,8 +132,11 @@ as text. `get` serves each, and any other field a record of hq wrote under `fiel - `partial`: both ends of a change agree; - `rests-on-live`: no accepted record extends a superseded one. - A failure is kept as a finding and makes the module unhealthy, so the mesh raises a condition naming the rule - and the records. The acceptance stands. + A failure is kept as a finding and told to the operator once, as a warning naming the rule and the records + (`operator-channel.notify`, keyed `knowledge.finding..`, sent again at the next step when it + could not be sent, and cleared once the rule holds for them again). It is a fault of the records, which their + authors repair, not of the module: the module's health names it and stays healthy, so it never holds the + module's own rollouts (the operator's decision of 2026-10-12 on hq issue 504). The acceptance stands. `cited` is also judged ahead, in the review: a decision that names no home and that no accepted (or superseded) record links is not judged and not accepted. Its review, by the knowledge base itself, asks changes @@ -186,14 +189,14 @@ the consolidated schema for a fresh database is `schema.sql`. A test holds the t - **the bundle**: the verbs, `knowledge_health`, the operator's answers heard, and once a minute (and at once when a record is proposed) the router's record read, reservations never proposed withdrawn, the reviews of proposals, - and the drafting worker. It never changes the schema, and + and the drafting worker; and it tells the whole-set findings. It never changes the schema, and refuses to serve while the schema is behind. - **`prepare`** (run once): brings the schema to this version. - **`keep`** (judged by its unit): judges the whole record set every five minutes and keeps the findings. - **`watch`** (judged by `knowledge_health`, run as the machine's account, the one the runtime runs the bundle as, so the tool can read what it writes): every minute, reads whether the database serves and what the findings say, and leaves its verdict in `${dir:state}/health.json`. That is the file the health tool answers - from. A verdict older than three minutes is unhealthy. + from. A verdict older than three minutes is unhealthy; a whole-set finding is named in it but leaves it healthy. ## Settings