Round 36 milestone: instanced zones (#72)
New deep-dive page Instanced-Zones, plus corrections to two pages that
asserted "instancing is deferred / not implemented".
- NEW Instanced-Zones: template-vs-id identity and the ownsZoneRef locality
chokepoint (with the build-failing AST lint); why the id is <template>#<128-bit
random> (# outside the ref charset, unguessable so it is not a farming oracle);
unleased by construction; async 3-hop mint + quiescence reaper; the
instanceable content opt-in; the isolation exclusions (persistent resets fail
closed vs a durable item dupe, per-mint RNG salting, withheld director
schedule events, refused signal_region/world, drain/reload/off-box-ingress);
THE ANCHOR (template projection was killed because placement is the gate ROUTING
key); exit paths; and the security posture.
- Distributed-Systems-Model + Running-at-Scale (x2): instancing now exists but is
ISOLATION, not transparent load-sharding — the public hot-zone ceiling stands.
- Zone-Runtime: quiescence gains the third `incoming` counter for in-flight
intra-shard transfers, claimed under the same mutex teardown checks.
- Cross-Shard-Handoff + RPC-and-Protobuf: signed-snapshot optionals now written
UNCONDITIONALLY — a second append-if-non-empty optional made
digest(tier="",account=X) == digest(tier=X,account="") (length prefixes solve
boundaries, not presence); instances rejected at every off-box ingress.
- Persistence: an instance is never a durable location; the anchor + COALESCE.
- Pack-Entity-Reference: zone `instanceable` flag, start_room respawn semantics.
- Pack-Lua-Scripting: mud.zone(), mud.send_to_instance (self-only).
- Orchestration: instances withheld from reserved schedule fan-out.
- Sidebar + Engine-Developer-Reference index entries.
Round 29: help system (#64) + world-director script (#47)
Round did not self-document. Two LARGE features:
#47 content-defined Lua world-director script (the headline — closes the
'director-script unauthored' gap the Orchestration + Engine-Dev-landing pages
carried):
- Orchestration-and-Directors: new 'The world-director script' section — the
director host table (get/set/broadcast/log), on_signal delivered per non-
boss.died signal, the four guards (guard-your-own-events, idempotent derived
writes, reserved key/down-event refusal); rewrote the stale 'unauthored' note.
- Lua-Sandbox-Internals: the sandbox core is now a shared internal/luasandbox
package used by both the zone VM and the director VM, cross-checked by a
build-failing parity test.
- Scoped-Event-Bus: signal-up is now consumed by the content on_signal handler.
- Pack-MUD-Settings: world_script manifest field.
- Pack-Lua-Hooks: builder-facing 'The world-director script' authoring section.
#64 builder-defined help system:
- Pack-Entity-Reference: help_defs def table (ref/title/category/keywords/body/
see_also; auto-includes the command set; honors CmdHidden+MinRank).
- Builder-Commands + Player-Reference: the help command; fixed the stale
'CmdHidden has no help/listing consumer yet' note.
Engine Dev: auth internals, Lua sandbox, architecture, landing
- Accounts-and-Auth-Internals: device bridge, signed assertions, tier authority,
single-session lock; passphrase/SSH/Google/Discord marked not-implemented
- Lua-Sandbox-Internals: per-zone VM, allowlisted stdlib, chokepoint budgets,
circuit breaker, self.state trust boundary, validated handles
- Architecture-Overview: service fleet, keystroke path, single-writer model,
engine-vs-content pillar, codebase layout
- Engine-Developer-Reference landing → Ready
Completes the Engine Developer Reference section (19 deep-dives + index).
Correct transport claims: GMCP-only, no MCCP/NAWS/SSH
Code only offers/accepts GMCP (telnet option 201); MCCP2/NAWS/TTYPE/CHARSET
are skipped/refused and SSH was removed (OAuth-only). Fixes Overview + the
Edge/Engine-Dev/Player scaffolds that claimed otherwise.
Scaffold wiki + author About and Getting Started
- 48-page skeleton across all audiences (flat files + grouped _Sidebar)
- Every page carries an Audience + Status banner (Ready/Draft/Placeholder)
- About: Overview, History of MUDs (Ready)
- Getting Started: Getting-Started, Running-Locally, First-Admin-Setup,
Content-Packs-Intro (Ready) — dev bypass, local GitHub OAuth, bootstrap
admin, promote/demote, content-pack model, all grounded in code
- SRD5/WoW/D6 pack pages are honest placeholders (packs not yet built)