Command Pattern — CLI, API, GUI unified dispatch
All three interfaces now dispatch through CommandBus using the same frozen dataclass commands as pure value objects.
Internal
CommandBuswith middleware chain: logging, timing, rate-limiting- Per-context buses: CLI/API use immediate-send handlers; GUI LCD same, GUI LED uses state-only
update_*handlers (preserves 150ms tick architecture) - Strict DI:
LCDHandlerandLEDHandlerraiseValueErrorat construction if bus not injected — no fallbacks - 5217 tests passing