refactor(geode): split config into StaticConfig + RuntimeConfig with seeding
Rename RelayConfig → StaticConfig and the persistence/RelayStateStore → config/RuntimeConfig so the two configuration tiers — boot-time TOML versus operator-mutable runtime state — are obvious from the class names. The `persistence/` package is gone; everything related to config lives in `config/`. For overlapping fields (NIP-11 info doc, pubkey / kind allow-deny lists), StaticConfig now seeds RuntimeConfig on first boot via the new RuntimeConfig(seed = …) constructor and an AuthorizationSeed type. The runtime file wins from then on: later edits to [authorization] in the TOML are ignored once an admin RPC has written the snapshot. As a consequence, KindAllowDenyPolicy and PubkeyAllowDenyPolicy are no longer stacked in geode's policy chain — BanListPolicy already reads the same lists from the BanStore, and double-stacking would silently diverge after the first admin mutation. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -81,7 +81,7 @@ swap was simulating, with none of the swap's race surface.
|
||||
|
||||
### B — per-relay event-loop pool sizing ✅ shipped
|
||||
|
||||
Three optional knobs added to `[network]` in `RelayConfig`:
|
||||
Three optional knobs added to `[network]` in `StaticConfig`:
|
||||
|
||||
```toml
|
||||
[network]
|
||||
|
||||
Reference in New Issue
Block a user