Modern Command Dispatch Architecture #97
Labels
No labels
Blocked
Duplicate
MoSCoW/Could Have
MoSCoW/Must Have
MoSCoW/Should Have
Points/1
Points/13
Points/2
Points/21
Points/3
Points/5
Points/8
Priority/Backlog
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
State/Completed
State/In progress
State/In review
State/Paused
State/Unverified
State/Verified
State/Wont Do
Type/Bug
Type/Epic
Type/Feature
Type/Legendary
Type/Task
Type/Testing
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#98 Epic: Trie-based Command Dispatch Router
aethyr/Aethyr
#104 Epic: Action Middleware Pipeline
aethyr/Aethyr
#291 Epic: Input Validation Framework
aethyr/Aethyr
Reference: aethyr/Aethyr#97
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background and Context
The specification (§ Command Dispatch Router, § Action Middleware Pipeline) describes a
modern command dispatch system that replaces the current Wisper pub/sub fan-out pattern
with a trie-based command router and composable middleware pipeline.
Currently, player input is broadcast to ALL subscribed
CommandHandlerinstances viaWisper's
:player_inputevent. Each handler independently regex-matches the input.This is O(n) in the number of handlers and provides no centralized middleware for
cross-cutting concerns like permission checks, balance validation, or logging.
The specified architecture uses:
Expected Behavior
All player commands dispatch through
CommandRouterwith O(k) lookup. Cross-cuttingconcerns are handled by middleware rather than duplicated in each handler.
Acceptance Criteria
Subtasks
Definition of Done
This Legendary is complete when all child Epics are closed and their acceptance
criteria are satisfied.