Files
git.stella-ops.org/docs/router/archived/SPRINT_INDEX.md
StellaOps Bot 4042fc2184
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
release-manifest-verify / verify (push) Has been cancelled
Add unit tests for PackRunAttestation and SealedInstallEnforcer
- Implement comprehensive tests for PackRunAttestationService, covering attestation generation, verification, and event emission.
- Add tests for SealedInstallEnforcer to validate sealed install requirements and enforcement logic.
- Introduce a MonacoLoaderService stub for testing purposes to prevent Monaco workers/styles from loading during Karma runs.
2025-12-06 22:25:30 +02:00

12 KiB

Stella Ops Router - Sprint Index

BLOCKED Tasks: Before working on BLOCKED tasks, review ../implplan/BLOCKED_DEPENDENCY_TREE.md for root blockers and dependencies.

This document provides an overview of all sprints for implementing the StellaOps Router infrastructure. Sprints are organized for maximum agent independence while respecting dependencies.

Key Documents

Document Purpose
specs.md Canonical specification - READ FIRST
implplan.md High-level implementation plan
Step files (01-29) Detailed task breakdowns per phase

Sprint Epochs

All router sprints use Epoch 7000 to maintain isolation from existing StellaOps work.

Batch Focus Area Sprints
0001 Foundation Skeleton, Common library
0002 InMemory Transport Prove the design before real transports
0003 Microservice SDK Core infrastructure, request handling
0004 Gateway Core, middleware, connection handling
0005 Protocol Features Heartbeat, routing, cancellation, streaming, limits
0006 Real Transports TCP, TLS, UDP, RabbitMQ
0007 Configuration Router config, microservice YAML
0008 Integration Authority, source generator
0009 Examples Reference implementation
0010 Migration WebService → Microservice

Sprint Dependency Graph

                    ┌─────────────────────────────────────┐
                    │  SPRINT_7000_0001_0001              │
                    │  Router Skeleton                    │
                    └───────────────┬─────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0001_0002              │
                    │  Common Library Models              │
                    └───────────────┬─────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0002_0001              │
                    │  InMemory Transport                 │
                    └───────────────┬─────────────────────┘
                                    │
         ┌──────────────────────────┼──────────────────────────┐
         │                          │                          │
         ▼                          │                          ▼
┌─────────────────────┐             │             ┌─────────────────────┐
│ SPRINT_7000_0003_*  │             │             │ SPRINT_7000_0004_*  │
│ Microservice SDK    │             │             │ Gateway             │
│ (2 sprints)         │◄────────────┼────────────►│ (3 sprints)         │
└─────────┬───────────┘             │             └─────────┬───────────┘
          │                         │                       │
          └─────────────────────────┼───────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0005_0001-0005         │
                    │  Protocol Features (sequential)     │
                    │  Heartbeat → Routing → Cancel       │
                    │  → Streaming → Payload Limits       │
                    └───────────────┬─────────────────────┘
                                    │
         ┌──────────────────────────┼──────────────────────────┐
         │                          │                          │
         ▼                          ▼                          ▼
┌─────────────────┐      ┌─────────────────┐      ┌─────────────────┐
│ TCP Transport   │      │ UDP Transport   │      │ RabbitMQ        │
│ 7000_0006_0001  │      │ 7000_0006_0003  │      │ 7000_0006_0004  │
└────────┬────────┘      └─────────────────┘      └─────────────────┘
         │
         ▼
┌─────────────────┐
│ TLS Transport   │
│ 7000_0006_0002  │
└────────┬────────┘
         │
         └──────────────────────────┬──────────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0007_0001-0002         │
                    │  Configuration (sequential)         │
                    └───────────────┬─────────────────────┘
                                    │
         ┌──────────────────────────┼──────────────────────────┐
         │                          │                          │
         ▼                          │                          ▼
┌─────────────────────┐             │             ┌─────────────────────┐
│ Authority Integration│             │             │ Source Generator    │
│ 7000_0008_0001      │◄────────────┼────────────►│ 7000_0008_0002      │
└─────────────────────┘             │             └─────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0009_0001              │
                    │  Reference Example                  │
                    └───────────────┬─────────────────────┘
                                    │
                    ┌───────────────▼─────────────────────┐
                    │  SPRINT_7000_0010_0001              │
                    │  Migration                          │
                    │  (Connects to rest of StellaOps)    │
                    └─────────────────────────────────────┘

Parallel Execution Opportunities

These sprints can run in parallel:

Phase Parallel Track A Parallel Track B Parallel Track C
After InMemory SDK Core (0003_0001) Gateway Core (0004_0001) -
After Protocol TCP (0006_0001) UDP (0006_0003) RabbitMQ (0006_0004)
After TCP TLS (0006_0002) (continues above) (continues above)
After Config Authority (0008_0001) Source Gen (0008_0002) -

Sprint Status Overview

Sprint Name Status Working Directory
7000-0001-0001 Router Skeleton TODO Multiple (see sprint)
7000-0001-0002 Common Library TODO src/__Libraries/StellaOps.Router.Common/
7000-0002-0001 InMemory Transport TODO src/__Libraries/StellaOps.Router.Transport.InMemory/
7000-0003-0001 SDK Core TODO src/__Libraries/StellaOps.Microservice/
7000-0003-0002 SDK Handlers TODO src/__Libraries/StellaOps.Microservice/
7000-0004-0001 Gateway Core TODO src/Gateway/StellaOps.Gateway.WebService/
7000-0004-0002 Gateway Middleware TODO src/Gateway/StellaOps.Gateway.WebService/
7000-0004-0003 Gateway Connections TODO src/Gateway/StellaOps.Gateway.WebService/
7000-0005-0001 Heartbeat & Health TODO SDK + Gateway
7000-0005-0002 Routing Algorithm TODO src/Gateway/StellaOps.Gateway.WebService/
7000-0005-0003 Cancellation TODO SDK + Gateway
7000-0005-0004 Streaming TODO SDK + Gateway + InMemory
7000-0005-0005 Payload Limits TODO src/Gateway/StellaOps.Gateway.WebService/
7000-0006-0001 TCP Transport TODO src/__Libraries/StellaOps.Router.Transport.Tcp/
7000-0006-0002 TLS Transport TODO src/__Libraries/StellaOps.Router.Transport.Tls/
7000-0006-0003 UDP Transport TODO src/__Libraries/StellaOps.Router.Transport.Udp/
7000-0006-0004 RabbitMQ Transport TODO src/__Libraries/StellaOps.Router.Transport.RabbitMq/
7000-0007-0001 Router Config TODO src/__Libraries/StellaOps.Router.Config/
7000-0007-0002 Microservice YAML TODO src/__Libraries/StellaOps.Microservice/
7000-0008-0001 Authority Integration TODO Gateway + Authority
7000-0008-0002 Source Generator TODO src/__Libraries/StellaOps.Microservice.SourceGen/
7000-0009-0001 Reference Example TODO examples/router/
7000-0010-0001 Migration TODO Multiple (final integration)

Critical Path

The minimum path to a working router:

  1. 7000-0001-0001 → Skeleton
  2. 7000-0001-0002 → Common models
  3. 7000-0002-0001 → InMemory transport
  4. 7000-0003-0001 → SDK core
  5. 7000-0003-0002 → SDK handlers
  6. 7000-0004-0001 → Gateway core
  7. 7000-0004-0002 → Gateway middleware
  8. 7000-0004-0003 → Gateway connections

After these 8 sprints, you have a working router with InMemory transport for testing.

Isolation Strategy

The router is developed in isolation using:

  1. Separate solution file: StellaOps.Router.sln
  2. Dedicated directories: All router code in new directories
  3. No changes to existing modules: Until migration sprint
  4. InMemory transport first: No network dependencies during core development

This ensures:

  • Router development doesn't impact existing StellaOps builds
  • Agents can work independently on router without merge conflicts
  • Full testing possible without real infrastructure
  • Migration is a conscious, controlled step

Agent Assignment Guidance

For maximum parallelization:

  • Foundation Agent: Sprints 7000-0001-0001, 7000-0001-0002
  • SDK Agent: Sprints 7000-0003-0001, 7000-0003-0002
  • Gateway Agent: Sprints 7000-0004-0001, 7000-0004-0002, 7000-0004-0003
  • Transport Agent: Sprints 7000-0002-0001, 7000-0006-*
  • Protocol Agent: Sprints 7000-0005-*
  • Config Agent: Sprints 7000-0007-*
  • Integration Agent: Sprints 7000-0008-*, 7000-0010-0001
  • Documentation Agent: Sprint 7000-0009-0001

Invariants (Never Violate)

From specs.md, these are non-negotiable:

  • Method + Path is the endpoint identity
  • Strict semver for version matching
  • Region from GatewayNodeConfig.Region (never from headers/host)
  • No HTTP transport between gateway and microservices
  • RequiringClaims (not AllowedRoles) for authorization
  • Opaque body handling (router doesn't interpret payloads)

Any change to these invariants requires updating specs.md first.