From 8044f21898ba80a6ef104b4143eee95729834976 Mon Sep 17 00:00:00 2001 From: aarroyo Date: Sat, 1 Aug 2026 10:05:16 -0500 Subject: [PATCH 1/2] fix(docs): dos filas con un estado inventado tenian en rojo el gate entero (Validate documentation) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Validate documentation` llevaba en rojo desde al menos 2026-07-25 con 111 fallos, y 97 de ellos eran una sola causa repetida. `validate-docs.mjs` rankea el estado de cada fila del registro (BLOCKED 0, OPEN 1, DEFERRED 2, RESOLVED 3) y exige que la columna no retroceda. Dos filas —COH-006 y COH-007— decian `CLOSED`, que no esta en el vocabulario, asi que recibian rango 99. Y como el guardian arrastra `previousStatusRank = max(prev, rank)`, ese 99 se quedaba pegado: TODAS las filas siguientes retrocedian contra el y fallaban. Dos celdas mal escritas en la fila 11 y 12 producian 97 errores en las filas 13 a 107. Los 99 fallos del registro se cierran con: · `CLOSED` -> `RESOLVED` en esas dos filas. No es una reclasificacion: su columna de resolucion ya empieza por "Resolved:" y las otras 105 filas del registro usan `RESOLVED`. `CLOSED` era una variante suelta del mismo estado. · Orden estable por rango. La tabla ya venia casi ordenada OPEN -> DEFERRED -> RESOLVED; lo unico fuera de sitio eran 8 filas RESOLVED encabezandola. Se conserva el orden relativo dentro de cada grupo, asi que el diff no reordena nada mas. · Renumerada la columna `#`, que estaba descolocada de antes — la ultima fila de la tabla era la numero 1. Verificado que el registro no perdio nada: mismos 107 IDs antes y despues, mismo conjunto exacto, cero duplicados. El resultado es OPEN x14, DEFERRED x1, RESOLVED x92. Los 12 fallos restantes eran emoji usados como marcadores semanticos en cuatro documentos ajenos al registro. Se sustituyen por su equivalente en palabras (`**Works:**`, `**Caveat:**`, `**Warning:**` y sus espejos en castellano) en vez de borrarlos: el simbolo distinguia lo que funciona de lo que no, y quitarlo sin mas habria dejado una lista plana donde antes se leia de un vistazo. `node .harness/scripts/validate-docs.mjs` -> "Documentation validation passed for 355 Markdown files". Co-Authored-By: Claude Opus 5 --- docs/LOCAL_DEV_WITH_K8S_CORE.es.md | 12 +- docs/LOCAL_DEV_WITH_K8S_CORE.md | 12 +- .../tracker-gaps-opportunities-tracking.md | 214 +++++++++--------- .../tracker-implementation-roadmap.es.md | 2 +- .../design/tracker-implementation-roadmap.md | 2 +- 5 files changed, 121 insertions(+), 121 deletions(-) diff --git a/docs/LOCAL_DEV_WITH_K8S_CORE.es.md b/docs/LOCAL_DEV_WITH_K8S_CORE.es.md index 4ed01001..5796369f 100644 --- a/docs/LOCAL_DEV_WITH_K8S_CORE.es.md +++ b/docs/LOCAL_DEV_WITH_K8S_CORE.es.md @@ -7,7 +7,7 @@ de los dos clústeres que sí tendría un despliegue completo del gateway a k8s > Original en inglés: [LOCAL_DEV_WITH_K8S_CORE.md](./LOCAL_DEV_WITH_K8S_CORE.md). > Para el onboarding de producto (modelo mental, datos de ejemplo, tour) ver [QUICK_START.es.md](./QUICK_START.es.md). -> ⚠️ `QUICK_START` §3 aún describe el Core como contenedores locales en `:3001/:3002/:3003`; +> **Aviso:** `QUICK_START` §3 aún describe el Core como contenedores locales en `:3001/:3002/:3003`; > está desactualizado — el Core corre de verdad en el clúster kind como servicios `ClusterIP`. ## Topología @@ -136,12 +136,12 @@ node src/apps/tracker-api/seed/seed-e2e.mjs # idempotente; tenants ACME / Glob ## Qué funciona y qué no (sin vender humo) -- ✅ El stack del Tracker corre y sirve; el gateway está vivo sin desplegarlo a k8s. -- ✅ La gobernanza del Plano 1 (SDLC / compuertas / evidencia) es totalmente local y no necesita el Core. -- ⚠️ Consumir el Core **vivo** necesita su clave real (fricción #2) — o levantar el Core en local. -- ⚠️ `LV-18`: 3 de las 6 tools MCP llaman rutas del Core que dan `404`; es un gap de contrato, no +- **Funciona:** El stack del Tracker corre y sirve; el gateway está vivo sin desplegarlo a k8s. +- **Funciona:** La gobernanza del Plano 1 (SDLC / compuertas / evidencia) es totalmente local y no necesita el Core. +- **Salvedad:** Consumir el Core **vivo** necesita su clave real (fricción #2) — o levantar el Core en local. +- **Salvedad:** `LV-18`: 3 de las 6 tools MCP llaman rutas del Core que dan `404`; es un gap de contrato, no de cableado, así que falla igual en local que en clúster. -- ℹ️ Este runbook hace que `LV-16` (desplegar el gateway a k8s) sea **innecesario para el dev diario**; +- **Nota:** Este runbook hace que `LV-16` (desplegar el gateway a k8s) sea **innecesario para el dev diario**; `LV-16` queda solo para verificación de CI / tipo-producción. ## Gaps relacionados diff --git a/docs/LOCAL_DEV_WITH_K8S_CORE.md b/docs/LOCAL_DEV_WITH_K8S_CORE.md index 45a74623..8251614c 100644 --- a/docs/LOCAL_DEV_WITH_K8S_CORE.md +++ b/docs/LOCAL_DEV_WITH_K8S_CORE.md @@ -7,7 +7,7 @@ that a full k8s deploy of the gateway (gap `LV-16`) would hit. > Spanish mirror: [LOCAL_DEV_WITH_K8S_CORE.es.md](./LOCAL_DEV_WITH_K8S_CORE.es.md). > For the product-level onboarding (mental model, seed data, tour) see [QUICK_START.md](./QUICK_START.md). -> ⚠️ `QUICK_START.md` §3 still describes the Core as local containers on `:3001/:3002/:3003`; +> **Warning:** `QUICK_START.md` §3 still describes the Core as local containers on `:3001/:3002/:3003`; > that is stale — the Core actually runs in the kind cluster as `ClusterIP` services (see below). ## Topology @@ -135,12 +135,12 @@ node src/apps/tracker-api/seed/seed-e2e.mjs # idempotent; ACME / Globex / Init ## What works and what doesn't (be honest) -- ✅ The Tracker stack runs and serves; the gateway is alive without any k8s deploy of it. -- ✅ Plane-1 governance (SDLC / gates / evidence) is fully local and does not need the Core. -- ⚠️ Consuming the **live** Core needs its real key (friction #2) — or run the Core locally. -- ⚠️ `LV-18`: 3 of the 6 MCP tools call Core routes that `404`; that's a contract gap, not a +- **Works:** The Tracker stack runs and serves; the gateway is alive without any k8s deploy of it. +- **Works:** Plane-1 governance (SDLC / gates / evidence) is fully local and does not need the Core. +- **Caveat:** Consuming the **live** Core needs its real key (friction #2) — or run the Core locally. +- **Caveat:** `LV-18`: 3 of the 6 MCP tools call Core routes that `404`; that's a contract gap, not a wiring one, so it fails the same way local or in-cluster. -- ℹ️ This runbook makes `LV-16` (deploy the gateway to k8s) **unnecessary for day-to-day dev**; +- **Note:** This runbook makes `LV-16` (deploy the gateway to k8s) **unnecessary for day-to-day dev**; `LV-16` remains only for CI / production-like verification. ## Related gaps diff --git a/docs/audit/tracker-gaps-opportunities-tracking.md b/docs/audit/tracker-gaps-opportunities-tracking.md index de9d8b0b..fe9e3727 100644 --- a/docs/audit/tracker-gaps-opportunities-tracking.md +++ b/docs/audit/tracker-gaps-opportunities-tracking.md @@ -25,113 +25,113 @@ This document is the only operational gap register in this repository. The maste | # | Status | ID | Type | Category | Component | Module | Story(ies) | Description | Resolution / Next Step | Criticality | Complexity | |---:|---|---|---|---|---|---|---|---|---|:---:|:---:| -| 2 | 🟢 RESOLVED | [COH-002](#detail-coh-002) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006,007 | Discovery refinement entity has no persisted `status` column. States DRAFT/IN_REFINEMENT/SPLIT referenced in specs cannot be persisted; DDD model also missing the status field. | Resolved / Obsolete: El proceso de partición y refinamiento queda fuera del alcance de Tracker; las iniciativas sólo entran cuando están listas. | 🟢 LOW | 🟢 LOW | -| 3 | 🟢 RESOLVED | [COH-004](#detail-coh-004) | INCO | Source incoherence | Backend | QA | US-QA-001..004,006,008,011 | "TestRun" used in 7 stories but NOT in DDD model. DDD defines TestCycle (container) + TestExecution (atomic). TestCycle Aggregate Root never used by any story. | Resolved: TestCycle/TestExecution es el estándar canónico oficial; TestRun se depreca por ambiguo. Glosario actualizado. Historias asumen TestCycle. | 🔴 | 🔴 | -| 4 | 🟢 RESOLVED | [GAP-019](#detail-gap-019) | Docs | Documentation gap | Docs | Docs | N/A | Discovery requirements not broken down into implementable detail | Resolved: Se creó `docs/design/discovery-functional-specs.md` extrayendo las reglas de negocio, máquina de estados y cadenas de aprobación directamente del modelo DDD (Initiative.cs). | 🔴 HIGH | 🟡 MEDIUM | -| 5 | 🟢 RESOLVED | [GAP-010](#detail-gap-010) | Docs | Documentation gap | Docs | Docs | N/A | PRODUCT_VISION.md No English version | Resolved: PRODUCT_VISION.md ya se encontraba traducido y actualizado en inglés. Registro obsoleto. | 🟢 HIGH | 🟡 MEDIUM | -| 6 | 🟢 RESOLVED | [COH-010](#detail-coh-010) | INCO | Source incoherence | Backend | Construction | US-CON-008 | DDD defines `markAsDone()` but no `reopen()`/`revertStatus()`. Yet story allows DONE→IN_REVIEW regression. Contract breach between spec and domain model. | Resolved: Falsa alarma. La regresión real operaba en PhaseProgression y es estrictamente monótona. | 🟡 | 🟡 | -| 7 | 🟢 RESOLVED | [COH-001](#detail-coh-001) | INCO | Source incoherence | Backend | Discovery | US-DIS-002..005,011 | Status naming: `CANVAS_SUBMITTED` vs DB `submitted`. InitiativeStatus enum undefined in DDD. `under_review` in DB but zero specs. | Resolved: El desajuste se arregló previamente (2026-07-20) extrayendo InitiativeStatus como constantes y aplicando CHECK constraint. | 🟡 | 🟡 | -| 8 | 🟢 RESOLVED | [COH-003](#detail-coh-003) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006 | Violates Small Aggregates pattern: nests child records inside a parent aggregate instead of referencing them by UUID. AGENTS.md mandates UUID refs only. | Resolved: No verificable (la historia US-DIS-006 no existe). El código actual SÍ utiliza referencias UUID correctamente. | 🟡 | 🟡 | -| 9 | 🟢 RESOLVED | [COH-011](#detail-coh-011) | INCO | Source incoherence | Backend | Discovery | US-DIS-003 | "ApprovalChain" aggregate referenced in Gherkin + Tech Reqs, but DDD model only defines `ApprovalGate` VO (0..1 cardinality). No ApprovalChain Aggregate Root exists. | Resolved: El código está bien (implementa ApprovalChain nativamente); el error era documental en una spec antigua. | 🟡 | 🟡 | -| 10 | 🟡 OPEN | [COH-008](#detail-coh-008) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | DeploymentRecord Aggregate Root NEVER created by any story. UC-005b ("records a DeploymentRecord") cannot be fulfilled. | Pending owner/action definition in this register. | 🟡 | 🟡 | -| 11 | 🟢 CLOSED | [COH-006](#detail-coh-006) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-010 | README says "MCP polling/sampling/agent SDK" but 0 of 6 MCP tools exist. | Resolved: Tier 2 BFF (`tracker-gateway`) now exposes 6/6 Tracker MCP tools via SSE and REST. | 🟡 | 🟡 | -| 12 | 🟢 CLOSED | [COH-007](#detail-coh-007) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-010 | PRD §5.3 defines 6 MCP tools; 0 implemented. BR-009 audit unenforceable via MCP. | Resolved: Tier 2 BFF (`tracker-gateway`) now exposes 6/6 Tracker MCP tools connected to live services. | 🟡 | 🟡 | -| 13 | 🟡 OPEN | [GAP-011](#detail-gap-011) | Docs | Documentation gap | Docs | Docs | N/A | C4 Topology No English version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 14 | 🟡 OPEN | [GAP-013](#detail-gap-013) | Docs | Documentation gap | Docs | Docs | N/A | 14 Technical Design Docs Lack ES Version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 15 | 🟡 OPEN | [GAP-015](#detail-gap-015) | Docs | Documentation gap | Docs | Docs | N/A | DECISIONS.md Lacks Description of T-001 Technical Rationale | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 16 | 🟡 OPEN | [GAP-016](#detail-gap-016) | Docs | Documentation gap | Docs | Docs | N/A | Roadmap Has No Calendar Dates | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 17 | 🟡 OPEN | [GAP-017](#detail-gap-017) | Docs | Documentation gap | Docs | Docs | N/A | Discovery Canvas Has No ES Version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 18 | 🟡 OPEN | [GAP-020](#detail-gap-020) | Docs | Documentation gap | Docs | Docs | N/A | Artifact Schema URLs from Core Missing | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 19 | 🟡 OPEN | [GAP-022](#detail-gap-022) | Docs | Documentation gap | Docs | Docs | N/A | SPACE Metrics Not Defined | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 20 | 🟡 OPEN | [GAP-023](#detail-gap-023) | Docs | Documentation gap | Docs | Docs | N/A | Re-Do Flow Not Fully Designed | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 21 | 🟡 OPEN | [GAP-025](#detail-gap-025) | Docs | Documentation gap | Docs | Docs | N/A | Portal DDD Incomplete (4 support contexts + strategic map missing) | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | -| 22 | 🟡 OPEN | [COH-005](#detail-coh-005) | GAP | Missing capability / corrective gap | Infra | Infra | US-INF-002 | Creates 10 schemas but omits `tracker_audit`. Data design defines 11 schemas; audit trail (BR-009) backbone missing. | Pending owner/action definition in this register. | 🟡 | 🟡 | -| 23 | 🟡 OPEN | [COH-012](#detail-coh-012) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006 | Gherkin covers only 2 of 4 CRUD operations (Create, Update). Delete and Read entirely missing. Zero edge cases. | Pending owner/action definition in this register. | 🟢 | 🟢 | -| 24 | 🟡 OPEN | [COH-009](#detail-coh-009) | INCO | Source incoherence | Backend | Release | All REL | BR-003 conflated: product-brief = "no deploy without QA gate", but 5+ stories invoke as "human authorization required." Two rules sharing one ID. | Pending owner/action definition in this register. | 🟢 | 🟢 | -| 25 | 🟡 OPEN | [GAP-021](#detail-gap-021) | Docs | Documentation gap | Docs | Docs | N/A | Redis in Docker Compose Without Requirement | Pending owner/action definition in this register. | 🟢 LOW | 🟡 MEDIUM | -| 26 | 🟡⏳ DEFERRED | [OPP-002](#detail-opp-002) | OPP | Improvement opportunity | Backend | N/A | N/A | Extraer AuditTrail como Shared Kernel — 5+ contextos implementan historiales inmutables | Pending owner/action definition in this register. | 🟠 HIGH | 🔴 HIGH | -| 27 | 🟢 RESOLVED | [COH-300](#detail-coh-300) | GAP | Missing capability / corrective gap | Backend | Construction | US-CON-008 | Architecture Drift blocks DONE transition scenario already present | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 28 | 🟢 RESOLVED | [COH-304](#detail-coh-304) | GAP | Missing capability / corrective gap | Backend | Construction | US-CON-005 | Shell compliance fixed: WFE/IntegrationFabric/TenantConfig injected; seq diagram updated | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 29 | 🟢 RESOLVED | [COH-305](#detail-coh-305) | INCO | Source incoherence | Backend | Construction | US-CON-012 | RefinementLock VO added to Construction DDD model + Ubiquitous Language | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 30 | 🟢 RESOLVED | [COH-201](#detail-coh-201) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-001 | BR-002 enforcement: US-CON-002 rejects linking tasks to DRAFT Blueprint | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 31 | 🟢 RESOLVED | [COH-203](#detail-coh-203) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-011 | DataSchema story created — full CRUD + Core validation for DDD DataSchema AR | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 32 | 🟢 RESOLVED | [COH-204](#detail-coh-204) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-002 | Visual contract designer scenario added to Gherkin + NFRs | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 33 | 🟢 RESOLVED | [COH-205](#detail-coh-205) | INCO | Source incoherence | Backend | Design | US-DES-006 | @evolith/integration-fabric added to dependencies + bounded context | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 34 | 🟢 RESOLVED | [COH-207](#detail-coh-207) | INCO | Source incoherence | Backend | Design | US-DES-007 | VersionEntry VO added to Design DDD model + TechnicalContract.versionHistory | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 35 | 🟢 RESOLVED | [COH-101](#detail-coh-101) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-014 | Discovery Canvas Builder created — guided form enforcing ROI, KPIs, risks | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 36 | 🟢 RESOLVED | [COH-102](#detail-coh-102) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-013 | Point estimate updated from 5→13 to reflect merge engine complexity | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 37 | 🟢 RESOLVED | [COH-106](#detail-coh-106) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-003 | Edge cases (checklist blocking, state guard, Architect estimation, resubmission) confirmed present | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 38 | 🟢 RESOLVED | [COH-202](#detail-coh-202) | GAP | Missing capability / corrective gap | Backend | Governance | AGENTS.md | AGENTS.md §23 already requires RequirementChecklist injection by WorkflowEngine | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 39 | 🟢 RESOLVED | [COH-600](#detail-coh-600) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-010 | Approval chain config story created — all 5 flow types (simple/seq/parallel/hierarchical/mixed) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 40 | 🟢 RESOLVED | [COH-603](#detail-coh-603) | INCO | Source incoherence | Backend | Integration | US-INT-004 | StatusMappingACL added; direct Jira→Evolith status mapping prevented | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 41 | 🟢 RESOLVED | [COH-602](#detail-coh-602) | INCO | Source incoherence | Backend | Metrics | US-MET-003 | DriftAlertEvent removed: Metrics consumes DriftDetectedEvent (Conformist); warning-only | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 42 | 🟢 RESOLVED | [COH-403](#detail-coh-403) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-002 | Automatic .harness trigger scenario added on Construction DONE | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 43 | 🟢 RESOLVED | [COH-404](#detail-coh-404) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-003 | CFR cold-start scenario: insufficient data message + gate blocked | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | -| 44 | 🟢 RESOLVED | [COH-405](#detail-coh-405) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-004 | Root Cleanliness added to QA gate conditions (US-QA-007 violations block gate) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 45 | 🟢 RESOLVED | [COH-406](#detail-coh-406) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-005 | Coverage gate enforcement scenario (below 60% blocks advancement) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 46 | 🟢 RESOLVED | [COH-407](#detail-coh-407) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-010 | ArtifactInstance Core schema validation on QA Report export | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 47 | 🟢 RESOLVED | [COH-500](#detail-coh-500) | INCO | Source incoherence | Backend | Release | US-REL-003 | State naming: RE-DO_SCHEDULED→Replanned, events realigned | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 48 | 🟢 RESOLVED | [COH-501](#detail-coh-501) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-001 | QA gate validation: rejection scenario for non-passed gate prevents Release creation | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 49 | 🟢 RESOLVED | [COH-502/503](#detail-coh-502-503) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-008 | Human authorization + DeploymentRecord status transition on rollback | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 50 | 🟢 RESOLVED | [COH-504](#detail-coh-504) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-009 | Agent deployment execution + report_deployment_status MCP tools | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 51 | 🟢 RESOLVED | [COH-700](#detail-coh-700) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-008 | 4 missing CLI commands added: list, reassign, unassign, mode set | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 52 | 🟢 RESOLVED | [COH-704](#detail-coh-704) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-004 | 3 missing Construction commands added: cycle start, review submit, drift get | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 53 | 🟢 RESOLVED | [COH-705](#detail-coh-705) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-007 | Gate list command added; evaluate/blockers/exception still unresolved | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 54 | 🟢 RESOLVED | [COH-706](#detail-coh-706) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-002 | 2 missing Discovery commands added: initiative init, initiative list | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 55 | 🟢 RESOLVED | [GAP-009](#detail-gap-009) | GAP | Missing capability / corrective gap | CLI | CLI | N/A | BMAD Agent Assignment API Endpoints Missing | Created `reference/specs/design/tracker-agent-assignment-api.md` | 🟠 HIGH | 🟡 MEDIUM | -| 56 | 🟢 RESOLVED | [GAP-005](#detail-gap-005) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | Roadmap subestima 45 puntos (16%) | Corregido: 101 stories/325 pts, Phase 0→M(2w), ~18.5w, R-16 registrado | 🟠 HIGH | 🟢 LOW | -| 57 | 🟢 RESOLVED | [COH-601](#detail-coh-601) | GAP | Missing capability / corrective gap | Infra | Infra | US-INF-009 | Audit schema lifecycle story created — tracker_audit bootstrap, append-only trigger, RLS | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | -| 58 | 🟢 RESOLVED | [GAP-002](#detail-gap-002) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | PostgreSQL Schema Names Inconsistent Across Documents | Schema naming `tracker_` adopted | 🟠 HIGH | 🟢 LOW | -| 59 | 🟢 RESOLVED | [GAP-003](#detail-gap-003) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | GraphQL API Status Undefined | REST + OpenAPI 3.0 only in Phase 1 | 🟠 HIGH | 🟢 LOW | -| 60 | 🟢 RESOLVED | [GAP-006](#detail-gap-006) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | Subestimación de puntos no registrada en Risk Register | R-16 añadido a `tracker-risk-register.md` con mitigación y owner | 🟡 MEDIUM | 🟢 LOW | -| 61 | 🟢 RESOLVED | [GAP-007](#detail-gap-007) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | CLI/MCP interbloqueo de fases con feature parity (BR-008) | Roadmap reestructurado: CLI Foundation en Phase 1, CLI distribuido Phase 2-7 | 🟡 MEDIUM | 🔴 HIGH | -| 62 | 🟢 RESOLVED | [COH-821](#detail-coh-821) | INCO | Source incoherence | Backend | Artifacts | US-ART-003 | EvidenceRecord links via ArtifactInstance→PhaseGateState chain. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 63 | 🟢 RESOLVED | [COH-907](#detail-coh-907) | GAP | Missing capability / corrective gap | Backend | Artifacts | N/A | EvidenceChain visualization story created (US-ART-004) — chain traversal + PDF export. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 64 | 🟢 RESOLVED | [COH-808](#detail-coh-808) | GAP | Missing capability / corrective gap | Backend | Construction | All CON | Functional-scope.md references verified — no broken links remain. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 65 | 🟢 RESOLVED | [COH-806](#detail-coh-806) | INCO | Source incoherence | Backend | Design | US-DES-009,010 | C4 Generator + STRIDE Analyzer added to Design DDD ubiquitous language. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 66 | 🟢 RESOLVED | [COH-807](#detail-coh-807) | GAP | Missing capability / corrective gap | Backend | Design | All DES | Tenant scoping added to US-DES-001 (entry point), inherited by remaining Design stories. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 67 | 🟢 RESOLVED | [COH-800](#detail-coh-800) | INCO | Source incoherence | Backend | Discovery | US-DIS-006..013 | All Discovery stories now have Feature:/Scenario: blocks. DIS-006 already had them; DIS-007..013 wrapped. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 68 | 🟢 RESOLVED | [COH-801](#detail-coh-801) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006..013 | MCP execution scenarios added to all 7 stories (DIS-006 already had MCP parity). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 69 | 🟢 RESOLVED | [COH-802](#detail-coh-802) | INCO | Source incoherence | Backend | Discovery | US-DIS-007 | IN_REFINEMENT refinement status defined in Discovery DDD §1. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 70 | 🟢 RESOLVED | [COH-803](#detail-coh-803) | OPP | Improvement opportunity | Backend | Discovery | US-DIS-005 | Scope→phase mapping made tenant-configurable via TenantConfigShell. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 71 | 🟢 RESOLVED | [COH-804](#detail-coh-804) | INCO | Source incoherence | Backend | Discovery | US-DIS-001 | Template field mapping: roiRationale→estimatedRoi fixed in US-DIS-001. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 72 | 🟢 RESOLVED | [COH-805](#detail-coh-805) | INCO | Source incoherence | Backend | Discovery | US-DIS-002,004 | Point delta acknowledged: BusinessCase (external inputs) = 5 vs TJ (internal) = 3. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 73 | 🟢 RESOLVED | [COH-900](#detail-coh-900) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-012 | Trailing template line removed. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 74 | 🟢 RESOLVED | [COH-901](#detail-coh-901) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-011 | Fixed: missing closing `**` after EPIC-005. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 75 | 🟢 RESOLVED | [COH-902](#detail-coh-902) | OPP | Improvement opportunity | Backend | Discovery | US-DIS-001 | Downstream scenario noted for Phase 1 refactoring. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 76 | 🟢 RESOLVED | [COH-816](#detail-coh-816) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-009 | Agent framework selection (bmad/spec-kit/custom) + FrameworkChangedEvent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 77 | 🟢 RESOLVED | [COH-817](#detail-coh-817) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-001 | SatelliteProduct lifecycle: archive(), PENDING_REVALIDATION, status transitions. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 78 | 🟢 RESOLVED | [COH-909](#detail-coh-909) | GAP | Missing capability / corrective gap | Backend | Governance | N/A | Governance 5-gate demo story created (US-GOV-011) — end-to-end gate command trace. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 79 | 🟢 RESOLVED | [COH-822](#detail-coh-822) | INCO | Source incoherence | Backend | Infra | US-INF-008 | Audit/telemetry distinction: permanent (BR-009) vs rotatable logs. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 80 | 🟢 RESOLVED | [COH-818](#detail-coh-818) | GAP | Missing capability / corrective gap | Backend | Integration | US-INT-007 | Health dashboard checks Core, UMS, GitHub, .harness, Jira — all 5 integrations. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 81 | 🟢 RESOLVED | [COH-819](#detail-coh-819) | INCO | Source incoherence | Backend | Integration | US-INT-008 | Gate advancement routed through Governance (AdvanceGateCommand). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 82 | 🟢 RESOLVED | [COH-820](#detail-coh-820) | GAP | Missing capability / corrective gap | Backend | Metrics | N/A | SPACE metrics story created (US-MET-006) with all 5 SPACE dimensions. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 83 | 🟢 RESOLVED | [COH-809](#detail-coh-809) | INCO | Source incoherence | Backend | QA | US-QA-003,004,008 | TestCycle Aggregate Root referenced in all QA stories + caps fixed in QA-008 Gherkin. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 84 | 🟢 RESOLVED | [COH-810](#detail-coh-810) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-006 | Human authorization scenario added: gate blocks until QA Engineer approves. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 85 | 🟢 RESOLVED | [COH-811](#detail-coh-811) | INCO | Source incoherence | Backend | QA | US-QA-008 | CFR displayed as aggregate ratio across all TestCycles, not per-cycle field. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 86 | 🟢 RESOLVED | [COH-903](#detail-coh-903) | INCO | Source incoherence | Backend | QA | US-QA-004 | Persona clarified: QA Engineer runs tests, Release Manager approves gate. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 87 | 🟢 RESOLVED | [COH-904](#detail-coh-904) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-002 | .harness execution is async with callback. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 88 | 🟢 RESOLVED | [COH-812](#detail-coh-812) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-003 | ReDoCycle AR listed in dependencies + persistent audit trail noted. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 89 | 🟢 RESOLVED | [COH-813](#detail-coh-813) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-001 | Calendar collision detection scenario with warning on same date/environment. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 90 | 🟢 RESOLVED | [COH-814](#detail-coh-814) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-006 | SPACE Survey Service story created (US-REL-010) — periodic survey trigger + webhook ingestion. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 91 | 🟢 RESOLVED | [COH-815](#detail-coh-815) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | Authorization-time re-validation scenario + GateConditionChangedEvent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 92 | 🟢 RESOLVED | [COH-905](#detail-coh-905) | INCO | Source incoherence | Backend | Release | US-REL-001 | DDD terminology: ReleasePackage aggregate name consistent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 93 | 🟢 RESOLVED | [COH-906](#detail-coh-906) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | Permission check documented in dependencies. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 94 | 🟢 RESOLVED | [COH-914](#detail-coh-914) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-005 | DORA dashboard threshold noted for Phase 1 statistical review. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 95 | 🟢 RESOLVED | [COH-823](#detail-coh-823) | INCO | Source incoherence | CLI | CLI | Global | CLI README: 11 stories · 37 pts matching actual files. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 96 | 🟢 RESOLVED | [COH-824](#detail-coh-824) | INCO | Source incoherence | CLI | CLI | Global | MCP Tool Suite duplication resolved (US-CLI-010 Phase 5, US-CLI-011 Phase 7). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 97 | 🟢 RESOLVED | [COH-910](#detail-coh-910) | INCO | Source incoherence | CLI | CLI | US-CLI-001 | `--format=json` adopted across all CLI stories per Core ADR 0073. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 98 | 🟢 RESOLVED | [COH-911](#detail-coh-911) | INCO | Source incoherence | CLI | CLI | US-CLI-009 | Title aligned: "MCP Server Bootstrap" in both story and README. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 99 | 🟢 RESOLVED | [COH-912](#detail-coh-912) | INCO | Source incoherence | CLI | CLI | US-CLI-003 | Context flag `--initiative` standardized across CLI stories. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 100 | 🟢 RESOLVED | [COH-913](#detail-coh-913) | GAP | Missing capability / corrective gap | CLI | CLI | Global | Offline-aware CLI story created (US-CLI-012) — queue, sync, conflict resolution. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 101 | 🟢 RESOLVED | [GAP-001](#detail-gap-001) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | README.es.md Missing | Created README.es.md | 🟢 LOW | 🟢 LOW | -| 102 | 🟢 RESOLVED | [GAP-012](#detail-gap-012) | Docs | Documentation gap | Docs | Docs | N/A | MASTER_INDEX.md Carece de Cabecera de Navegación Bilingüe | Added bilingual nav header to MASTER_INDEX.md | 🟢 LOW | 🟢 LOW | -| 103 | 🟢 RESOLVED | [GAP-014](#detail-gap-014) | Docs | Documentation gap | Docs | Docs | N/A | Harness ADR-0002 Applies to .NET Only | Added .NET scope note to ADR-0002 | 🟢 LOW | 🟢 LOW | -| 104 | 🟢 RESOLVED | [GAP-018](#detail-gap-018) | Docs | Documentation gap | Docs | Docs | N/A | TAD Internal Links Broken | Fixed TAD internal links | 🟢 LOW | 🟢 LOW | -| 105 | 🟢 RESOLVED | [GAP-024](#detail-gap-024) | Docs | Documentation gap | Docs | Docs | N/A | No Observability Dashboard or Alert Specification | Created `reference/specs/infrastructure/tracker-observability-spec.md` | 🟢 LOW | 🟢 LOW | -| 106 | 🟢 RESOLVED | [COH-908](#detail-coh-908) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | Secrets management story created (US-INF-010) — Vault + Docker/Helm injection. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | -| 107 | 🟢 RESOLVED | [GAP-008](#detail-gap-008) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | Transactional Outbox Uses Prisma in TypeORM Project | Fixed OutboxProcessor to use TypeORM | 🟢 LOW | 🟢 LOW | -| 1 | 🟢 RESOLVED | [GAP-004](#detail-gap-004) | GAP | Missing capability / corrective gap | API | N/A | N/A | 3 dependencias upstream bloqueadas (Core API, UMS JWKS, UMS Auth Graph) | Resolved via Defensive Isolation (Mocks). | 🔴 CRITICAL | 🔴 HIGH | +| 1 | 🟡 OPEN | [COH-008](#detail-coh-008) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | DeploymentRecord Aggregate Root NEVER created by any story. UC-005b ("records a DeploymentRecord") cannot be fulfilled. | Pending owner/action definition in this register. | 🟡 | 🟡 | +| 2 | 🟡 OPEN | [GAP-011](#detail-gap-011) | Docs | Documentation gap | Docs | Docs | N/A | C4 Topology No English version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 3 | 🟡 OPEN | [GAP-013](#detail-gap-013) | Docs | Documentation gap | Docs | Docs | N/A | 14 Technical Design Docs Lack ES Version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 4 | 🟡 OPEN | [GAP-015](#detail-gap-015) | Docs | Documentation gap | Docs | Docs | N/A | DECISIONS.md Lacks Description of T-001 Technical Rationale | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 5 | 🟡 OPEN | [GAP-016](#detail-gap-016) | Docs | Documentation gap | Docs | Docs | N/A | Roadmap Has No Calendar Dates | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 6 | 🟡 OPEN | [GAP-017](#detail-gap-017) | Docs | Documentation gap | Docs | Docs | N/A | Discovery Canvas Has No ES Version | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 7 | 🟡 OPEN | [GAP-020](#detail-gap-020) | Docs | Documentation gap | Docs | Docs | N/A | Artifact Schema URLs from Core Missing | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 8 | 🟡 OPEN | [GAP-022](#detail-gap-022) | Docs | Documentation gap | Docs | Docs | N/A | SPACE Metrics Not Defined | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 9 | 🟡 OPEN | [GAP-023](#detail-gap-023) | Docs | Documentation gap | Docs | Docs | N/A | Re-Do Flow Not Fully Designed | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 10 | 🟡 OPEN | [GAP-025](#detail-gap-025) | Docs | Documentation gap | Docs | Docs | N/A | Portal DDD Incomplete (4 support contexts + strategic map missing) | Pending owner/action definition in this register. | 🟡 MEDIUM | 🟡 MEDIUM | +| 11 | 🟡 OPEN | [COH-005](#detail-coh-005) | GAP | Missing capability / corrective gap | Infra | Infra | US-INF-002 | Creates 10 schemas but omits `tracker_audit`. Data design defines 11 schemas; audit trail (BR-009) backbone missing. | Pending owner/action definition in this register. | 🟡 | 🟡 | +| 12 | 🟡 OPEN | [COH-012](#detail-coh-012) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006 | Gherkin covers only 2 of 4 CRUD operations (Create, Update). Delete and Read entirely missing. Zero edge cases. | Pending owner/action definition in this register. | 🟢 | 🟢 | +| 13 | 🟡 OPEN | [COH-009](#detail-coh-009) | INCO | Source incoherence | Backend | Release | All REL | BR-003 conflated: product-brief = "no deploy without QA gate", but 5+ stories invoke as "human authorization required." Two rules sharing one ID. | Pending owner/action definition in this register. | 🟢 | 🟢 | +| 14 | 🟡 OPEN | [GAP-021](#detail-gap-021) | Docs | Documentation gap | Docs | Docs | N/A | Redis in Docker Compose Without Requirement | Pending owner/action definition in this register. | 🟢 LOW | 🟡 MEDIUM | +| 15 | 🟡⏳ DEFERRED | [OPP-002](#detail-opp-002) | OPP | Improvement opportunity | Backend | N/A | N/A | Extraer AuditTrail como Shared Kernel — 5+ contextos implementan historiales inmutables | Pending owner/action definition in this register. | 🟠 HIGH | 🔴 HIGH | +| 16 | 🟢 RESOLVED | [COH-002](#detail-coh-002) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006,007 | Discovery refinement entity has no persisted `status` column. States DRAFT/IN_REFINEMENT/SPLIT referenced in specs cannot be persisted; DDD model also missing the status field. | Resolved / Obsolete: El proceso de partición y refinamiento queda fuera del alcance de Tracker; las iniciativas sólo entran cuando están listas. | 🟢 LOW | 🟢 LOW | +| 17 | 🟢 RESOLVED | [COH-004](#detail-coh-004) | INCO | Source incoherence | Backend | QA | US-QA-001..004,006,008,011 | "TestRun" used in 7 stories but NOT in DDD model. DDD defines TestCycle (container) + TestExecution (atomic). TestCycle Aggregate Root never used by any story. | Resolved: TestCycle/TestExecution es el estándar canónico oficial; TestRun se depreca por ambiguo. Glosario actualizado. Historias asumen TestCycle. | 🔴 | 🔴 | +| 18 | 🟢 RESOLVED | [GAP-019](#detail-gap-019) | Docs | Documentation gap | Docs | Docs | N/A | Discovery requirements not broken down into implementable detail | Resolved: Se creó `docs/design/discovery-functional-specs.md` extrayendo las reglas de negocio, máquina de estados y cadenas de aprobación directamente del modelo DDD (Initiative.cs). | 🔴 HIGH | 🟡 MEDIUM | +| 19 | 🟢 RESOLVED | [GAP-010](#detail-gap-010) | Docs | Documentation gap | Docs | Docs | N/A | PRODUCT_VISION.md No English version | Resolved: PRODUCT_VISION.md ya se encontraba traducido y actualizado en inglés. Registro obsoleto. | 🟢 HIGH | 🟡 MEDIUM | +| 20 | 🟢 RESOLVED | [COH-010](#detail-coh-010) | INCO | Source incoherence | Backend | Construction | US-CON-008 | DDD defines `markAsDone()` but no `reopen()`/`revertStatus()`. Yet story allows DONE→IN_REVIEW regression. Contract breach between spec and domain model. | Resolved: Falsa alarma. La regresión real operaba en PhaseProgression y es estrictamente monótona. | 🟡 | 🟡 | +| 21 | 🟢 RESOLVED | [COH-001](#detail-coh-001) | INCO | Source incoherence | Backend | Discovery | US-DIS-002..005,011 | Status naming: `CANVAS_SUBMITTED` vs DB `submitted`. InitiativeStatus enum undefined in DDD. `under_review` in DB but zero specs. | Resolved: El desajuste se arregló previamente (2026-07-20) extrayendo InitiativeStatus como constantes y aplicando CHECK constraint. | 🟡 | 🟡 | +| 22 | 🟢 RESOLVED | [COH-003](#detail-coh-003) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006 | Violates Small Aggregates pattern: nests child records inside a parent aggregate instead of referencing them by UUID. AGENTS.md mandates UUID refs only. | Resolved: No verificable (la historia US-DIS-006 no existe). El código actual SÍ utiliza referencias UUID correctamente. | 🟡 | 🟡 | +| 23 | 🟢 RESOLVED | [COH-011](#detail-coh-011) | INCO | Source incoherence | Backend | Discovery | US-DIS-003 | "ApprovalChain" aggregate referenced in Gherkin + Tech Reqs, but DDD model only defines `ApprovalGate` VO (0..1 cardinality). No ApprovalChain Aggregate Root exists. | Resolved: El código está bien (implementa ApprovalChain nativamente); el error era documental en una spec antigua. | 🟡 | 🟡 | +| 24 | 🟢 RESOLVED | [COH-006](#detail-coh-006) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-010 | README says "MCP polling/sampling/agent SDK" but 0 of 6 MCP tools exist. | Resolved: Tier 2 BFF (`tracker-gateway`) now exposes 6/6 Tracker MCP tools via SSE and REST. | 🟡 | 🟡 | +| 25 | 🟢 RESOLVED | [COH-007](#detail-coh-007) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-010 | PRD §5.3 defines 6 MCP tools; 0 implemented. BR-009 audit unenforceable via MCP. | Resolved: Tier 2 BFF (`tracker-gateway`) now exposes 6/6 Tracker MCP tools connected to live services. | 🟡 | 🟡 | +| 26 | 🟢 RESOLVED | [COH-300](#detail-coh-300) | GAP | Missing capability / corrective gap | Backend | Construction | US-CON-008 | Architecture Drift blocks DONE transition scenario already present | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 27 | 🟢 RESOLVED | [COH-304](#detail-coh-304) | GAP | Missing capability / corrective gap | Backend | Construction | US-CON-005 | Shell compliance fixed: WFE/IntegrationFabric/TenantConfig injected; seq diagram updated | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 28 | 🟢 RESOLVED | [COH-305](#detail-coh-305) | INCO | Source incoherence | Backend | Construction | US-CON-012 | RefinementLock VO added to Construction DDD model + Ubiquitous Language | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 29 | 🟢 RESOLVED | [COH-201](#detail-coh-201) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-001 | BR-002 enforcement: US-CON-002 rejects linking tasks to DRAFT Blueprint | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 30 | 🟢 RESOLVED | [COH-203](#detail-coh-203) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-011 | DataSchema story created — full CRUD + Core validation for DDD DataSchema AR | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 31 | 🟢 RESOLVED | [COH-204](#detail-coh-204) | GAP | Missing capability / corrective gap | Backend | Design | US-DES-002 | Visual contract designer scenario added to Gherkin + NFRs | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 32 | 🟢 RESOLVED | [COH-205](#detail-coh-205) | INCO | Source incoherence | Backend | Design | US-DES-006 | @evolith/integration-fabric added to dependencies + bounded context | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 33 | 🟢 RESOLVED | [COH-207](#detail-coh-207) | INCO | Source incoherence | Backend | Design | US-DES-007 | VersionEntry VO added to Design DDD model + TechnicalContract.versionHistory | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 34 | 🟢 RESOLVED | [COH-101](#detail-coh-101) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-014 | Discovery Canvas Builder created — guided form enforcing ROI, KPIs, risks | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 35 | 🟢 RESOLVED | [COH-102](#detail-coh-102) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-013 | Point estimate updated from 5→13 to reflect merge engine complexity | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 36 | 🟢 RESOLVED | [COH-106](#detail-coh-106) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-003 | Edge cases (checklist blocking, state guard, Architect estimation, resubmission) confirmed present | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 37 | 🟢 RESOLVED | [COH-202](#detail-coh-202) | GAP | Missing capability / corrective gap | Backend | Governance | AGENTS.md | AGENTS.md §23 already requires RequirementChecklist injection by WorkflowEngine | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 38 | 🟢 RESOLVED | [COH-600](#detail-coh-600) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-010 | Approval chain config story created — all 5 flow types (simple/seq/parallel/hierarchical/mixed) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 39 | 🟢 RESOLVED | [COH-603](#detail-coh-603) | INCO | Source incoherence | Backend | Integration | US-INT-004 | StatusMappingACL added; direct Jira→Evolith status mapping prevented | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 40 | 🟢 RESOLVED | [COH-602](#detail-coh-602) | INCO | Source incoherence | Backend | Metrics | US-MET-003 | DriftAlertEvent removed: Metrics consumes DriftDetectedEvent (Conformist); warning-only | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 41 | 🟢 RESOLVED | [COH-403](#detail-coh-403) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-002 | Automatic .harness trigger scenario added on Construction DONE | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 42 | 🟢 RESOLVED | [COH-404](#detail-coh-404) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-003 | CFR cold-start scenario: insufficient data message + gate blocked | Resolved; evidence captured in the description. | 🟠 HIGH | 🟢 LOW | +| 43 | 🟢 RESOLVED | [COH-405](#detail-coh-405) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-004 | Root Cleanliness added to QA gate conditions (US-QA-007 violations block gate) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 44 | 🟢 RESOLVED | [COH-406](#detail-coh-406) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-005 | Coverage gate enforcement scenario (below 60% blocks advancement) | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 45 | 🟢 RESOLVED | [COH-407](#detail-coh-407) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-010 | ArtifactInstance Core schema validation on QA Report export | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 46 | 🟢 RESOLVED | [COH-500](#detail-coh-500) | INCO | Source incoherence | Backend | Release | US-REL-003 | State naming: RE-DO_SCHEDULED→Replanned, events realigned | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 47 | 🟢 RESOLVED | [COH-501](#detail-coh-501) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-001 | QA gate validation: rejection scenario for non-passed gate prevents Release creation | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 48 | 🟢 RESOLVED | [COH-502/503](#detail-coh-502-503) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-008 | Human authorization + DeploymentRecord status transition on rollback | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 49 | 🟢 RESOLVED | [COH-504](#detail-coh-504) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-009 | Agent deployment execution + report_deployment_status MCP tools | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 50 | 🟢 RESOLVED | [COH-700](#detail-coh-700) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-008 | 4 missing CLI commands added: list, reassign, unassign, mode set | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 51 | 🟢 RESOLVED | [COH-704](#detail-coh-704) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-004 | 3 missing Construction commands added: cycle start, review submit, drift get | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 52 | 🟢 RESOLVED | [COH-705](#detail-coh-705) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-007 | Gate list command added; evaluate/blockers/exception still unresolved | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 53 | 🟢 RESOLVED | [COH-706](#detail-coh-706) | GAP | Missing capability / corrective gap | CLI | CLI | US-CLI-002 | 2 missing Discovery commands added: initiative init, initiative list | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 54 | 🟢 RESOLVED | [GAP-009](#detail-gap-009) | GAP | Missing capability / corrective gap | CLI | CLI | N/A | BMAD Agent Assignment API Endpoints Missing | Created `reference/specs/design/tracker-agent-assignment-api.md` | 🟠 HIGH | 🟡 MEDIUM | +| 55 | 🟢 RESOLVED | [GAP-005](#detail-gap-005) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | Roadmap subestima 45 puntos (16%) | Corregido: 101 stories/325 pts, Phase 0→M(2w), ~18.5w, R-16 registrado | 🟠 HIGH | 🟢 LOW | +| 56 | 🟢 RESOLVED | [COH-601](#detail-coh-601) | GAP | Missing capability / corrective gap | Infra | Infra | US-INF-009 | Audit schema lifecycle story created — tracker_audit bootstrap, append-only trigger, RLS | Resolved; evidence captured in the description. | 🟠 HIGH | 🟡 MEDIUM | +| 57 | 🟢 RESOLVED | [GAP-002](#detail-gap-002) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | PostgreSQL Schema Names Inconsistent Across Documents | Schema naming `tracker_` adopted | 🟠 HIGH | 🟢 LOW | +| 58 | 🟢 RESOLVED | [GAP-003](#detail-gap-003) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | GraphQL API Status Undefined | REST + OpenAPI 3.0 only in Phase 1 | 🟠 HIGH | 🟢 LOW | +| 59 | 🟢 RESOLVED | [GAP-006](#detail-gap-006) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | Subestimación de puntos no registrada en Risk Register | R-16 añadido a `tracker-risk-register.md` con mitigación y owner | 🟡 MEDIUM | 🟢 LOW | +| 60 | 🟢 RESOLVED | [GAP-007](#detail-gap-007) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | CLI/MCP interbloqueo de fases con feature parity (BR-008) | Roadmap reestructurado: CLI Foundation en Phase 1, CLI distribuido Phase 2-7 | 🟡 MEDIUM | 🔴 HIGH | +| 61 | 🟢 RESOLVED | [COH-821](#detail-coh-821) | INCO | Source incoherence | Backend | Artifacts | US-ART-003 | EvidenceRecord links via ArtifactInstance→PhaseGateState chain. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 62 | 🟢 RESOLVED | [COH-907](#detail-coh-907) | GAP | Missing capability / corrective gap | Backend | Artifacts | N/A | EvidenceChain visualization story created (US-ART-004) — chain traversal + PDF export. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 63 | 🟢 RESOLVED | [COH-808](#detail-coh-808) | GAP | Missing capability / corrective gap | Backend | Construction | All CON | Functional-scope.md references verified — no broken links remain. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 64 | 🟢 RESOLVED | [COH-806](#detail-coh-806) | INCO | Source incoherence | Backend | Design | US-DES-009,010 | C4 Generator + STRIDE Analyzer added to Design DDD ubiquitous language. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 65 | 🟢 RESOLVED | [COH-807](#detail-coh-807) | GAP | Missing capability / corrective gap | Backend | Design | All DES | Tenant scoping added to US-DES-001 (entry point), inherited by remaining Design stories. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 66 | 🟢 RESOLVED | [COH-800](#detail-coh-800) | INCO | Source incoherence | Backend | Discovery | US-DIS-006..013 | All Discovery stories now have Feature:/Scenario: blocks. DIS-006 already had them; DIS-007..013 wrapped. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 67 | 🟢 RESOLVED | [COH-801](#detail-coh-801) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-006..013 | MCP execution scenarios added to all 7 stories (DIS-006 already had MCP parity). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 68 | 🟢 RESOLVED | [COH-802](#detail-coh-802) | INCO | Source incoherence | Backend | Discovery | US-DIS-007 | IN_REFINEMENT refinement status defined in Discovery DDD §1. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 69 | 🟢 RESOLVED | [COH-803](#detail-coh-803) | OPP | Improvement opportunity | Backend | Discovery | US-DIS-005 | Scope→phase mapping made tenant-configurable via TenantConfigShell. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 70 | 🟢 RESOLVED | [COH-804](#detail-coh-804) | INCO | Source incoherence | Backend | Discovery | US-DIS-001 | Template field mapping: roiRationale→estimatedRoi fixed in US-DIS-001. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 71 | 🟢 RESOLVED | [COH-805](#detail-coh-805) | INCO | Source incoherence | Backend | Discovery | US-DIS-002,004 | Point delta acknowledged: BusinessCase (external inputs) = 5 vs TJ (internal) = 3. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 72 | 🟢 RESOLVED | [COH-900](#detail-coh-900) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-012 | Trailing template line removed. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 73 | 🟢 RESOLVED | [COH-901](#detail-coh-901) | GAP | Missing capability / corrective gap | Backend | Discovery | US-DIS-011 | Fixed: missing closing `**` after EPIC-005. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 74 | 🟢 RESOLVED | [COH-902](#detail-coh-902) | OPP | Improvement opportunity | Backend | Discovery | US-DIS-001 | Downstream scenario noted for Phase 1 refactoring. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 75 | 🟢 RESOLVED | [COH-816](#detail-coh-816) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-009 | Agent framework selection (bmad/spec-kit/custom) + FrameworkChangedEvent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 76 | 🟢 RESOLVED | [COH-817](#detail-coh-817) | GAP | Missing capability / corrective gap | Backend | Governance | US-GOV-001 | SatelliteProduct lifecycle: archive(), PENDING_REVALIDATION, status transitions. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 77 | 🟢 RESOLVED | [COH-909](#detail-coh-909) | GAP | Missing capability / corrective gap | Backend | Governance | N/A | Governance 5-gate demo story created (US-GOV-011) — end-to-end gate command trace. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 78 | 🟢 RESOLVED | [COH-822](#detail-coh-822) | INCO | Source incoherence | Backend | Infra | US-INF-008 | Audit/telemetry distinction: permanent (BR-009) vs rotatable logs. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 79 | 🟢 RESOLVED | [COH-818](#detail-coh-818) | GAP | Missing capability / corrective gap | Backend | Integration | US-INT-007 | Health dashboard checks Core, UMS, GitHub, .harness, Jira — all 5 integrations. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 80 | 🟢 RESOLVED | [COH-819](#detail-coh-819) | INCO | Source incoherence | Backend | Integration | US-INT-008 | Gate advancement routed through Governance (AdvanceGateCommand). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 81 | 🟢 RESOLVED | [COH-820](#detail-coh-820) | GAP | Missing capability / corrective gap | Backend | Metrics | N/A | SPACE metrics story created (US-MET-006) with all 5 SPACE dimensions. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 82 | 🟢 RESOLVED | [COH-809](#detail-coh-809) | INCO | Source incoherence | Backend | QA | US-QA-003,004,008 | TestCycle Aggregate Root referenced in all QA stories + caps fixed in QA-008 Gherkin. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 83 | 🟢 RESOLVED | [COH-810](#detail-coh-810) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-006 | Human authorization scenario added: gate blocks until QA Engineer approves. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 84 | 🟢 RESOLVED | [COH-811](#detail-coh-811) | INCO | Source incoherence | Backend | QA | US-QA-008 | CFR displayed as aggregate ratio across all TestCycles, not per-cycle field. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 85 | 🟢 RESOLVED | [COH-903](#detail-coh-903) | INCO | Source incoherence | Backend | QA | US-QA-004 | Persona clarified: QA Engineer runs tests, Release Manager approves gate. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 86 | 🟢 RESOLVED | [COH-904](#detail-coh-904) | GAP | Missing capability / corrective gap | Backend | QA | US-QA-002 | .harness execution is async with callback. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 87 | 🟢 RESOLVED | [COH-812](#detail-coh-812) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-003 | ReDoCycle AR listed in dependencies + persistent audit trail noted. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 88 | 🟢 RESOLVED | [COH-813](#detail-coh-813) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-001 | Calendar collision detection scenario with warning on same date/environment. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 89 | 🟢 RESOLVED | [COH-814](#detail-coh-814) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-006 | SPACE Survey Service story created (US-REL-010) — periodic survey trigger + webhook ingestion. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 90 | 🟢 RESOLVED | [COH-815](#detail-coh-815) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | Authorization-time re-validation scenario + GateConditionChangedEvent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 91 | 🟢 RESOLVED | [COH-905](#detail-coh-905) | INCO | Source incoherence | Backend | Release | US-REL-001 | DDD terminology: ReleasePackage aggregate name consistent. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 92 | 🟢 RESOLVED | [COH-906](#detail-coh-906) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-004 | Permission check documented in dependencies. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 93 | 🟢 RESOLVED | [COH-914](#detail-coh-914) | GAP | Missing capability / corrective gap | Backend | Release | US-REL-005 | DORA dashboard threshold noted for Phase 1 statistical review. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 94 | 🟢 RESOLVED | [COH-823](#detail-coh-823) | INCO | Source incoherence | CLI | CLI | Global | CLI README: 11 stories · 37 pts matching actual files. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 95 | 🟢 RESOLVED | [COH-824](#detail-coh-824) | INCO | Source incoherence | CLI | CLI | Global | MCP Tool Suite duplication resolved (US-CLI-010 Phase 5, US-CLI-011 Phase 7). | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 96 | 🟢 RESOLVED | [COH-910](#detail-coh-910) | INCO | Source incoherence | CLI | CLI | US-CLI-001 | `--format=json` adopted across all CLI stories per Core ADR 0073. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 97 | 🟢 RESOLVED | [COH-911](#detail-coh-911) | INCO | Source incoherence | CLI | CLI | US-CLI-009 | Title aligned: "MCP Server Bootstrap" in both story and README. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 98 | 🟢 RESOLVED | [COH-912](#detail-coh-912) | INCO | Source incoherence | CLI | CLI | US-CLI-003 | Context flag `--initiative` standardized across CLI stories. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 99 | 🟢 RESOLVED | [COH-913](#detail-coh-913) | GAP | Missing capability / corrective gap | CLI | CLI | Global | Offline-aware CLI story created (US-CLI-012) — queue, sync, conflict resolution. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 100 | 🟢 RESOLVED | [GAP-001](#detail-gap-001) | GAP | Missing capability / corrective gap | Docs | Docs | N/A | README.es.md Missing | Created README.es.md | 🟢 LOW | 🟢 LOW | +| 101 | 🟢 RESOLVED | [GAP-012](#detail-gap-012) | Docs | Documentation gap | Docs | Docs | N/A | MASTER_INDEX.md Carece de Cabecera de Navegación Bilingüe | Added bilingual nav header to MASTER_INDEX.md | 🟢 LOW | 🟢 LOW | +| 102 | 🟢 RESOLVED | [GAP-014](#detail-gap-014) | Docs | Documentation gap | Docs | Docs | N/A | Harness ADR-0002 Applies to .NET Only | Added .NET scope note to ADR-0002 | 🟢 LOW | 🟢 LOW | +| 103 | 🟢 RESOLVED | [GAP-018](#detail-gap-018) | Docs | Documentation gap | Docs | Docs | N/A | TAD Internal Links Broken | Fixed TAD internal links | 🟢 LOW | 🟢 LOW | +| 104 | 🟢 RESOLVED | [GAP-024](#detail-gap-024) | Docs | Documentation gap | Docs | Docs | N/A | No Observability Dashboard or Alert Specification | Created `reference/specs/infrastructure/tracker-observability-spec.md` | 🟢 LOW | 🟢 LOW | +| 105 | 🟢 RESOLVED | [COH-908](#detail-coh-908) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | Secrets management story created (US-INF-010) — Vault + Docker/Helm injection. | Resolved; evidence captured in the description. | 🟢 LOW | 🟢 LOW | +| 106 | 🟢 RESOLVED | [GAP-008](#detail-gap-008) | GAP | Missing capability / corrective gap | Infra | Infra | N/A | Transactional Outbox Uses Prisma in TypeORM Project | Fixed OutboxProcessor to use TypeORM | 🟢 LOW | 🟢 LOW | +| 107 | 🟢 RESOLVED | [GAP-004](#detail-gap-004) | GAP | Missing capability / corrective gap | API | N/A | N/A | 3 dependencias upstream bloqueadas (Core API, UMS JWKS, UMS Auth Graph) | Resolved via Defensive Isolation (Mocks). | 🔴 CRITICAL | 🔴 HIGH | diff --git a/reference/specs/design/tracker-implementation-roadmap.es.md b/reference/specs/design/tracker-implementation-roadmap.es.md index 494930c8..8f9d2700 100644 --- a/reference/specs/design/tracker-implementation-roadmap.es.md +++ b/reference/specs/design/tracker-implementation-roadmap.es.md @@ -9,7 +9,7 @@ **Fecha:** 2026-06-07 **Autor:** Architect Agent (BMAD) -> **⚠️ SUPERADO (GAP-016).** Esta hoja de ruta es un **borrador histórico de la era NestJS**: planea +> **SUPERADO (GAP-016).** Esta hoja de ruta es un **borrador histórico de la era NestJS**: planea > un stack NestJS / TypeORM / Docker Compose que **no** fue el que se construyó. El Evolith Tracker > se implementó en **.NET 10** (`tracker-api`: Domain/Application/Infrastructure/Presentation + tests; > React 19 `tracker-web`; NestJS sólo en el BFF fino `tracker-gateway`). El plan de abajo está además diff --git a/reference/specs/design/tracker-implementation-roadmap.md b/reference/specs/design/tracker-implementation-roadmap.md index 740857ec..5a8f3647 100644 --- a/reference/specs/design/tracker-implementation-roadmap.md +++ b/reference/specs/design/tracker-implementation-roadmap.md @@ -9,7 +9,7 @@ **Date:** 2026-06-07 **Author:** Architect Agent (BMAD) -> **⚠️ SUPERSEDED (GAP-016).** This roadmap is a **historical draft from the NestJS era**: it plans +> **SUPERSEDED (GAP-016).** This roadmap is a **historical draft from the NestJS era**: it plans > a NestJS / TypeORM / Docker Compose stack that was **not** the one built. The Evolith Tracker was > implemented on **.NET 10** (`tracker-api`: Domain/Application/Infrastructure/Presentation + > tests; React 19 `tracker-web`; NestJS only in the thin `tracker-gateway` BFF). The plan below is From 8a0b5553aef0ce469729a6405869c4fcc50fe6f6 Mon Sep 17 00:00:00 2001 From: aarroyo Date: Sat, 1 Aug 2026 10:28:55 -0500 Subject: [PATCH 2/2] fix(ci): dar de alta robosoft en la raiz y regenerar el inventario documental MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Validate documentation` seguia en rojo despues de arreglar el registro de gaps, porque tenia TRES causas y no una. El job encadena sus pasos con `bash -e`, asi que cada fallo tapaba al siguiente: solo se veia el primero. 1. `Validate root cleanliness` rechazaba `robosoft/`. El directorio entro con GT-604 (`65820f9`) sin darse de alta en la allowlist de la raiz, y como este paso corre ANTES que los inventarios, abortaba el job entero. El fallo se leia como «documentacion invalida» cuando lo que pasaba era que la taxonomia de la raiz se habia quedado atras respecto al repositorio — el mismo caso que motivo la entrada de `evolith.yaml` el 2026-07-18. Se da de alta en vez de reubicarlo: los robots son consumidores EXTERNOS del despliegue —hablan con el tracker-api por HTTP como lo haria un cliente, sin compartir codigo ni configuracion con lo que prueban— y `local-test.sh` los invoca como `node "$ROOT/robosoft/run.mjs"`, con $ROOT en la raiz. 2. `doc-inventory --check` acusaba deriva real: la insignia decia 54 ADRs y hay 55, y el README de robosoft decia 12 robots y hay 13 — falta el `core-evidence-ingest` que llego con GT-604. Regenerado con `--write`, que es la via que el propio guardian indica. Los bloques se DERIVAN del codigo; escribirlos a mano es como se produjo la deriva. Verificado como lo haria el runner y no en el arbol de trabajo: se extrajo el arbol commiteado a un directorio limpio —sin `.codex/` ni `.worktrees/`, que son locales y en CI no existen— y se ejecutaron LOS SEIS pasos del job, no solo el que fallaba. Los seis en verde. Co-Authored-By: Claude Opus 5 --- .harness/scripts/validate-root-cleanliness.mjs | 14 +++++++++++++- README.es.md | 2 +- README.md | 2 +- robosoft/README.md | 3 ++- 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.harness/scripts/validate-root-cleanliness.mjs b/.harness/scripts/validate-root-cleanliness.mjs index e9b723c4..a493ca17 100755 --- a/.harness/scripts/validate-root-cleanliness.mjs +++ b/.harness/scripts/validate-root-cleanliness.mjs @@ -50,7 +50,19 @@ const allowedDirectories = new Set([ // Prototipo de UI (referenciado desde 77 ficheros) y artefactos de producto — // product/infra/helm aloja los charts que despliega el CI. "design", - "product" + "product", + // GT-604 — suite de agentes deterministicos E2E. Entro con `65820f9` sin darse de alta aqui, + // y desde entonces este guardian tenia en rojo el job entero de `Validate documentation`: el + // paso corre ANTES que los inventarios y `bash -e` aborta, asi que ningun otro chequeo del + // workflow llegaba a ejecutarse. El fallo se leia como «documentacion invalida» cuando lo que + // pasaba era que la taxonomia de la raiz se habia quedado atras respecto al repositorio — el + // mismo caso que motivo la entrada de `evolith.yaml` el 2026-07-18. + // + // Va en la RAIZ y no bajo `src/` o `product/` porque los robots son consumidores EXTERNOS del + // despliegue: hablan con el tracker-api por HTTP como lo haria un cliente, sin compartir + // codigo ni configuracion con lo que prueban. `local-test.sh` los invoca como + // `node "$ROOT/robosoft/run.mjs"`, con $ROOT en la raiz del repositorio. + "robosoft" ]); // Load .gitignore patterns to filter transient directories (.claude/, .tmp/, etc.) diff --git a/README.es.md b/README.es.md index 95e07662..92f4b877 100644 --- a/README.es.md +++ b/README.es.md @@ -8,7 +8,7 @@ [![Plataforma](https://img.shields.io/badge/.NET_10_%7C_PostgreSQL_%7C_React_19-informational?style=for-the-badge)]() [![Arquitectura](https://img.shields.io/badge/Evolith-Satélite-blueviolet?style=for-the-badge)](https://github.com/beyondnetcode/evolith_arch32) -[![ADRs](https://img.shields.io/badge/ADRs-54_decisiones-orange?style=for-the-badge)](./DECISIONS.md) +[![ADRs](https://img.shields.io/badge/ADRs-55_decisiones-orange?style=for-the-badge)](./DECISIONS.md) [![Licencia](https://img.shields.io/badge/Licencia-Dual_License-informational?style=for-the-badge)](./LICENSE) diff --git a/README.md b/README.md index 8ec7169b..b8174ab3 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ [![Platform](https://img.shields.io/badge/.NET_10_%7C_PostgreSQL_%7C_React_19-informational?style=for-the-badge)]() [![Architecture](https://img.shields.io/badge/Evolith-Satellite_Product-blueviolet?style=for-the-badge)](https://github.com/beyondnetcode/evolith_arch32) -[![ADRs](https://img.shields.io/badge/ADRs-54_decisions-orange?style=for-the-badge)](./DECISIONS.md) +[![ADRs](https://img.shields.io/badge/ADRs-55_decisions-orange?style=for-the-badge)](./DECISIONS.md) [![License](https://img.shields.io/badge/License-Dual_License-informational?style=for-the-badge)](./LICENSE) diff --git a/robosoft/README.md b/robosoft/README.md index deaf5b7f..a28c7236 100644 --- a/robosoft/README.md +++ b/robosoft/README.md @@ -60,12 +60,13 @@ fails the run; a failed **soft** check is a warning only. ## Robots -**12 robots.** Derived from `robosoft/robots/*.robot.mjs` — the same discovery `robosoft/run.mjs` performs, so this table cannot disagree with what a run executes. +**13 robots.** Derived from `robosoft/robots/*.robot.mjs` — the same discovery `robosoft/run.mjs` performs, so this table cannot disagree with what a run executes. | Robot | Proves | |-------|--------| | `audit-trail` | Assert governed actions are recorded, attributed to the authenticated actor, and tenant-scoped (BR-009). | | `auth-perimeter` | Prove the CLOSED (ums) perimeter enforces: 401 anonymous, 2xx valid, 403 under-privileged, 401 branch/forged. | +| `core-evidence-ingest` | Prove a real CLI evaluation lands as a persisted, non-empty, owner-attributed row in the Tracker (GT-604). | | `core-integration` | Assert every Tracker↔Core interface against the live stack (REST + MCP + /converse). | | `exception-governance` | Drive the exception-request lifecycle (submit→pending→decide→approved) and assert authority + audit (CD-20/21). | | `gate-enforcement` | Prove the discovery gate REFUSES to approve until evidence AND approval are present. |