v1.0.0

Core Architecture Foundations: establish the foundational architecture that all subsequent milestones build upon.

Primary Goals:

  • Complete the GDBM to ImmuDB event sourcing migration through all 4 phases: dual-write (Phase 1), dual-primary with rollback (Phase 2), ES-primary with projection reads (Phase 3), and full GDBM removal (Phase 4)
  • Establish Wisper as the universal event bus: define and publish all domain events, replace all legacy direct-call patterns (player.output, out_event, room.output, alert), and remove the deprecated reflection-based EventHandler
  • Modernize server infrastructure: implement lifecycle hook system, migrate from IO.select to EventMachine reactor pattern, migrate API documentation from RDoc to YARD
  • Implement the Trie-based command dispatch router and action middleware pipeline, replacing the O(n) Wisper fan-out for command matching
  • Security hardening: upgrade password hashing from MD5 to bcrypt, replace Marshal serialization with Oj/JSON in all persistence paths
  • Refactor the Hydration module to use per-class volatile declarations with ancestor chain traversal and thread-safe serialization
  • Centralize ES command emission into a single EventSourceService

Acceptance Criteria:

  • GDBM is completely removed from the codebase; the gdbm gem is not in dependencies; StorageMachine is deleted
  • All persistence flows through Sequent/ImmuDB with Oj/JSON serialization
  • Zero legacy direct-call patterns remain: no out_event(), room.output(), player.output(), or alert() in production code
  • EventHandler class is deleted; combat delayed events use CombatService, NPC reactions use PriorityQueue
  • All commands dispatch through the Trie-based CommandRouter with middleware pipeline
  • Server network layer uses EventMachine reactor (no IO.select main loop)
  • Lifecycle hooks fire for server, player, and object lifecycle events
  • All passwords stored as bcrypt hashes; no MD5 in any code path
  • Hydration uses per-class @_volatile_vars with SERIALIZATION_MUTEX
  • All tests pass at 97% unit coverage threshold
2026-12-15
12% Completed