more features checks. setup improvements
This commit is contained in:
35
docs/features/checked/signals/signals-router-transport.md
Normal file
35
docs/features/checked/signals/signals-router-transport.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user