docs(gateway): clarify runtime settings registry

Signed-off-by: Taylor Mutch <taylormutch@gmail.com>
This commit is contained in:
Taylor Mutch
2026-06-26 09:54:41 -07:00
parent 436f6ff2da
commit 85bf10a067
2 changed files with 3 additions and 1 deletions
@@ -118,6 +118,8 @@ struct RawOpenShellRuntimeRoot {
#[derive(Debug, Default, Deserialize)]
#[serde(deny_unknown_fields)]
struct RawRuntimeSection {
// Keep this as a key/value map so runtime config files use the same
// openshell_core::settings registry as CLI and gRPC settings writes.
#[serde(default)]
settings: BTreeMap<String, toml::Value>,
}
+1 -1
View File
@@ -161,7 +161,7 @@ ocsf_json_enabled = true
proposal_approval_mode = "manual"
```
Only registered runtime setting keys are accepted. The gateway rejects unknown keys, the reserved `policy` key, values with the wrong TOML type, and invalid enum strings.
Only registered runtime setting keys are accepted. The runtime file accepts the same key names and value types as the global settings API. The gateway rejects unknown keys, the reserved `policy` key, values with the wrong TOML type, and invalid enum strings.
When a runtime settings file is configured, keys present in that file are file-managed. `openshell settings set --global` and `openshell settings delete --global` reject changes to those keys; update the file instead. Keys omitted from the file remain managed through the normal global settings API. Removing a key from the file stops file-managing that key but does not delete the last persisted global value.