orquestador/specs/PROGRESS.md

7.5 KiB
Raw Blame History

Seguimiento de implementación

Actualizado: 2026-10-26. Entrega actual: arquetipo y planificación. El motor no está implementado.

Estados permitidos: PENDING, IN_PROGRESS, BLOCKED, DONE. No más de una tarea principal IN_PROGRESS. Consultar IMPLEMENTATION_PLAN para subtareas y criterios.

ID Estado Dependencias Archivos Comandos/checks Resultado Bloqueo Siguiente paso
T01 BLOCKED — pom.xml, mvnw*, .mvn, configuración, ADR-001 Ver evidencia E01–E04 Arquetipo creado; package con JDK 24 y release 21 aprobado; cierre pendiente JDK 21 y Docker/PostgreSQL no disponibles para validación local completa Validar con JDK 21 y PostgreSQL; añadir smoke test de salud
T02 PENDING T01 contracts/openapi.yaml, schemas/, ejemplos contractuales Pendiente: Validador OpenAPI/JSON Schema dentro de verify No ejecutado Dependencias sin completar Definir rutas, DTOs y errores
T03 PENDING T02 db/migration/, pruebas *IT Pendiente: Testcontainers PostgreSQL, rollback y migraciones No ejecutado Dependencias sin completar Crear tablas, FKs e índices
T04 PENDING T02,T03 flow/, request/, execution/, decision/, action/ Pendiente: Pruebas de dominio y dependencias entre capas No ejecutado Dependencias sin completar Definir records y errores estables
T05 PENDING T04 decision/, pruebas de AST Pendiente: JUnit parametrizado: 71/70/61/60, tipos y solapamientos No ejecutado Dependencias sin completar Implementar operadores/JSON Pointer/BigDecimal
T06 PENDING T03,T04,T05 flow/, admin_audit, pruebas *IT Pendiente: Pruebas PostgreSQL de carreras publicación/activación/retiro No ejecutado Dependencias sin completar Validar grafo, mappings, roles y capacidades
T07 PENDING T04 shared/infrastructure/security/, autorización por capacidad Pendiente: Tokens firmados válidos/expirados, otro issuer/audience, scope/rol ajenos No ejecutado Dependencias sin completar Validar JWT real (firma/issuer/audience/exp)
T08 PENDING T06,T07 request/, repositorios y API Pendiente: IT creación repetida/conflictiva y activación concurrente No ejecutado Dependencias sin completar Resolver y fijar flujo activo
T09 PENDING T08 execution/api, aceptación, auditoría Pendiente: IT duplicados, conflictos, concurrencia y rollback No ejecutado Dependencias sin completar Bloquear solicitud
T10 PENDING T09 execution/infrastructure, worker y repositorios Pendiente: IT dos workers, lease vencido y checkpoint; no @Async en memoria No ejecutado Dependencias sin completar Reclamar con SKIP LOCKED
T11 PENDING T10 action/, integration/, mocks, compose.yaml Pendiente: Mocks de cliente encontrado/no encontrado, timeout y salida inválida No ejecutado Dependencias sin completar Implementar catálogo confiable y REGISTER_DOCUMENT/INVOKE_INTEGRATION/NO_OP sólo simulación
T12 PENDING T11 execution/, endpoint resolve, pruebas *IT Pendiente: Fault injection antes/después de envío, checkpoint y commit No ejecutado Dependencias sin completar Limitar intentos/backoff/jitter
T13 PENDING T11,T12 document/, request/available-events Pendiente: Documento ajeno/inválido, ejecución activa y payload con score No ejecutado Dependencias sin completar Verificar pertenencia/tipo/MIME/tamaño/checksum/antimalware
T14 PENDING T05,T06,T13 examples/flows/, examples/http/ Pendiente: Recorridos completos de v1/v2, licencia válida/inválida y fronteras No ejecutado Dependencias sin completar Crear crédito v1, crédito v2 con licencia y compra v1 completos
T15 PENDING T09,T10,T11,T12,T13,T14 audit/, métricas, logs, health Pendiente: Rollback/auditoría, acceso a historial, métricas y apagado No ejecutado Dependencias sin completar Completar consultas paginadas/filtradas
T16 PENDING T15 src/test/, CI, matriz A01–A20 Pendiente: ./mvnw clean verify con Docker, sin skips de integración No ejecutado Dependencias sin completar Automatizar A01–A20
T17 PENDING T16 Dockerfile, compose.yaml, README, RUNBOOK, examples/http, CI Pendiente: Build de imagen, compose, verify y demo completa de sección 16 No ejecutado Dependencias sin completar Construir imagen y Compose completos

Evidencias — 2026-10-26

  • E01: java -version y mvn -version: Java 17.0.12 y Maven 3.9.12. Se encontró también Corretto 24; no JDK 21 en las ubicaciones revisadas. Get-Command docker no encontró Docker en PATH.
  • E02: mvn -B -N org.apache.maven.plugins:maven-wrapper-plugin:3.3.4:wrapper '-Dmaven=3.9.12' '-Dtype=only-script': BUILD SUCCESS. Wrapper oficial creado con distribución 3.9.12. Se corrigió una primera invocación cuya propiedad sin comillas fue fragmentada por PowerShell.
  • E03: con JAVA_HOME apuntando temporalmente a Corretto 24, .\mvnw.cmd -B '-Denforcer.skip=true' package: BUILD SUCCESS; JAR ejecutable generado con compilación release 21. Fue una comprobación limitada; no equivale a build/runtime con JDK 21. No modificar Enforcer ni CI para omitir el requisito. No había pruebas ejecutables en esta comprobación.
  • E04: POM/BOM Boot 4.1.2 y dependencias resueltos desde Maven Central. Arranque, health, Compose, Testcontainers y A01–A20 NO ejecutados. La imagen PostgreSQL fijada está pendiente de pull.
  • E05: .\mvnw.cmd -B --no-transfer-progress validate con Java 17: rechazo esperado de Enforcer, mensaje Configura JAVA_HOME con JDK 21. La regla impide compilar accidentalmente con el runtime incorrecto.
  • E06: .\mvnw.cmd -B --no-transfer-progress dependency:tree '-Dincludes=org.junit.jupiter:*,org.junit.platform:*': BUILD SUCCESS; Jupiter 5.13.4 y Platform 1.13.4 confirmados.
  • E07: lectura XML del POM y comprobación de IDs: T01–T17 presentes en plan/seguimiento. Cabecera binaria de OrchestratorApplication.class: major 65 (Java 21). La inspección inicial con javap quedó impedida por acceso del sandbox a java.security; la lectura directa de la cabecera confirmó el bytecode.

Próxima sesión

Preparación Docker solicitada — 2026-10-26

  • Archivos: Dockerfile, .dockerignore, compose.yaml, .env.example, README.md, RUNBOOK.md y ADR-003.
  • Entregado: imagen multietapa Java 21, usuario no root, healthcheck y un único servicio conectado a PostgreSQL externo. No se incluyó PostgreSQL en Compose. No se modificó ningún .env del usuario.
  • Verificación: análisis con PyYAML 6.0.3 y comprobaciones estáticas aprobaron YAML, servicio único, ausencia de volúmenes/dependencias locales, seis variables obligatorias, puerto interno y mapeo al anfitrión. Herramienta temporal en .tools, fuera de Git y del contexto Docker.
  • Bloqueo: Docker no disponible en PATH ni en la ubicación habitual de Docker Desktop; no se ejecutaron docker build, compose config ni arranque/conexión a PostgreSQL externo. Esta comprobación estática no sustituye esas pruebas.
  • Siguiente paso: completar .env, ejecutar docker compose config --quiet y docker compose up --build -d; comprobar readiness y logs. T01 continúa BLOCKED y T17 PENDING hasta satisfacer sus criterios completos.
  1. Leer este registro, especificación y cambios del repositorio.
  2. Resolver T01: configurar JDK 21, PostgreSQL y valores de entorno JWT; incorporar y ejecutar smoke test, clean verify y health local.
  3. Registrar evidencia y marcar T01 DONE sólo cuando cumpla todos sus criterios; entonces iniciar T02.

Plantilla de evidencia adicional

Fecha | ID | Archivos | Comando/check exacto | Resultado y reporte | Bloqueo | Próximo paso