docs(modules): the Carbon rig answers too, and its root is a different directory

R19's byte-identical plugin now carries protocol 5 on both frameworks:
`framework=oxide root=/home/container/oxide/config` on one rig and
`framework=carbon root=/home/container/carbon/configs` on the other, from the
same file. That is R18's amendment proven rather than argued — a literal
`oxide/config/` in this editor would have missed every config on half of all
installs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMH6bw1jXMgbyF3ZWGEzSM
This commit is contained in:
2026-09-22 08:58:21 -05:00
parent 82145d3b4a
commit 7f008fd1f3

View File

@@ -3143,11 +3143,18 @@ Two rigs, because the site half and the plugin half fail in different places.
config files: the recursive walk (including a nested `Kits/kits.json`), a form save that reloaded, config files: the recursive walk (including a nested `Kits/kits.json`), a form save that reloaded,
a save that rolled back, a refusal, a write with no reload, a version conflict with the current a save that rolled back, a refusal, a write with no reload, a version conflict with the current
file handed back, and the locked keys. Five outcomes, all five in the audit trail. file handed back, and the locked keys. Five outcomes, all five in the audit trail.
- **The plugin half** ran on the **live Oxide rig**: 1,050 new lines of C# `compiled successfully in - **The plugin half** ran on **both live rigs**, from one byte-identical file. On Oxide 2.0.4143,
0ms`, the plugin loaded, and `rg.config` answered 1,050 new lines of C# `compiled successfully in 0ms` and the plugin loaded; on Carbon 2.0.259.0 it
`protocol=5 framework=oxide root=/home/container/oxide/config`. That is `Interface.Oxide. loaded in 3,267 ms. `rg.config` answers
ConfigDirectory` resolving and the runtime framework detection agreeing, on a real server, without `protocol=5 framework=oxide root=/home/container/oxide/config` on the first and
a line of conditional compilation. **`protocol=5 framework=carbon root=/home/container/carbon/configs`** on the second.
That is two things at once and the second is the more valuable. `Interface.Oxide.ConfigDirectory`
resolves to a *different directory* on each framework, exactly as R18's amendment predicted — a
literal `oxide/config/` in this editor would have missed every config on half of all installs — and
the runtime framework detection, which the `c.reload` fallback depends on, agrees with the host it
is running on. Neither needed a line of conditional compilation, so R19's claim survives protocol
5.
**The acceptance line is not met**: "an admin flips a ZoneManager setting from the website and it **The acceptance line is not met**: "an admin flips a ZoneManager setting from the website and it
takes effect" needs the plugin and the sidecar on one host, and the rig's plugin still cannot reach takes effect" needs the plugin and the sidecar on one host, and the rig's plugin still cannot reach