Summary
Move bus-level event-report classification (PCER, EventReportWithPayload, Identify Events, Learn Event) out of app/src-tauri::events::router into a new lcc-rs::event_router. The classification core becomes Tauri-independent (no AppHandle); the app-layer router is thinned to a Tauri-emit adapter over the protocol classifier.
Areas
lcc-rs (new event_router module), app/src-tauri (events::router thinned to emit adapter).
Origin
Deferred from spec 019 (peer-session refactor), slice S6, in the 2026-07-18 scope revision. Classified as pure cleanup with no correctness payoff, so it was cut from the merge-readiness gate.
Prior Work
specs/019-peer-session-refactor/slices.md — slice S6 acceptance criteria.
- ADR-0016 (per-peer session actor ownership) — establishes the protocol-vs-app boundary this extends.
Open Questions
- Confirm
EventRouter becomes the sole fan-out point for bus-level event-report traffic (verify by grep for direct subscribers of the transport broadcast that classify event-report MTIs).
- Decide the test split: classification unit tests move to
lcc-rs::event_router::tests; Tauri-emit tests stay in app/src-tauri.
- Acceptance: event-subscribed UI still updates on PCER (0x5B4), EventReportWithPayload (0x5B5), Identify Events (0x968/0x970), Learn Event (0x594) unchanged; no Tauri types imported by
lcc-rs::event_router.
Summary
Move bus-level event-report classification (PCER, EventReportWithPayload, Identify Events, Learn Event) out of
app/src-tauri::events::routerinto a newlcc-rs::event_router. The classification core becomes Tauri-independent (noAppHandle); the app-layer router is thinned to a Tauri-emit adapter over the protocol classifier.Areas
lcc-rs(newevent_routermodule),app/src-tauri(events::routerthinned to emit adapter).Origin
Deferred from spec 019 (peer-session refactor), slice S6, in the 2026-07-18 scope revision. Classified as pure cleanup with no correctness payoff, so it was cut from the merge-readiness gate.
Prior Work
specs/019-peer-session-refactor/slices.md— slice S6 acceptance criteria.Open Questions
EventRouterbecomes the sole fan-out point for bus-level event-report traffic (verify by grep for direct subscribers of the transport broadcast that classify event-report MTIs).lcc-rs::event_router::tests; Tauri-emit tests stay inapp/src-tauri.lcc-rs::event_router.