Point ADR 0240 rule 5 and ADR 0283 decision 1 at ADR 0292, and give it its home in to-be 48 (issue 405)
This commit is contained in:
@@ -184,6 +184,11 @@ that provision's provider for this consumer is unhealthy on the record, the cons
|
||||
the provider's condition — listed there as waiting on it, raised as nothing of its own — and the consumer's
|
||||
gate waits rather than fails. What a consumer finds while its provider is healthy is its own.
|
||||
|
||||
> **The mechanism changed — 2026-10-11, by [ADR 0292](0292-a-consumer-of-the-part-a-provider-waits-on-is-held-under-the-wait-and-passes-its-gate-as-a-wait-for-a-person.md).** The hold under an unhealthy provider, and its consumer's gate
|
||||
> waiting, stand. A provider that only waits for the operator (ADR 0283) now holds the consumers of a provision one
|
||||
> of its waits covers, listed at its `needs-operator` condition, which stays a warning; their gate passes as a wait
|
||||
> for a person, carrying the wait. A consumer no wait covers is said on its own.
|
||||
|
||||
**6. Nothing is restarted for being unhealthy.** The runtime restarts what exits, as now. A condition
|
||||
reaches a person through the operator's conversation, or a healer; a healer that restarts on health is its
|
||||
own decision.
|
||||
|
||||
+4
@@ -99,6 +99,10 @@ named exactly, once. Nothing here conflicts with GENESIS.
|
||||
that reason. The type, its constructors and its reader are mesh-sdk's (`go/health`), so the module and
|
||||
the node-engine read one shape; an answer without `state` is read from `healthy` as before.
|
||||
|
||||
> **The mechanism changed — 2026-10-11, by [ADR 0292](0292-a-consumer-of-the-part-a-provider-waits-on-is-held-under-the-wait-and-passes-its-gate-as-a-wait-for-a-person.md).** The three answers stand. Which consumers a waiting module
|
||||
> holds is now read from its waits: a wait covers a provision when its `part` is that provision's name, or when
|
||||
> the secret it waits for is the provision's shared credential; a wait that covers nothing holds no consumer.
|
||||
|
||||
2. **The node-engine states such a resource `waiting`**, a fifth state beside healthy, unhealthy,
|
||||
starting, held and unknown (ADR 0240 §4), with its waits. One look that says it is enough, inside the
|
||||
grace too: it is a statement, not a flake that a second look might not repeat. The next look that says
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
layer: to-be
|
||||
status: in-progress
|
||||
code: [mesh-host, mesh-controller, mesh-lab, mesh-catalog, mesh-sdk]
|
||||
updated: 2026-10-10
|
||||
updated: 2026-10-11
|
||||
decisions:
|
||||
- 02-DECISIONS/0292-a-consumer-of-the-part-a-provider-waits-on-is-held-under-the-wait-and-passes-its-gate-as-a-wait-for-a-person.md
|
||||
- 02-DECISIONS/0283-a-part-that-waits-for-the-operators-secret-or-setting-is-said-as-waiting-passes-the-first-node-gate-and-names-the-act.md
|
||||
- 02-DECISIONS/0254-a-wait-for-a-persons-new-login-is-not-a-gates-failure-and-each-module-of-a-send-keeps-its-own-pass.md
|
||||
- 02-DECISIONS/0240-a-module-says-how-it-is-healthy-and-the-node-engine-judges-it.md
|
||||
@@ -218,6 +219,20 @@ condition is open:
|
||||
P healthy again ─► held findings released: a consumer still failing is now its own
|
||||
```
|
||||
|
||||
**A provider that only waits for the operator holds the consumers of the part it waits for**
|
||||
([ADR 0292](../../02-DECISIONS/0292-a-consumer-of-the-part-a-provider-waits-on-is-held-under-the-wait-and-passes-its-gate-as-a-wait-for-a-person.md),
|
||||
issue 405). A wait covers a provision when its `part` is that provision's name, or when the secret it waits for is
|
||||
the provision's shared credential:
|
||||
|
||||
```
|
||||
provider P waits ─► module.P.<machine>.needs-operator (a warning, whoever waits on it)
|
||||
evidence: waiting on it — consumer A
|
||||
consumer A failing, ─► no condition of its own; its gate passes as a wait for a person,
|
||||
its provision covered carrying P's wait
|
||||
consumer B failing, ─► module.B.<machine>.unhealthy, saying P waits, but not for anything B
|
||||
no wait covers it is known to need
|
||||
```
|
||||
|
||||
What a consumer finds while its provider is healthy, or by a check that names no provision, is its own.
|
||||
A machine-level condition is never pinned on a module
|
||||
([issue 281](../../04-ISSUES/281-a-tier-sent-one-module-at-a-time-blamed-a-module-for-its-machine/00-report.md)).
|
||||
|
||||
Reference in New Issue
Block a user