feat(#93): implement agent spawn via federation
Implements FED-010: Agent Spawn via Federation feature that enables spawning and managing Claude agents on remote federated Mosaic Stack instances via COMMAND message type. Features: - Federation agent command types (spawn, status, kill) - FederationAgentService for handling agent operations - Integration with orchestrator's agent spawner/lifecycle services - API endpoints for spawning, querying status, and killing agents - Full command routing through federation COMMAND infrastructure - Comprehensive test coverage (12/12 tests passing) Architecture: - Hub → Spoke: Spawn agents on remote instances - Command flow: FederationController → FederationAgentService → CommandService → Remote Orchestrator - Response handling: Remote orchestrator returns agent status/results - Security: Connection validation, signature verification Files created: - apps/api/src/federation/types/federation-agent.types.ts - apps/api/src/federation/federation-agent.service.ts - apps/api/src/federation/federation-agent.service.spec.ts Files modified: - apps/api/src/federation/command.service.ts (agent command routing) - apps/api/src/federation/federation.controller.ts (agent endpoints) - apps/api/src/federation/federation.module.ts (service registration) - apps/orchestrator/src/api/agents/agents.controller.ts (status endpoint) - apps/orchestrator/src/api/agents/agents.module.ts (lifecycle integration) Testing: - 12/12 tests passing for FederationAgentService - All command service tests passing - TypeScript compilation successful - Linting passed Refs #93 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
166
docs/ROADMAP.md
166
docs/ROADMAP.md
@@ -5,12 +5,12 @@
|
||||
|
||||
## Versioning Policy
|
||||
|
||||
| Version | Meaning |
|
||||
|---------|---------|
|
||||
| `0.0.x` | Active development, breaking changes expected |
|
||||
| `0.1.0` | **MVP** — First user-testable release |
|
||||
| Version | Meaning |
|
||||
| ------- | ------------------------------------------------ |
|
||||
| `0.0.x` | Active development, breaking changes expected |
|
||||
| `0.1.0` | **MVP** — First user-testable release |
|
||||
| `0.x.y` | Pre-stable iteration, API may change with notice |
|
||||
| `1.0.0` | Stable release, public API contract |
|
||||
| `1.0.0` | Stable release, public API contract |
|
||||
|
||||
---
|
||||
|
||||
@@ -57,6 +57,7 @@ Legend: ───── Active development window
|
||||
## Milestones Detail
|
||||
|
||||
### ✅ M2-MultiTenant (0.0.2) — COMPLETE
|
||||
|
||||
**Due:** 2026-02-08 | **Status:** Done
|
||||
|
||||
- [x] Workspace model and CRUD
|
||||
@@ -68,70 +69,74 @@ Legend: ───── Active development window
|
||||
---
|
||||
|
||||
### 🚧 M3-Features (0.0.3)
|
||||
|
||||
**Due:** 2026-02-15 | **Status:** In Progress
|
||||
|
||||
Core features for daily use:
|
||||
|
||||
| Issue | Title | Priority | Status |
|
||||
|-------|-------|----------|--------|
|
||||
| #15 | Gantt chart component | P0 | Open |
|
||||
| #16 | Real-time updates (WebSocket) | P0 | Open |
|
||||
| #17 | Kanban board view | P1 | Open |
|
||||
| #18 | Advanced filtering and search | P1 | Open |
|
||||
| #21 | Ollama integration | P1 | Open |
|
||||
| #37 | Domains model | — | Open |
|
||||
| #41 | Widget/HUD System | — | Open |
|
||||
| #82 | Personality Module | P1 | Open |
|
||||
| Issue | Title | Priority | Status |
|
||||
| ----- | ----------------------------- | -------- | ------ |
|
||||
| #15 | Gantt chart component | P0 | Open |
|
||||
| #16 | Real-time updates (WebSocket) | P0 | Open |
|
||||
| #17 | Kanban board view | P1 | Open |
|
||||
| #18 | Advanced filtering and search | P1 | Open |
|
||||
| #21 | Ollama integration | P1 | Open |
|
||||
| #37 | Domains model | — | Open |
|
||||
| #41 | Widget/HUD System | — | Open |
|
||||
| #82 | Personality Module | P1 | Open |
|
||||
|
||||
---
|
||||
|
||||
### 🚧 M4-MoltBot (0.0.4)
|
||||
|
||||
**Due:** 2026-02-22 | **Status:** In Progress
|
||||
|
||||
Agent integration and skills:
|
||||
|
||||
| Issue | Title | Priority | Status |
|
||||
|-------|-------|----------|--------|
|
||||
| #22 | Brain query API endpoint | P0 | Open |
|
||||
| #23 | mosaic-plugin-brain skill | P0 | Open |
|
||||
| #24 | mosaic-plugin-calendar skill | P1 | Open |
|
||||
| #25 | mosaic-plugin-tasks skill | P1 | Open |
|
||||
| #26 | mosaic-plugin-gantt skill | P2 | Open |
|
||||
| #27 | Intent classification service | P1 | Open |
|
||||
| #29 | Cron job configuration | P1 | Open |
|
||||
| #42 | Jarvis Chat Overlay | — | Open |
|
||||
| Issue | Title | Priority | Status |
|
||||
| ----- | ----------------------------- | -------- | ------ |
|
||||
| #22 | Brain query API endpoint | P0 | Open |
|
||||
| #23 | mosaic-plugin-brain skill | P0 | Open |
|
||||
| #24 | mosaic-plugin-calendar skill | P1 | Open |
|
||||
| #25 | mosaic-plugin-tasks skill | P1 | Open |
|
||||
| #26 | mosaic-plugin-gantt skill | P2 | Open |
|
||||
| #27 | Intent classification service | P1 | Open |
|
||||
| #29 | Cron job configuration | P1 | Open |
|
||||
| #42 | Jarvis Chat Overlay | — | Open |
|
||||
|
||||
---
|
||||
|
||||
### 🚧 M5-Knowledge Module (0.0.5)
|
||||
|
||||
**Due:** 2026-03-14 | **Status:** In Progress
|
||||
|
||||
Wiki-style knowledge management:
|
||||
|
||||
| Phase | Issues | Description |
|
||||
|-------|--------|-------------|
|
||||
| 1 | — | Core CRUD (DONE) |
|
||||
| 2 | #59-64 | Wiki-style linking |
|
||||
| 3 | #65-70 | Full-text + semantic search |
|
||||
| 4 | #71-74 | Graph visualization |
|
||||
| 5 | #75-80 | History, import/export, caching |
|
||||
| Phase | Issues | Description |
|
||||
| ----- | ------ | ------------------------------- |
|
||||
| 1 | — | Core CRUD (DONE) |
|
||||
| 2 | #59-64 | Wiki-style linking |
|
||||
| 3 | #65-70 | Full-text + semantic search |
|
||||
| 4 | #71-74 | Graph visualization |
|
||||
| 5 | #75-80 | History, import/export, caching |
|
||||
|
||||
**EPIC:** #81
|
||||
|
||||
---
|
||||
|
||||
### 📋 M6-AgentOrchestration (0.0.6)
|
||||
|
||||
**Due:** 2026-03-28 | **Status:** Planned
|
||||
|
||||
Persistent task management and autonomous agent coordination:
|
||||
|
||||
| Phase | Issues | Description |
|
||||
|-------|--------|-------------|
|
||||
| 1 | #96, #97 | Database schema, Task CRUD API |
|
||||
| 2 | #98, #99, #102 | Valkey, Coordinator, Gateway integration |
|
||||
| 3 | #100 | Failure recovery, checkpoints |
|
||||
| 4 | #101 | Task progress UI |
|
||||
| 5 | — | Advanced (cost tracking, multi-region) |
|
||||
| Phase | Issues | Description |
|
||||
| ----- | -------------- | ---------------------------------------- |
|
||||
| 1 | #96, #97 | Database schema, Task CRUD API |
|
||||
| 2 | #98, #99, #102 | Valkey, Coordinator, Gateway integration |
|
||||
| 3 | #100 | Failure recovery, checkpoints |
|
||||
| 4 | #101 | Task progress UI |
|
||||
| 5 | — | Advanced (cost tracking, multi-region) |
|
||||
|
||||
**EPIC:** #95
|
||||
**Design Doc:** `docs/design/agent-orchestration.md`
|
||||
@@ -139,18 +144,19 @@ Persistent task management and autonomous agent coordination:
|
||||
---
|
||||
|
||||
### 📋 M7-Federation (0.0.7)
|
||||
|
||||
**Due:** 2026-04-15 | **Status:** Planned
|
||||
|
||||
Multi-instance federation for work/personal separation:
|
||||
|
||||
| Phase | Issues | Description |
|
||||
|-------|--------|-------------|
|
||||
| 1 | #84, #85 | Instance identity, CONNECT/DISCONNECT |
|
||||
| 2 | #86, #87 | Authentik integration, identity linking |
|
||||
| 3 | #88, #89, #90 | QUERY, COMMAND, EVENT protocol |
|
||||
| 4 | #91, #92 | Connection manager UI, aggregated dashboard |
|
||||
| 5 | #93, #94 | Agent federation, spoke configuration |
|
||||
| 6 | — | Enterprise features |
|
||||
| Phase | Issues | Description |
|
||||
| ----- | ------------- | ------------------------------------------- |
|
||||
| 1 | #84, #85 | Instance identity, CONNECT/DISCONNECT |
|
||||
| 2 | #86, #87 | Authentik integration, identity linking |
|
||||
| 3 | #88, #89, #90 | QUERY, COMMAND, EVENT protocol |
|
||||
| 4 | #91, #92 | Connection manager UI, aggregated dashboard |
|
||||
| 5 | #93, #94 | Agent federation, spoke configuration |
|
||||
| 6 | — | Enterprise features |
|
||||
|
||||
**EPIC:** #83
|
||||
**Design Doc:** `docs/design/federation-architecture.md`
|
||||
@@ -158,18 +164,19 @@ Multi-instance federation for work/personal separation:
|
||||
---
|
||||
|
||||
### 🎯 M5-Migration (0.1.0 MVP)
|
||||
|
||||
**Due:** 2026-04-01 | **Status:** Planned
|
||||
|
||||
Production readiness and migration from jarvis-brain:
|
||||
|
||||
| Issue | Title | Priority |
|
||||
|-------|-------|----------|
|
||||
| #30 | Migration scripts from jarvis-brain | P0 |
|
||||
| #31 | Data validation and integrity checks | P0 |
|
||||
| #32 | Parallel operation testing | P1 |
|
||||
| #33 | Performance optimization | P1 |
|
||||
| #34 | Documentation (SETUP.md, CONFIGURATION.md) | P1 |
|
||||
| #35 | Docker Compose customization guide | P1 |
|
||||
| Issue | Title | Priority |
|
||||
| ----- | ------------------------------------------ | -------- |
|
||||
| #30 | Migration scripts from jarvis-brain | P0 |
|
||||
| #31 | Data validation and integrity checks | P0 |
|
||||
| #32 | Parallel operation testing | P1 |
|
||||
| #33 | Performance optimization | P1 |
|
||||
| #34 | Documentation (SETUP.md, CONFIGURATION.md) | P1 |
|
||||
| #35 | Docker Compose customization guide | P1 |
|
||||
|
||||
---
|
||||
|
||||
@@ -207,14 +214,14 @@ Work streams that can run in parallel:
|
||||
|
||||
**Recommended parallelization:**
|
||||
|
||||
| Sprint | Stream A | Stream B | Stream C | Stream D | Stream E |
|
||||
|--------|----------|----------|----------|----------|----------|
|
||||
| Feb W1-2 | M3 P0 | — | KNOW Phase 2 | ORCH #96, #97 | — |
|
||||
| Feb W3-4 | M3 P1 | M4 P0 | KNOW Phase 2 | ORCH #98, #99 | FED #84, #85 |
|
||||
| Mar W1-2 | M3 finish | M4 P1 | KNOW Phase 3 | ORCH #102 | FED #86, #87 |
|
||||
| Mar W3-4 | — | M4 finish | KNOW Phase 4 | ORCH #100 | FED #88, #89 |
|
||||
| Apr W1-2 | MVP prep | — | KNOW Phase 5 | ORCH #101 | FED #91, #92 |
|
||||
| Apr W3-4 | **0.1.0 MVP** | — | — | — | FED #93, #94 |
|
||||
| Sprint | Stream A | Stream B | Stream C | Stream D | Stream E |
|
||||
| -------- | ------------- | --------- | ------------ | ------------- | ------------ |
|
||||
| Feb W1-2 | M3 P0 | — | KNOW Phase 2 | ORCH #96, #97 | — |
|
||||
| Feb W3-4 | M3 P1 | M4 P0 | KNOW Phase 2 | ORCH #98, #99 | FED #84, #85 |
|
||||
| Mar W1-2 | M3 finish | M4 P1 | KNOW Phase 3 | ORCH #102 | FED #86, #87 |
|
||||
| Mar W3-4 | — | M4 finish | KNOW Phase 4 | ORCH #100 | FED #88, #89 |
|
||||
| Apr W1-2 | MVP prep | — | KNOW Phase 5 | ORCH #101 | FED #91, #92 |
|
||||
| Apr W3-4 | **0.1.0 MVP** | — | — | — | FED #93, #94 |
|
||||
|
||||
---
|
||||
|
||||
@@ -258,18 +265,18 @@ Work streams that can run in parallel:
|
||||
|
||||
## Issue Labels
|
||||
|
||||
| Label | Meaning |
|
||||
|-------|---------|
|
||||
| `p0` | Critical path, must complete |
|
||||
| `p1` | Important, should complete |
|
||||
| `p2` | Nice to have |
|
||||
| `phase-N` | Implementation phase within milestone |
|
||||
| `api` | Backend API work |
|
||||
| `frontend` | Web UI work |
|
||||
| `database` | Schema/migration work |
|
||||
| `orchestration` | Agent orchestration related |
|
||||
| `federation` | Federation related |
|
||||
| `knowledge-module` | Knowledge module related |
|
||||
| Label | Meaning |
|
||||
| ------------------ | ------------------------------------- |
|
||||
| `p0` | Critical path, must complete |
|
||||
| `p1` | Important, should complete |
|
||||
| `p2` | Nice to have |
|
||||
| `phase-N` | Implementation phase within milestone |
|
||||
| `api` | Backend API work |
|
||||
| `frontend` | Web UI work |
|
||||
| `database` | Schema/migration work |
|
||||
| `orchestration` | Agent orchestration related |
|
||||
| `federation` | Federation related |
|
||||
| `knowledge-module` | Knowledge module related |
|
||||
|
||||
---
|
||||
|
||||
@@ -282,6 +289,7 @@ Work streams that can run in parallel:
|
||||
5. **Design docs** provide implementation details
|
||||
|
||||
**Quick links:**
|
||||
|
||||
- [All Open Issues](https://git.mosaicstack.dev/mosaic/stack/issues?state=open)
|
||||
- [Milestones](https://git.mosaicstack.dev/mosaic/stack/milestones)
|
||||
- [Design Docs](./design/)
|
||||
@@ -290,8 +298,8 @@ Work streams that can run in parallel:
|
||||
|
||||
## Changelog
|
||||
|
||||
| Date | Change |
|
||||
|------|--------|
|
||||
| Date | Change |
|
||||
| ---------- | ---------------------------------------------------------------- |
|
||||
| 2026-01-29 | Added M6-AgentOrchestration, M7-Federation milestones and issues |
|
||||
| 2026-01-29 | Created unified roadmap document |
|
||||
| 2026-01-28 | M2-MultiTenant completed |
|
||||
| 2026-01-29 | Created unified roadmap document |
|
||||
| 2026-01-28 | M2-MultiTenant completed |
|
||||
|
||||
Reference in New Issue
Block a user