Files
git.stella-ops.org/docs/router/archived/SPRINT_INDEX.md
master 8779e9226f feat: add stella-callgraph-node for JavaScript/TypeScript call graph extraction
- Implemented a new tool `stella-callgraph-node` that extracts call graphs from JavaScript/TypeScript projects using Babel AST.
- Added command-line interface with options for JSON output and help.
- Included functionality to analyze project structure, detect functions, and build call graphs.
- Created a package.json file for dependency management.

feat: introduce stella-callgraph-python for Python call graph extraction

- Developed `stella-callgraph-python` to extract call graphs from Python projects using AST analysis.
- Implemented command-line interface with options for JSON output and verbose logging.
- Added framework detection to identify popular web frameworks and their entry points.
- Created an AST analyzer to traverse Python code and extract function definitions and calls.
- Included requirements.txt for project dependencies.

chore: add framework detection for Python projects

- Implemented framework detection logic to identify frameworks like Flask, FastAPI, Django, and others based on project files and import patterns.
- Enhanced the AST analyzer to recognize entry points based on decorators and function definitions.
2025-12-19 18:11:59 +02:00

13 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.

Archive notice (2025-12-19): This index lives under docs/router/archived/ and is not an active tracker. Statuses and working directories were audited against current repo layout; remaining TODO items reflect real gaps (mostly missing wiring and/or failing tests).

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 DONE Multiple (see sprint)
7000-0001-0002 Common Library DONE src/__Libraries/StellaOps.Router.Common/
7000-0002-0001 InMemory Transport DONE src/__Libraries/StellaOps.Router.Transport.InMemory/
7000-0003-0001 SDK Core DONE src/__Libraries/StellaOps.Microservice/
7000-0003-0002 SDK Handlers DONE src/__Libraries/StellaOps.Microservice/
7000-0004-0001 Gateway Core DONE src/__Libraries/StellaOps.Router.Gateway/
7000-0004-0002 Gateway Middleware DONE src/__Libraries/StellaOps.Router.Gateway/
7000-0004-0003 Gateway Connections TODO src/__Libraries/StellaOps.Router.Gateway/ + src/__Libraries/StellaOps.Router.Transport.InMemory/
7000-0005-0001 Heartbeat & Health DONE src/__Libraries/StellaOps.Microservice/ + src/__Libraries/StellaOps.Router.Gateway/
7000-0005-0002 Routing Algorithm DONE src/__Libraries/StellaOps.Router.Gateway/
7000-0005-0003 Cancellation DONE src/__Libraries/StellaOps.Router.Gateway/ + src/__Libraries/StellaOps.Router.Transport.InMemory/
7000-0005-0004 Streaming DONE src/__Libraries/StellaOps.Router.Gateway/ + src/__Libraries/StellaOps.Router.Transport.InMemory/
7000-0005-0005 Payload Limits DONE src/__Libraries/StellaOps.Router.Gateway/
7000-0006-0001 TCP Transport DONE src/__Libraries/StellaOps.Router.Transport.Tcp/
7000-0006-0002 TLS Transport DONE src/__Libraries/StellaOps.Router.Transport.Tls/
7000-0006-0003 UDP Transport DONE src/__Libraries/StellaOps.Router.Transport.Udp/
7000-0006-0004 RabbitMQ Transport TODO src/__Libraries/StellaOps.Router.Transport.RabbitMq/
7000-0007-0001 Router Config DONE src/__Libraries/StellaOps.Router.Config/
7000-0007-0002 Microservice YAML DONE src/__Libraries/StellaOps.Microservice/
7000-0008-0001 Authority Integration DONE src/__Libraries/StellaOps.Router.Gateway/ + src/Authority/*
7000-0008-0002 Source Generator DONE src/__Libraries/StellaOps.Microservice.SourceGen/
7000-0009-0001 Reference Example DONE examples/router/
7000-0010-0001 Migration DONE Multiple (final integration)
7000-0011-0001 Router Testing Sprint DONE tests/ + src/__Libraries/__Tests/

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.