feat(bridge): protocol 14 — kits.uses and reward notices (PLAN_REDESIGNS §2) #30
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/protocol-14-step-editor"
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?
What & why
The bridge's half of protocol 14 (D332), for the event step editor (Module-Rust
PLAN_REDESIGNS.md§2).kits.uses(§2.6). The input is{kit, steamIds}and the reply is{kit, max, cooldown, asked, exhausted, onCooldown}. It returns counts only and runs on the main thread: two Kits reads per player (GetPlayerKitUses,GetPlayerKitCooldown). The list is bounded by the sync's own bound (PermMaxOps). Refusals come back askits.error:kits-missing,unknown-kitortoo-large.perm.syncnotices(D333), the one-time "you earned kit vip" messages:{key, steamId, message, delivery}.OnPlayerSleepEnded, the next time they wake on the server.data/RunicGateway/notices.jsonuntil the site stops sending them, so a reload cannot tell a player twice.perm.reportgainsnoticesTold.credits.ProtocolVersionandoverlay.tomlgo from 13 to 14.OnPlayerSleepEndedjoinsExpectedHooks.Spec:
rust-link/PROTOCOL.md§20 (docs PRdocs/rust-protocol-14-step-editor). Companion PRs: Rust-Link and Module-Rustfeat/protocol-14-step-editor, and website#212.How it was tested
node scripts/checkPlugin.js:plugin ok — protocol 14, 55 hooks declared, every one void and listed.checkPlugin.test.jspasses 14/14.protocol 14and0 told notices on record, and the bridge reconnected to its sidecar.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
Opens protocol 14 (D332): - kits.uses {kit, steamIds} -> {kit, max, cooldown, asked, exhausted, onCooldown}: counts only, bounded by the sync's own bound (§2.6). - perm.sync notices [{key, steamId, message, delivery}] (D333): the site's whole untold set. Told at once to a player who is awake, else on OnPlayerSleepEnded; popup where PopupNotifications is loaded and chosen, chat otherwise. Told keys persist in notices.json until the site stops sending them; the report lists noticesTold. ProtocolVersion and overlay.toml 13 -> 14; OnPlayerSleepEnded joins ExpectedHooks (checkPlugin: 55 hooks, all void). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY