fix(bridge): protocol 13 — a configuration reload that works on Carbon (W1-W5) #17
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/protocol-13-carbon-reload"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The fixes from step 1's rig walk (
PLAN_FIXES.md§6, D180; spec docs PR alongside, PROTOCOL.md §19.1). All five are inRunicGateway.cs, and no third-party plugin is touched. There is no wire change; this is still protocol 13, unreleased, onedge.What the walk found
ReloadPluginisn't a reload. The first save unloaded Kits and it never came back; the second did nothing.c.reloadon the server console (ConsoleSystem.Run). Oxide keepsReloadPlugin, falling back tooxide.reload.carbon/logshas no*.txt, and the log isCarbon.Core.log.LoadConfigcan't read gets[Kits] Failed ILoadConfig (…), then "Loaded plugin Kits" anyway (broken), and the save settled asapplied.OnPluginLoadedis only noted now. The job settles on the first log read a poll after it.failed iloadconfigis added to the words.could not initializeis added, so the outcome quotesCould not initialize plugin 'Kits v4.4.9' (JsonReaderException: …).applied, reloaded:false.rg.confignow printslog=<file it follows>.Walked on both rigs (protocol-13 sidecar + this plugin, core :3270)
Oxide: step 2 (a cold compile, 3078 ms) is applied in 9 s. 2b is UTF-8 on disk, and ZoneManager re-saved it intact. 4 rolls back in about 3 s with the exception as the reason,
restored: true, and the file byte-identical.Carbon: 2 is applied and reloaded in 4 s. 2b is UTF-8 on disk. 4 rolls back with Carbon's
Failed ILoadConfigline as the reason,restored: true, the file byte-identical, and Kits reloaded clean.W1: a rig-only probe (since deleted) wrote Oxide's exact line during a pending save. The plugin logged "asking for the reload once more" and the retry landed
applied. The second give-up path isn't walked: a real stall can't be forced, because Oxide caches compiled plugins. That path reuses the ceiling's settle code.node scripts/checkPlugin.jspasses.AI-assisted: Claude Code (Claude Opus 5.5)
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY