docs(rust): the last fixes' docs (N1 N2 W20 W22 W23) and stage 4's core docs

Stage 5 of PLAN_LAST_FIXES (docs#366).

- OPERATING.md: a RaidableBases section. Change its config with a
  restart, never a reload (N2); switching to the free edition rewrites
  a paid pack's profiles (N1).
- PLAN_REDESIGNS 14.3.4: no manual retry for Dangerous Treasures (Q39,
  W20); 11.4: which hook rbevent setowner raises (W23); 9.1 status.
- PLAYER_WALK: rows 2.2, 2.8 and 2.9, Before you start item 8 (BetterChat
  and the four title rules), Carbon's share trimmed to 2.11 (W22, W23).
- PROTOCOL: 20.5 world.error already-out (W3), 20.12 the rollback's log
  is RaidableBases' own (W9) and setowner's two hooks (W23).
- Core, from website#219: MODULE_SYSTEM 2.5 and MODULE_API 4.2 (one
  module at boot, W19), MODULE_API and EVENTS L (a resource's until read
  at reconcile, W1), EVENTS D/I/K and BACKEND_DESIGN (a draft's dry run
  carried by fingerprint, W5), EVENTS observability (W2's words).
- PLAN_LAST_FIXES: status, Q37-Q40 answers, 7 updated, 8 what was built.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-10-22 01:36:57 -05:00
parent 27dd1f8d80
commit 20518ca816
9 changed files with 177 additions and 39 deletions

View File

@@ -1,7 +1,9 @@
# `module-rust` — the last fixes before the cutover
**Status:** plan, written 2026-10-21 after the end walk's in-game pass. Nothing in it is built yet. Each fix waits
for the org lead's go, and the questions in §5 are answered before the code they shape. It continues
**Status:** **stages 1–5 done, 2026-10-22.** Every fix in §3 is built, and §8 names the PR for each. The
questions in §5 were answered on 2026-10-21, and the stage 4 decisions on 2026-10-22. Stage 6, the release and
the cutover, waits for the org lead's go, and §7's clean-up comes after it. Written 2026-10-21 after the end
walk's in-game pass, as a plan. It continues
[`PLAN_REDESIGNS.md`](PLAN_REDESIGNS.md) §9.1, which lists W1–W20 and N1 from the passes without a player. This
document adds what the in-game pass found and puts everything in one list, in the order it should be built.
@@ -142,6 +144,18 @@ retry a step that is still pending.
site now has title rules for the richest, raids, treasures and guarded crates. Keep both, or remove them with the
rest of §7?
**Answered 2026-10-21, each with the recommended option:**
- **Q37: (c), and stricter at boot (2026-10-22).** One game module per site. The proposal was a clear message
when the second module's slot collides. The org lead chose a full stop instead: the first module directory by
name loads, and every other is refused before its code is required, as the installer already refuses one.
No MODULE_API change ([`MODULE_SYSTEM.md`](../../website/MODULE_SYSTEM.md) §2.5,
[`MODULE_API.md`](../../website/MODULE_API.md) §4.2).
- **Q38:** the release and the cutover do not wait for §6's second-player rows. They are walked when a second
player is free.
- **Q39: (a).** PLAN_REDESIGNS §14.3.4 drops "the manual retry". Docs only.
- **Q40: keep both.** BetterChat stays on the Oxide rig, and the four title rules stay on the walk site.
---
## 6. Still owed, with a second player
@@ -153,14 +167,30 @@ rows of 4.4. They are written in PLAYER_WALK and need no change.
## 7. Cleaning up after the walk
Done on the org lead's go, after §5's Q40:
Done on the org lead's go, after stage 6. Q40 keeps BetterChat on the Oxide rig and the title rules on the walk
site, so neither is in this list:
- **Oxide rig:** remove A from the owners (`removeowner`, then `server.writecfg`). Remove the walk-only
RgKitProbe plugin, which holds god mode and a teleport command, and the RgWalk stand-in plugin. Restore
RaidableBases' config from the walk's backup, which takes away the 100-coin Easy and Medium buy costs, and
**restart** the server rather than reloading (N2).
- **Walk site:** remove A's test grants (`backpacks.use` on Oxide; the `backpacks.use` given on Carbon), and
the title rules if Q40 says so.
- **Walk site:** remove A's test grants (`backpacks.use` on Oxide; the `backpacks.use` given on Carbon).
- **Steam:** rotate the Steam Web API key, which was pasted into the chat that ran the walk, and put the new
one in Admin → Auth → Steam.
- **W21** stays patched only on the walk site until §4 step 1 lands. Nothing else depends on the walk site's copy.
- **The rigs' bridge:** both rigs still run stage 3's branch (Rust-Plugins#43), now merged to `edge`. The release
puts the released bridge on them.
- **W21** landed in stage 1 (Module-Rust#54), so the walk site's hand patch is no longer needed.
---
## 8. What was built
One PR per repo per stage, each merged into `edge` (the Rust repos and website) or `main` (docs) by the org lead.
| Stage | PR | Fixes |
|---|---|---|
| 1, the two bugs (2026-10-21) | Module-Rust#54 | **W21**: the push sends `notices`. **W4**: the credit rule is stamped on each helicopter and Bradley row at ingest and read from the stamp; a row from before the fix is read by the current rule |
| 2, Module-Rust's small fixes (2026-10-21) | Module-Rust#55 | W3 (reads the bridge's `already-out` as a success that called 0), W6, W7 and W11 (a "not loaded" refusal is confirmed against the sidecar, at most every 5 s and within 3 s), W8, W10, W13–W16. **W17**: the sync state only, *"in sync · N wait for their player to join"*; the run log is unchanged, because core has no way for a module to add a line to it. **W18**: the number is dropped from the note |
| 3, the bridge (2026-10-21) | Rust-Plugins#43 | W3 (`world.error` `already-out`), W9 (RaidableBases' own log lines since the write), W12 (`raid.ended` carries `id`, and `runId` and `key` for a run's base). No protocol bump, because PROTOCOL already listed W12's fields. Walked on both rigs |
| 4, core (2026-10-22) | website#219, Module-Rust#56 | **W19**: one module per site at boot (Q37). W1: a zone reports `until`, and a reconcile files a resource gone past it as `expired`. W5: a draft's passing dry run carries over by spec fingerprint. W2: *"Phase p1: steps done, waiting to advance"*. No MODULE_API bump. Walked on the walk site |
| 5, docs (2026-10-22) | docs (this stage) | N1 and N2 in OPERATING.md. W20 in PLAN_REDESIGNS §14.3.4 (Q39). W22 and W23 in PLAYER_WALK, PROTOCOL §20.12 and PLAN_REDESIGNS §11.4. The wire changes stages 2–3 made without a doc edit (PROTOCOL §20.5's `already-out`, §20.12's rollback log). Stage 4's core docs: MODULE_SYSTEM §2.5, MODULE_API §4.2 and the resource `until`, EVENTS §D, §I, §K and §L, and BACKEND_DESIGN's three new columns |