2.1 KiB
2.1 KiB
AGENTS - Gateway WebService
Mission
- Provide a single HTTP/HTTPS ingress that authenticates callers, routes to microservices over the Router binary protocol, and aggregates OpenAPI and health signals.
Roles
- Backend engineer (.NET 10, C# preview) for Gateway host, routing, and transport integration.
- QA engineer (xUnit, WebApplicationFactory, deterministic fixtures).
- Docs maintainer for gateway module/runbook updates when behavior changes.
Required Reading
- docs/README.md
- docs/07_HIGH_LEVEL_ARCHITECTURE.md
- docs/modules/platform/architecture-overview.md
- docs/modules/gateway/architecture.md
- docs/modules/gateway/openapi.md
- docs/modules/router/architecture.md
- docs/modules/authority/architecture.md
- docs/product-advisories/archived/2025-12-21-reference-architecture/20-Dec-2025 - Stella Ops Reference Architecture.md
Working Directory & Boundaries
- Primary scope: src/Gateway/**
- Tests: src/Gateway/__Tests/**
- Allowed shared libraries: src/__Libraries/StellaOps.Router.Gateway, src/__Libraries/StellaOps.Router.Transport.Tcp, src/__Libraries/StellaOps.Router.Transport.Tls, src/__Libraries/StellaOps.Configuration, src/Authority/StellaOps.Authority/StellaOps.Auth.ServerIntegration
- Avoid cross-module edits unless the sprint explicitly calls them out.
Determinism & Offline Rules
- Deterministic ordering for routing selections, OpenAPI output, and metrics labels.
- No network calls in tests; use in-memory transports or local fixtures.
- Use UTC timestamps and stable correlation IDs.
Configuration & Security
- Use StellaOps.Configuration defaults and environment prefix GATEWAY_.
- Validate options on startup; fail fast on invalid TLS/auth settings.
- Do not log secrets or raw tokens; redact or hash where needed.
Testing Expectations
- Unit tests for routing decisions, transport client, OpenAPI caching, and options validation.
- Integration tests using Router.Transport.InMemory to validate request routing and streaming.
Workflow
- Update sprint status in docs/implplan/SPRINT_*.md when starting/finishing work.
- If blocked by missing contracts or docs, mark the task BLOCKED in the sprint and record in Decisions & Risks.