diff --git a/CLAUDE.md b/CLAUDE.md index e02d5fb1..2cf73e4a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -550,8 +550,9 @@ fail-closed). Things worth knowing before touching it: is Phase 4 — resist folding it in, or the "no SQL" scope becomes unprovable-in-parts. On the docker-dev rig the central pair carries `ConfigServe` (`:4055`, committed dev key) and stays -`Direct`; the four site nodes carry `ConfigSource` (endpoints + matching key) defaulting to `Direct`. -Flip only the site nodes with `OTOPCUA_CONFIG_MODE=FetchAndCache` at `docker compose up`. See +hardcoded `Direct` via its admin role; the four site nodes carry `ConfigSource` (endpoints + matching +key) hardcoded `FetchAndCache` — mandatory for driver-only nodes since Phase 4, not a flip. There is +no `OTOPCUA_CONFIG_MODE` env var in the compose file. See `docs/Configuration.md` §`ConfigSource` / `ConfigServe`, `docs/Redundancy.md` §"Command transport", and `docs/plans/2026-07-22-mesh-phase3-config-fetch-and-cache.md`. diff --git a/docs/Configuration.md b/docs/Configuration.md index c28def93..d6b03b42 100644 --- a/docs/Configuration.md +++ b/docs/Configuration.md @@ -250,7 +250,7 @@ from the bytes emitted at compose time and never re-derived from the JSON, so an costs at most one spurious "changed" revision after a runtime upgrade. Snapshot determinism is unaffected — compression wraps the final bytes and reorders nothing.) -On the docker-dev rig the central pair carries `ConfigServe` (port `4055`, dev key) and stays `Direct`; the four site nodes carry `ConfigSource` (endpoints + matching key) defaulting to `Direct`. Flip only the site nodes with `OTOPCUA_CONFIG_MODE=FetchAndCache` at `docker compose up` — central keeps SQL and models the target topology. +On the docker-dev rig the central pair carries `ConfigServe` (port `4055`, dev key) and stays hardcoded `Direct` via its admin role; the four site nodes carry `ConfigSource` (endpoints + matching key) hardcoded `FetchAndCache` — mandatory for driver-only nodes since Phase 4, not a flip. There is no `OTOPCUA_CONFIG_MODE` env var in the compose file; central keeps SQL and models the target topology. **`FetchAndCache` is mandatory on a driver-only node — per-cluster mesh Phase 4.** `Program.cs` now registers `AddOtOpcUaConfigDb` only when the node carries the `admin` role, so a **driver-only**