docs(rust): protocol 14 — kits.uses and reward notices (PROTOCOL §20, PLAN_REDESIGNS §2.9)
The wire half of PLAN_REDESIGNS §2 (D332, D333): PROTOCOL.md §2 says 14, and §20 specifies kits.uses (counts only, bounded by the sync's bound, POST /kits/uses) and perm.sync notices (the whole untold set, told once when the player is awake, told keys kept on disk, noticesTold in the report). PLAN_REDESIGNS §2.9 records the Rust half as built and its compile on both rigs. Stacked on docs/event-step-editor (docs#335) for §2.8. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -409,6 +409,32 @@ Everything in §2.1–§2.3 and §2.5's core half, with three things settled whi
|
||||
registers its 12 actions), the server suite 723/723 and the client suite 45/45 — the same numbers as 1.11.0's.
|
||||
The Module-Rust half (the kit weekend, `linked`, `kits.uses`, the reward message) follows on `edge`.
|
||||
|
||||
### 2.9 As built: the Rust half, protocol 14 (2026-10-12)
|
||||
|
||||
Branches `feat/protocol-14-step-editor` in Rust-Plugins, Rust-Link and Module-Rust, into `edge`; the wire is
|
||||
`rust-link/PROTOCOL.md` §20.
|
||||
|
||||
- **The kit weekend** is `rust.template.kit_weekend`: inputs kit, minutes (a duration), message and delivery.
|
||||
It reads the kit from its server when it is filled in, so the lease names the kit's real permission. A kit
|
||||
with no permission is open to everyone already and gets step 2 alone; a kit with no use limit has no
|
||||
"one more use" and gets step 1 alone. The phase is the weekend: `advance: { after }` equals the minutes.
|
||||
Run through the real 1.13.0 core (website#212), it registers, and the plan it builds validates as a spec.
|
||||
- **`linked`** is "every linked account that has played on this server" — a stats row there — because a link
|
||||
is fleet-wide and the server is what narrows it. It reads no tally, and past the server's recipient bound it
|
||||
is refused with the bound's name (`EventsMaxRecipients`), never trimmed.
|
||||
- **The reward message** is checked with the kit's name in place of `{kit}`, against the chat bound, so a
|
||||
long kit name cannot push past what the game will say. It is stored on each grant row
|
||||
(`rust_perm_run_grants.notice`, `notice_delivery`, `notice_told_at`).
|
||||
- **The kit warning** is the `note` on `rust.options.grouppermissions` rows. That source is searchable, so the
|
||||
editor may not hold the chosen row; core asks for that one value when it needs its note (website#212).
|
||||
- **Timed params:** `rust.zone.open` and `rust.participation.open` declare `minutes` a duration, and the
|
||||
group-permission lease gives `true` as its value example.
|
||||
- **Compiled on both rigs, 2026-10-12.** Carbon 2.0.262 on Rust 25823813 (the latest of both): the bridge
|
||||
compiled and loaded in 3.8 s, protocol 14, its told-notices store read at load. Oxide 2.0.7820 on the same
|
||||
Rust build (the rig was behind on both, and was updated first: its first restart's steamcmd update did not
|
||||
finish, the second did): compiled in 5.3 s and loaded. Both rigs were put back on their protocol-13 bridge afterwards, to match their sidecars until
|
||||
the end-of-plan walk sets up protocol 14 (D331).
|
||||
|
||||
---
|
||||
|
||||
## 3. Zones: ZoneManager's options, and a dome (§4.4; D166, D167)
|
||||
|
||||
Reference in New Issue
Block a user