ADR 0217, to-be 44: no change to a machine takes effect unseen
Two incidents in two days had one shape: a change took effect that nobody saw first (issues 241 and 304). Three guards where the change is made — a settings layer read before it is replaced, a push that says what it will change, a running module's data move acknowledged — each silent when nothing is at stake. Accepted by the operator on 2026-10-08. To-be 44 is in progress in mesh-controller (feat/no-change-takes-effect-unseen), migration 0078, fitted onto what the controller does since: a whole-mesh push that says so and leaves a machine waiting for a gate, a person's push that says what it recreates (ADR 0242), a named push's cascade. The decision index is generated (ADR 0248), so no line is added to its README.
This commit is contained in:
+7
-5
@@ -1,9 +1,9 @@
|
||||
---
|
||||
status: open
|
||||
status: located
|
||||
opened: 2026-10-05
|
||||
located-in: [mesh-controller cmd/mesh-controller (settings), mesh-controller internal/inventory (SetSettings)]
|
||||
fixed-by:
|
||||
amended-design:
|
||||
fixed-by: novox/mesh-controller PR #50
|
||||
amended-design: 03-DESIGN/01-to-be/44-no-change-takes-effect-unseen.md
|
||||
---
|
||||
|
||||
# 304 — Setting a module's settings replaces the whole layer, and nothing shows it first
|
||||
@@ -41,5 +41,7 @@ around it is everything that makes it safe to use:
|
||||
|
||||
## Status
|
||||
|
||||
Open. Until it is fixed: read the layer (from the store, read-only) before setting it, and compare
|
||||
the node's plan before and after.
|
||||
Located: ADR 0217 decides the fix and to-be 44 designs it — `settings show` and its history, a set
|
||||
that names what it adds, changes and removes and refuses a removal unless told `--replace`. Built in
|
||||
mesh-controller PR #50; resolved when it runs. Until then: read the layer (from the store,
|
||||
read-only) before setting it, and compare the node's plan before and after.
|
||||
|
||||
Reference in New Issue
Block a user