Files
git.stella-ops.org/src/Gateway/AGENTS.md

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.