docs(events): the Event System design of record and its phased plan
Two documents for a game-agnostic Event System: an engine for scheduled, bounded, audited changes to a live game world, driven by the staff who already run the site. EVENTS.md is the design of record. It surveys what the eight repos already provide, records what they do not, and proposes the architecture: core owns the engine, a module owns the meaning, and the seam is declaration plus dispatch rather than a string core interprets. Two findings shape it. An event does not edit the world, it holds a LEASE with a game-side deadline and a compare-and-set restore, so baseline returns even if the website never comes home. And a reward is an ordinary module action, optional per module, whose reversibility is the module's business. EVENTS_PLAN.md decides order: seventeen phases, what each ships on its own merit, how each is proved, and the traps in each. Fourteen of them reach the game only to announce, over verbs the write plane already carries, and need no decision beyond P0; only P11 and P12 are gated on the ADMIN_CONTROLS.md Section 8 amendment. This discharges the first half of P0. The decisions -- N1 through N11, and the Section 8 amendment itself -- remain, and they are the part that gates the two world-changing phases. Every codebase claim was read from the working trees on 2026-09-01. Where a document and the code disagreed, both are recorded rather than quietly resolved: ARCHITECTURE.md places the SSE fan-out in core when it is entirely module-uo's, and rust-dryrun.md asserts the Android app feature-detects on /public/modules when it hardcodes a module path instead. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T6t8mrAWhZU5vnyYgZTMtL
This commit is contained in:
1151
website/EVENTS.md
Normal file
1151
website/EVENTS.md
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user