docs(rust): plan fixes — D181-D185, how step 2 is built #288

Closed
wtclaude wants to merge 0 commits from docs/rust-plan-fixes-step2 into main
Member

Records the org lead's answers to step 2's four open choices (PLAN_FIXES §6 step 2), before any code. This follows the pattern step 1 set with docs#285.

# Decision
D181 F12: a ZoneManager helper Harmony-patches Zone.InitializeZone, so every zone that is created, updated or loaded takes in the connected players already inside it. This applies to every zone, not only ours.
D182 The helper ships in the overlay and is installed by default. Without it, the bridge scores its zones by the public IsPositionInZone, hello reports the helper missing, and the site warns.
D183 F14: core gains a terminal expired status and ctx.events.expired({ kind, ref }) (MODULE_API 1.10.0 → 1.11.0). It adds only, so Module-uo (^1.10.0) must be unaffected.
D184 F8: plugin.loaded / plugin.unloaded carry the permissions each plugin added or removed. They are sent only once the world is ready, and a non-empty list marks the sync dirty.
D185 F2: NPC attackers are labelled by the site. No wire change.

The remaining step-2 fixes (F13 what, F3, F4, F1, F7, F5/F6) were built as the plan already describes them.

Tracking: Module-Rust#21.

  • AI-assisted (Claude Code)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

Records the org lead's answers to step 2's four open choices (PLAN_FIXES §6 step 2), before any code. This follows the pattern step 1 set with docs#285. | # | Decision | |---|---| | **D181** | **F12:** a ZoneManager helper Harmony-patches `Zone.InitializeZone`, so every zone that is created, updated or loaded takes in the connected players already inside it. This applies to every zone, not only ours. | | **D182** | The helper ships in the overlay and is installed by default. Without it, the bridge scores its zones by the public `IsPositionInZone`, hello reports the helper missing, and the site warns. | | **D183** | **F14:** core gains a terminal `expired` status and `ctx.events.expired({ kind, ref })` (MODULE_API 1.10.0 → 1.11.0). It adds only, so Module-uo (`^1.10.0`) must be unaffected. | | **D184** | **F8:** `plugin.loaded` / `plugin.unloaded` carry the permissions each plugin added or removed. They are sent only once the world is ready, and a non-empty list marks the sync dirty. | | **D185** | **F2:** NPC attackers are labelled by the site. No wire change. | The remaining step-2 fixes (F13 `what`, F3, F4, F1, F7, F5/F6) were built as the plan already describes them. Tracking: Module-Rust#21. - [x] AI-assisted (Claude Code) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-09-26 20:41:26 -05:00
Step 2 of PLAN_FIXES §6 had four open choices; the org lead answered them
before any code:

- D181/D182: F12 is a ZoneManager helper that Harmony-patches
  Zone.InitializeZone, ships in the overlay, and the bridge falls back to
  IsPositionInZone for scoring without it.
- D183: F14's expiry is core's: an `expired` ledger status and
  ctx.events.expired (MODULE_API 1.11.0), without disturbing Module-uo.
- D184: F8 is plugin.loaded / plugin.unloaded with the permission diff.
- D185: F2 is the site's labels; no wire change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech closed this pull request 2026-09-27 01:13:12 -05:00

Pull request closed

Sign in to join this conversation.
No description provided.