Skip to Content
DevelopersDecision records0015 Event bus and mutation broadcast

ADR 0015: Event bus and mutation broadcast

Status: Accepted Date: 2026-10-31

Decision

src/lib/eventBus.ts is the single fan-out point. createCore() subscribes the HAL to it; routers emit mutation events; the scheduler emits schedule events. Consumers: the tRPC events.onChange subscription (SSE), /api/ws, the telemetry recorder, and the HA bridge. The UI invalidates queries on events instead of polling.

Adapted from sleepypod ADR 0015.


Sources: sleepypod/core (conventions and ADR precedents) 

Imported from docs/adr/0015-event-bus.md in seedypod/core. Edit it there, not here.

Last updated on