docs: the stale-Good quality contract, stated once (R3-02)

This commit is contained in:
Joseph Doherty
2026-08-20 10:56:16 -04:00
parent e3a72dc385
commit 5dc8d34472
6 changed files with 123 additions and 4 deletions
+11
View File
@@ -123,6 +123,17 @@ the full design. Highlights:
rejects an A→B→A oscillation loop naming the members. Compile is not hard-gated (VirtualTag
parity); a runtime compile/throw/timeout lands as Bad quality + a `script-logs` entry.
## Quality: a raw tag's node when its driver stops communicating
A raw tag's node — and every UNS mirror of it — goes **`BadNoCommunication` with its last value
retained** when the owning driver is declared comms-lost, and clears when the driver re-publishes. It is
never cleared by the server on reconnect: recovery is a value, never an assumption. The rule and the
seams that implement it are stated once in
[`docs/DriverLifecycle.md` §"The quality contract"](DriverLifecycle.md#the-quality-contract).
Calc tags authored here inherit the same rule from their inputs — see
[`docs/drivers/Calculation.md` §"Input quality"](drivers/Calculation.md#input-quality).
## Retirement note
The routed `/clusters/{id}/drivers` driver-authoring flow (`DriverTypePicker`,