# Router Common Models and Abstractions Library ## Module Router ## Status IMPLEMENTED ## Description Core shared library defining frame types (REQUEST, RESPONSE, HELLO, HEARTBEAT, CANCEL, STREAM_DATA), transport abstractions (ITransportServer, ITransportClient), routing contracts (IGlobalRoutingState, IRoutingPlugin, IRegionProvider), and model types (EndpointDescriptor, InstanceDescriptor, ConnectionState, RoutingContext, RoutingDecision, PayloadLimits). ## Implementation Details - **Modules**: `src/Router/__Libraries/StellaOps.Router.Common/` - **Key Classes**: - `PathMatcher` (`src/Router/__Libraries/StellaOps.Router.Common/PathMatcher.cs`) - path matching with wildcard and parameterized segment support - **Interfaces**: `ITransportServer`, `ITransportClient`, `IGlobalRoutingState`, `IRoutingPlugin`, `IRegionProvider` (all defined in Router.Common) - **Models**: `EndpointDescriptor`, `InstanceDescriptor`, `ConnectionState`, `RoutingContext`, `RoutingDecision`, `PayloadLimits`, frame types (REQUEST, RESPONSE, HELLO, HEARTBEAT, CANCEL, STREAM_DATA) - **Source**: batch_51/file_16.md ## E2E Test Plan - [ ] Verify all frame types can be serialized and deserialized correctly - [ ] Verify `PathMatcher` handles exact, wildcard, and parameterized path matching - [ ] Verify `EndpointDescriptor` carries all required metadata (path, method, version, claims) - [ ] Verify `RoutingContext` and `RoutingDecision` models are populated correctly during routing - [ ] Verify `PayloadLimits` enforcement: send a payload exceeding limits and confirm rejection