benilla loads its own curated `benilla.toc`, not the chain's
`FrameXML.toc`, so a row the realm adds is silently absent: no "not
found", no warning, just a missing global. grom updated the client on
2026-10-23 and `/xpboost` did nothing. The chain itself was fine — every
archive mounted, no DBC field-count mismatch, and the two sessions'
warning sets differ by two lines *fewer* after the update. The command
was simply undefined.
Diffing the chain's toc against ours found five rows, all added here in
the chain's own order:
- `OctoXpBoost`: `/xpboost`, the bonus-experience opt-out. Slash commands
never reach the server, so it sends the server's `.xpboost` as a SAY,
which the server runs as a command and never broadcasts. This is the
reported bug.
- `OctoTurtleBridge`: Turtle_General's addon-message dispatcher, for the
realm's inspect replies and `RESPONSE_PLAYER_CHALLENGES`.
- `Turtle_GroupUI` + `OctoGroupUIFix`: the compact group/raid frames and
three fixes to them. The fix stays immediately after, as the chain has
it; the xml pulls its own .lua and templates.
- `OctoTurtleStore`: transmog outfits and LFT presets kept on the realm
over AIO, FrameXML having no SavedVariables.
Verified with the real data: `b_opens_the_backpack_and_shift_b_opens_every_bag`
(the only test that reads a new row's OnLoads) stays green, and the
producer gate goes from red to green with it. Through the addon harness
against grom's own corpus: `SLASH_OCTOXPBOOST1` is `/xpboost` with a
function behind it, the bridge and all nine group frames exist, no
session errors — and the group frames are hidden with no OnUpdate armed
while solo, so they cost nothing until a group fills them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn