diff --git a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md index a457de1d..ab3b7847 100644 --- a/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md +++ b/03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md @@ -703,7 +703,12 @@ backup holder backs up nothing, and the have says so. public halves of its sealing and serving keys, the certificate issued for its internal name, its outward links and networks, and its node-engine's contract. Written at start and when an observed fact changes, only when it differs (ADR 0555 §3). Whether the hub took its found tunnel over, and which node enrolled under a carried - peer's key, are read from the placement and the records together, never written. + peer's key, are read from the placement and the records together, never written. Every node's account reads + every node's `.node`: a grant the grants part's composer gives and the controller's frozen copy does not. + Since the take-over the grants part's list is the one the bus loads; after a `hand-back` the controller's list + holds, without that read, and nodes keep applying while composing their own fails loudly until the next + `take-over`. mesh-sdk's composer test holds the copy to every grant of the controller's golden plus exactly that + read and the bucket-creation advisories of issue 1790. - **Composed again on events, never on a timer.** A changed input at the same fingerprint (a setting or given value, a secret rotated or moved, a credential issued, a provider's contribution, a peer added to the hub) is composed again when its event is heard, and applied as a revision of what runs (ADR 0547 §2).