Skip to content

Latest commit

 

History

History
311 lines (217 loc) · 12.2 KB

File metadata and controls

311 lines (217 loc) · 12.2 KB

Evolith Tracker — Hoja de Ruta de Implementación

Navegación Bilingüe: English · Español (este documento)

Estado del Documento: Borrador
Tipo: Plan de Implementación
Satélite: Evolith Tracker
Upstream: Evolith Core
Fecha: 2026-06-07
Autor: Architect Agent (BMAD)


1. Visión General de la Hoja de Ruta

1.1 Resumen de Fases

Fase Enfoque Duración Entregables Clave
Fase 0 Análisis y Fundación M (2 semanas) Repositorio, CI/CD, primitivas de dominio compartidas, esquemas PostgreSQL, esqueleto MCP Server
Fase 1 Core Sync + Auth + CLI Foundation M (2 semanas) Adaptador SDK de Core, adaptador auth UMS, guards de permisos, fundación CLI (evolith init, auth, --format=json), bootstrap MCP Server
Fase 2 Discovery + Design + CLI M (2 semanas) Módulos Initiative, Backlog, Blueprint, Contract, ADR, comandos CLI de Discovery
Fase 3 Construction + QA + CLI M (2 semanas) Cycle, Story, PeerReview, TestCycle, Execution, Defect, comandos CLI de Design
Fase 4 Release + Governance + CLI M (2 semanas) ReleasePackage, Deployment, SatelliteProduct, SDLCExecution, comandos CLI de Construction
Fase 5 QA + MCP Tool Suite M (2 semanas) Finalización módulo QA, comandos CLI de QA, suite final de herramientas MCP, SDK de agentes
Fase 6 Métricas + Scorecards + CLI M (2 semanas) Cómputo DORA/SPACE, alertas de drift, dashboards, comandos CLI de Release
Fase 7 Integraciones + Gate CLI M (2 semanas) ACL GitHub, ACL Jira, handlers de webhooks, comandos CLI de Gate y Agentes, suite MCP completa
Fase 8 Endurecimiento + Release M (2 semanas) Auditoría de seguridad, tests E2E, charts Helm, preparación para producción

Duración Total Estimada: ~18.5 semanas (~4.6 meses)

1.2 Estimaciones de Esfuerzo

Módulo Stories Puntos Complejidad
Discovery 12 45 Media
Design 10 34 Media
Construction 14 48 Alta
QA 11 35 Media
Release 9 27 Media
Governance 9 25 Media
Artifacts 6 16 Baja
Metrics 5 14 Baja
Integration 8 26 Alta
Infrastructure 8 26 Media
CLI + MCP 10 34 Alta
Total 103 330

2. Fase 0: Fundación (Semana 1)

2.1 Objetivo

Establecer el monorepo, pipeline CI/CD, primitivas de dominio compartidas e infraestructura de esquemas PostgreSQL.

2.2 Entregables

  • Workspace monorepo (npm workspaces o Nx)
  • Bootstrap de app API NestJS con TypeScript strict mode
  • App Web React con Vite + TanStack Query + Zustand
  • libs/domain compartido con clases base (AggregateRoot, BaseDomainEvent, Result)
  • 10 esquemas PostgreSQL creados con migraciones DDL
  • Políticas RLS configuradas para multi-tenancy
  • Pipeline CI GitHub Actions (lint, typecheck, test)
  • Docker Compose para desarrollo local
  • Skeleton de chart Helm para deployment en Kubernetes
  • Paquete esqueleto MCP Server (@evolith/tracker-mcp scaffold)

2.3 Decisiones Clave

  • ORM: TypeORM (según ADR-0043)
  • Versionado de API: Prefijo URI (/api/v1/)
  • Validación: class-validator (presentación), zod (aplicación)

3. Fase 1: Core Sync + Auth + CLI Foundation (Semanas 2-3)

3.1 Objetivo

Integrar con Evolith Core (rulesets, definiciones de artefactos) y UMS (validación JWT, resolución de permisos). Establecer la fundación CLI y el bootstrap del MCP Server para que los agentes puedan interactuar desde la Fase 1.

3.2 Entregables

  • CoreIntegrationService con cliente REST, caché, tracking de versión
  • CoreCacheService con Redis + fallback en memoria
  • JwksService para verificación de firma JWT
  • UmsSecurityAdapter con obtención de authorization graph
  • PermissionMapper (UMS → permisos canónicos de Tracker)
  • JwtAuthGuard + TrackerPermissionGuard para NestJS
  • Provider de contexto de permisos para React
  • Store de auth con lógica de refresh de token
  • Paquete CLI evolith skeleton (evolith init, auth login, flag global --format=json)
  • Bootstrap MCP Server con herramientas básicas @evolith/tracker-mcp

3.3 Dependencias

  • Requiere URL y credenciales de API de Core
  • Requiere acceso a endpoint JWKS de UMS

4. Fase 2: Discovery + Design + CLI (Semanas 4-5)

4.1 Objetivo

Implementar bounded contexts de Gate 1 (Discovery) y Gate 2 (Design) con sus comandos CLI.

4.2 Entregables de Discovery

  • Aggregate Initiative con create, approve, reject, generateBacklog
  • Aggregate Backlog con ordenamiento de stories
  • Aggregate Epic con referencias externas
  • Aggregate UserStory con prioridad, estimación
  • Comandos y queries CQRS de Discovery
  • Formulario Discovery Canvas (React)

4.3 Entregables de Design

  • Aggregate TechnicalBlueprint con flujo de aprobación
  • Aggregate TechnicalContract con validación de contenido
  • Aggregate ADR con ciclo de vida de estado
  • Aggregate DataSchema
  • Comandos y queries CQRS de Design
  • Tablero de revisión de Design (React)

4.4 Entregables CLI

  • Comandos CLI de Discovery (evolith discovery submit, evolith backlog list)
  • Comandos CLI de Design (evolith blueprint create, evolith adr list)

4.5 Phase Gate 1 y 2

  • Evaluador de Gate 1 con requirement checklist
  • Evaluador de Gate 2 con verificación de cumplimiento ADR
  • Lógica de avance de fase en SDLCExecution

5. Fase 3: Construction + QA + CLI (Semanas 6-7)

5.1 Objetivo

Implementar bounded contexts de Gate 3 (Construction) y Gate 4 (QA) con sus comandos CLI.

5.2 Entregables de Construction

  • Aggregate ImplementationCycle con gestión de sprint
  • Aggregate TechnicalStory con registro de tiempo
  • Aggregate PeerReview con integración de webhook de GitHub
  • Servicio de detección de drift (DriftDetectionService)
  • Tablero de Construction con overlay de drift index (React)

5.3 Entregables de QA

  • Aggregate TestCycle con cálculo de tasa de aprobación
  • Aggregate TestExecution con registro de resultados
  • Aggregate Defect con ciclo de vida de severidad/prioridad
  • Adaptador ACL .harness (pendiente inspección de API)
  • Centro de Comando QA (React)

5.4 Entregables CLI

  • Comandos CLI de Construction (evolith task list, evolith drift status)
  • Comandos CLI de QA (evolith test run, evolith defect list)

5.5 Phase Gate 3 y 4

  • Evaluador de Gate 3 con peer review + verificación DoD
  • Evaluador de Gate 4 con tasa de aprobación de tests + umbral de defectos

6. Fase 4: Release + Governance + CLI (Semanas 8-9)

6.1 Objetivo

Implementar contextos de Gate 5 (Release) y Governance con sus comandos CLI.

6.2 Entregables de Release

  • Aggregate ReleasePackage con gestión de versiones
  • Aggregate DeploymentRecord (independiente para actualizaciones async de CI/CD)
  • Entity Environment
  • Motor de flujo Re-Do
  • Calendario planificador de Release (React)

6.3 Entregables de Governance

  • Aggregate SatelliteProduct para tracking de tenant
  • Aggregate SDLCExecution para gestión de estado de fases
  • Aggregate PhaseGateState con tracking de criterios
  • Aggregate ExceptionRequest para manejo de excepciones de gate
  • Vista de Pipeline (React) — la pantalla principal

6.4 Entregables CLI

  • Comandos CLI de Release (evolith release plan, evolith deployment status)
  • Comandos CLI de Governance (evolith gate status, evolith exception list)

7. Fase 5: QA + MCP Tool Suite (Semanas 10-11)

7.1 Objetivo

Completar el módulo QA y finalizar la suite de herramientas MCP. Los comandos CLI de QA se entregan con el módulo QA, y las herramientas MCP restantes se terminan.

7.2 Entregables de CLI de QA

  • Comandos CLI de QA (evolith qa status, evolith qa run, evolith qa report)
  • Finalización del módulo QA según entregables de Fase 3 QA

7.3 Entregables de MCP Tool Suite

  • Suite completa de herramientas @evolith/tracker-mcp
  • Definiciones: initiative, design, construction, qa, release, gate
  • Endpoint de polling/sampling MCP para domain events
  • SDK de agentes para integración con agentes

8. Fase 6: Métricas + Scorecards + CLI (Semanas 12-13)

8.1 Objetivo

Implementar métricas DORA/SPACE, alertas de drift, dashboards y sus comandos CLI.

8.2 Entregables

  • Aggregate ScorecardDefinition
  • Aggregate MetricSnapshot con valores computados
  • Aggregate DriftAlert con tracking de resolución
  • Servicio de cómputo de métricas (deployment frequency, lead time, etc.)
  • Dashboard de Scorecard (React)
  • Sistema de notificación de alertas de drift
  • Comandos CLI de Métricas (evolith metrics scorecard, evolith drift alerts)

9. Fase 7: Integraciones + Gate CLI (Semanas 14-15)

9.1 Objetivo

Implementar adaptadores ACL para sistemas externos (GitHub, Jira, Azure DevOps). Finalizar comandos CLI de Gate y Agentes, completar la suite de herramientas MCP.

9.2 Entregables

  • Aggregate IntegrationEndpoint para configuración de sistema externo
  • Aggregate SyncRecord para historial de sincronización
  • ACL de GitHub (eventos PR → actualizaciones de PeerReview)
  • ACL de Jira (issues → importación de Initiatives)
  • Handler de webhooks para eventos de sistemas externos
  • Endpoint de registro de checkpoint externo (US-INT-008)
  • Sincronización outbound para gestión de defectos
  • Comandos CLI de Gate (evolith gate evaluate, evolith gate approve)
  • Comandos CLI de Agentes (evolith agent status, evolith agent assign)
  • Finalización de MCP Tool Suite (todas las definiciones, polling/sampling, SDK de agente)

10. Fase 8: Endurecimiento + Release (Semanas 16-17)

10.1 Objetivo

Preparación para producción, auditoría de seguridad y preparación de release.

10.2 Entregables

  • Auditoría de seguridad (revisión OWASP Top 10, pruebas de penetración)
  • Tests E2E (Playwright) para journeys críticos del usuario
  • Pruebas de rendimiento (k6) para manejo de carga de API
  • Chart Helm finalizado con valores de producción
  • Observabilidad (trazas OpenTelemetry, métricas, logs)
  • Documentación de runbook de producción
  • Definiciones SLO/SLA

11. Registro de Riesgos

Riesgo Impacto Probabilidad Mitigación
Esquema de Authorization Graph de UMS difiere del diseño Alto Media Prototipar integración temprano; fallback a claims JWT
SDK de Core no disponible cuando Fase 1 inicia Medio Media Implementar cliente REST con tipos manuales como fallback
API de .harness desconocida Alto Alta Elevar brecha a Core inmediatamente; diseñar adaptador abstracto
Rendimiento de RLS de PostgreSQL a escala Medio Baja Probar con 1000+ tenants; optimizar índices
Cambios en protocolo de agentes Medio Baja Versionar herramientas MCP; implementar degradación elegante

12. Dependencias de Upstream

Dependencia Impacto Propietario Estado
API REST de Evolith Core Todas las fases Equipo Core No disponible
Endpoint JWKS de UMS Fase 1 Equipo UMS No confirmado
API de Authorization Graph de UMS Fase 1 Equipo UMS No inspeccionado
SDK de Core (si está disponible) Fase 1 Equipo Core No confirmado

Referencias