docs(rust): record the answers to Q19-Q25 (D363-D369)

- D363: watch Carbon's updates; keep Rust-Plugins#34 open (no workaround yet).
- D364: a missing NpcSpawn is reported and refused.
- D365: DT warm-up says why, auto-retries once, and staff get a manual retry.
- D366: one bradley.destroyed event carrying launch_site | road.
- D367: satellite crash, Deep Sea open/close and the ghost ship crate join
  §13; the F-15 flyover is decoration an event can call, not an event.
- D368: zone step gets a "no PvP protection" checkbox plus a typed ruleset.
- D369: wipes mirror ZLevels and Server Rewards.

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-14 18:58:21 -05:00
parent b22892c8cf
commit 907a09e777

View File

@@ -11,7 +11,7 @@ chose neither route: Runic Gateway writes its own NPC plugin, RunicNPC, planned
[`../../runicnpc/PLAN.md`](../../runicnpc/PLAN.md) (D214–D314), and the rest of this plan waits for it.** RunicNPC v1.0.0 shipped on 2026-10-09, and the plan
resumed with §2 the same day (D331–D334); §2 was built on 2026-10-12, and §11's Economics spike the same day
raised D335–D336 (§11.2.1). Economics was built on 2026-10-12 too (§11.2.4). The Backpacks spike followed and raised D337–D339 (§11.3.1), and Backpacks was built the same day (D340, D341, §11.3.4). The org lead then added permission rewards (§12,
D342–D346), planned and built the same day. On 2026-10-14 RaidableBases was deferred until the current paid copy arrives (D347), with both editions to be supported (D348, §11.4.2). The same day the org lead added Rust's own world events to the base module (§13, D349) and six more first-class optional plugins (§14, D350–D352), to be tested together in one phase before their integration plan. Their questions were answered the same day (D353–D359, the end walk now waiting for RaidableBases), and Steam sign-in stays on the website's plan, linked as §15 (D360). **The §14.2 test phase ran the same day on both rigs (§14.2.1)**: the org lead ruled D361–D362 during it, and it raises Q19–Q25 for the integration plan. **Every item left is built, tested and PR'd first; every walk —
D342–D346), planned and built the same day. On 2026-10-14 RaidableBases was deferred until the current paid copy arrives (D347), with both editions to be supported (D348, §11.4.2). The same day the org lead added Rust's own world events to the base module (§13, D349) and six more first-class optional plugins (§14, D350–D352), to be tested together in one phase before their integration plan. Their questions were answered the same day (D353–D359, the end walk now waiting for RaidableBases), and Steam sign-in stays on the website's plan, linked as §15 (D360). **The §14.2 test phase ran the same day on both rigs (§14.2.1)**: the org lead ruled D361–D362 during it and answered its Q19–Q25 the same day (D363–D369). **Every item left is built, tested and PR'd first; every walk —
theirs and the ones still owed by §3 and §5 — happens together at the end (D331, §9).**
This is a companion to [`PLAN_FIXES.md`](PLAN_FIXES.md) and [`PLAN.md`](PLAN.md). Where they disagree, this
@@ -927,7 +927,7 @@ pulls) is research, not a walk, so it still comes first:
8. **Permissions as event rewards** (§12), built on 2026-10-12.
9. **Rust's own world events and six more optional plugins** (§13, §14). First comes one test phase covering
all of them on both rigs (§14.2, D352); **it ran on 2026-10-14 (§14.2.1)**. Then one integration plan,
answered before code (§14.3), which starts from Q19–Q25. Then the build, §13 first.
answered before code (§14.3), which starts from D361–D369. Then the build, §13 first.
**Then one walk, on Oxide and Carbon, of everything still owed (D331):** §2.7; §11's rows; §12.9; §13's and
§14's rows; the in-game rows
@@ -1065,6 +1065,18 @@ During the §14.2 test phase (2026-10-14) the org lead ruled on two points it ra
| **D361** | **Guarded Crate may depend on NpcSpawn.** NpcSpawn (Codefling) is downloaded and used as is, on the rigs and by operators; Runic Gateway never ships or modifies it (D351). | Treating NpcSpawn as a licence problem that rules Guarded Crate out. | 14.2.1 |
| **D362** | **Our teardown removes our TruePVE mappings.** TruePVE never prunes a mapping whose zone id is not numeric, and ours are `rg-…`, so the run that maps a zone unmaps it. | Relying on TruePVE to clean up. | 14.2.1 |
The org lead answered the phase's Q19–Q25 on 2026-10-14:
| # | Decision | Rejected | § |
|---|---|---|---|
| **D363** | **Carbon's console route (Q19): watch Carbon's updates and keep an issue open in Rust-Plugins so it is not forgotten** ([Rust-Plugins#34](https://gitea.whitlocktech.com/RunicGateway/Rust-Plugins/issues/34)). No workaround is built for now; each new Carbon production build is re-tested. | Running commands through Carbon's `CommandManager` by reflection now. | 14.2.1 |
| **D364** | **A missing NpcSpawn is reported and refused (Q20):** the hello reports NpcSpawn beside Guarded Crate, the site refuses a guarded-crate step without it and says why, and the operator docs say what NpcSpawn does on load. | Documenting it only. | 14.2.1 |
| **D365** | **Dangerous Treasures' warm-up (Q21):** a step that fails because DT is not ready says so (*"Dangerous Treasures is not ready yet"*), retries once on its own after ten minutes, **and offers staff a manual retry** on the run. | Failing with DT's own text; the bridge pre-warming DT at boot. | 14.2.1 |
| **D366** | **One Bradley event, two places (Q22):** `bradley.destroyed` carries `where: launch_site | road`, and both count toward *Tankbreaker*. | Two separate events; Launch Site only. | 14.2.1, 13 |
| **D367** | **The newer events join §13 (Q23):** the satellite crash, the Deep Sea opening and closing, and the ghost ship's crate (a fourth crate location) are feed events and triggers. **The F-15 flyover is not an event; it can be added to an event as decoration**, a step that calls the flyover (D354). | The F-15 as a feed event or trigger. | 14.2.1, 13 |
| **D368** | **TruePVE in the zone step (Q24):** a *"no PvP protection in this zone"* checkbox (`exclude`), plus an optional ruleset name typed by staff, which the bridge validates by `AddOrUpdateMapping`'s own `false`. | Checkbox only; reading TruePVE's config file. | 14.2.1, 3 |
| **D369** | **Wipes mirror the plugin (Q25):** the site shows what ZLevels and Server Rewards hold and does nothing at a wipe; ZLevels columns are *current level*, not *this wipe*. | Per-wipe snapshots of our own; a site-side wipe reset. | 14.2.1 |
## 11. First-class optional plugins (D199–D202)
The org lead named four plugins the module supports as first-class integrations. Kits already is one. The other
@@ -2281,6 +2293,8 @@ above fires for it too. §13 must not count a plugin's crate as Rust's own (the
##### Questions the phase raises
**All seven were answered on 2026-10-14 (D363–D369, §10).** Q19, Q21 and Q23 differ from the proposals below; D363, D365 and D367 say how.
**Q19 — Carbon's console route.** On Carbon today the bridge cannot start a DT event or a guarded crate by
console command, and its own `c.reload` (D180) silently does nothing. For example, a *Treasure Hunt* event's
"start Dangerous Treasures" step would work on the Oxide rig and do nothing on the Carbon rig. **Proposed:** (a)