# Signals Router Transport ## Module Signals ## Status VERIFIED ## Description Event routing transport layer for signals enabling alternative message delivery paths beyond Redis, supporting pluggable transport backends for fact propagation. ## Implementation Details - **Modules**: `src/Signals/StellaOps.Signals/Services/`, `src/Signals/StellaOps.Signals/Options/` - **Key Classes**: - `RouterEventsPublisher` (`src/Signals/StellaOps.Signals/Services/RouterEventsPublisher.cs`) - routes signal events via configurable transport backend - `RedisEventsPublisher` (`src/Signals/StellaOps.Signals/Services/RedisEventsPublisher.cs`) - Redis-based transport for signal event delivery - `MessagingEventsPublisher` (`src/Signals/StellaOps.Signals/Services/MessagingEventsPublisher.cs`) - messaging-based transport backend - `InMemoryEventsPublisher` (`src/Signals/StellaOps.Signals/Services/InMemoryEventsPublisher.cs`) - in-memory transport for testing - `NullEventsPublisher` (`src/Signals/StellaOps.Signals/Services/NullEventsPublisher.cs`) - no-op transport for disabled routing - `SignalsRouterEventsOptions` (`src/Signals/StellaOps.Signals/Options/SignalsRouterEventsOptions.cs`) - configuration for router transport selection - **Interfaces**: `IEventsPublisher` (`src/Signals/StellaOps.Signals/Services/IEventsPublisher.cs`) - **Source**: SPRINT_0143_0001_0001_signals.md ## E2E Test Plan - [ ] Configure `RouterEventsPublisher` with Redis transport and verify signal events are delivered - [ ] Switch transport to `MessagingEventsPublisher` and verify events are delivered via messaging backend - [ ] Verify `InMemoryEventsPublisher` captures events in memory for test assertions - [ ] Publish a reachability fact update and verify it is routed to subscribers via the configured transport - [ ] Verify transport selection via `SignalsRouterEventsOptions` configuration ## Verification - **Run ID**: run-001 - **Date**: 2026-02-12 - **Result**: PASS (Tier 0 + Tier 1 + Tier 2d) - **Tests**: RouterEventsPublisherTests (2 tests) + InMemoryEventsPublisherTests (1 test) - HTTP envelope, headers, error handling, structured events