Skip to content

Lift event_router classification core into lcc-rs (spec 019 S6) #23

Description

@JohnSL

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/backendTauri Rust backendarea/lcc-rslcc-rs protocol librarykind/ideaDeferred or not-yet-scoped idea

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions