EXP-03: validación del umbral con tarea real del catálogo (BE-04)
EXP-03: validación del umbral con tarea real del catálogo (Fase B)
Sección titulada «EXP-03: validación del umbral con tarea real del catálogo (Fase B)»Hipótesis relacionadas
Sección titulada «Hipótesis relacionadas»- H01 — El bundle incluye todos los recursos obligatorios.
- H02 — El bundle excluye contenido irrelevante.
- H03 — El bundle reduce el contexto.
Pregunta
Sección titulada «Pregunta»¿Se sostiene el umbral provisional de reducción de contexto ≥40% (DEC-006) al ejecutar get_task_context sobre una tarea real de docs/backend/, con la documentación real del catálogo de producto en lugar de fixtures sintéticos del repositorio demo?
- Elegir una tarea real de
docs/backend/cuya cadenadepends_onse resuelva (mayormente) dentro dedocs/, verificando primero qué nodos upstream citados quedan fuera del workspace. - Pre-registrar el gold standard manualmente en
research/evidence/GOLD_STANDARD_BE-04_REAL.mdantes de ejecutar el resolver (anti-circularidad, GATE-0 §5.2). - Configurar
DOCUGRAPH_WORKSPACE=<repo>\docse invocarget_task_context(taskId)con un cliente MCP externo mínimo hablando JSON-RPC 2.0 delimitado por saltos de línea sobre el proceso STDIO real (docugraph-mcp.bat, sin modificar:docugraph-coreni:docugraph-mcp). - Medir cobertura, precisión y omisión crítica contra el gold standard, y reducción de contexto con la heurística caracteres/4 (igual que EXP-02), usando dos comparadores: la cadena de documentos de la tarea y el contexto completo de
docs/. - Emitir veredicto sobre el umbral de DEC-006.
Comparadores:
| # | Comparador | Descripción |
|---|---|---|
| 1 | Cadena de la tarea | Los 11 documentos reales de docs/ que forman la cadena depends_on de BE-04 |
| 2 | Contexto completo de docs/ |
Los 36 documentos Markdown/YAML reales de docs/ (catálogo completo de producto) |
| 3 | Bundle DocuGraph | Contexto devuelto por get_task_context("BE-04") sobre docs/ real |
Preparación
Sección titulada «Preparación»- Tarea elegida:
BE-04(docs/backend/BE-04_mcp.get_task_context.md), preferida sobreBE-02por tener una cadenadepends_onmás profunda y con bifurcaciones (víaSCHEMA-01eIX-04), un caso más exigente que una cadena lineal. - Nodos upstream fuera del workspace
docs/(excluidos del gold con justificación):AGENTS(AGENTS.md, raíz del repo) yREADME(README.md, raíz del repo). Ambos son citados endepends_onde la cadena pero no tienen archivo dentro dedocs/; ver §0 deGOLD_STANDARD_BE-04_REAL.md. - Gold standard:
GOLD_STANDARD_BE-04_REAL.md, pre-registrado por lectura manual dedocs/backend/BE-04_mcp.get_task_context.mdy su cadenadepends_ontransitiva, antes de ejecutar el resolver. - Servidor MCP: mismo binario de Gate 0 (
:docugraph-mcp,installDist), sin modificaciones de código (no se tocó:docugraph-coreni:docugraph-mcppara este experimento). - Cliente MCP: script externo mínimo JSON-RPC 2.0 sobre STDIO (
research/evidence/mcp_client_exp03.ps1), reproduciendo el mismo transporte de EXP-01/EXP-02. - Workspace:
DOCUGRAPH_WORKSPACE=C:\Users\mclev\Documents\GitHub\docugraph\docs(catálogo de producto real, noresearch/evidence/demo-repo/).
Resultados
Sección titulada «Resultados»Ejecutado el 2026-08-11 contra el servidor real (installDist) vía STDIO, con DOCUGRAPH_WORKSPACE=docs.
Cobertura, precisión y omisión crítica (RES-03 §4.1–4.3)
Sección titulada «Cobertura, precisión y omisión crítica (RES-03 §4.1–4.3)»## Inclusion report del bundle real (research/evidence/bundle_BE-04_real_raw.md):
- `BE-04` depth=0: root- `SCHEMA-01` depth=1: depends_on from BE-04- `IX-04` depth=1: depends_on from BE-04- `US-06` depth=2: depends_on from IX-04- `US-05` depth=2: depends_on from IX-04- `US-04` depth=1: depends_on from BE-04- `US-03` depth=2: depends_on from SCHEMA-01- `US-02` depth=2: depends_on from SCHEMA-01- `US-01` depth=2: depends_on from SCHEMA-01- `VISION-00` depth=2: depends_on from IX-04- `MASTER-00` depth=3: depends_on from VISION-00| Métrica | Resultado |
|---|---|
Recursos obligatorios (gold, §1 de GOLD_STANDARD_BE-04_REAL.md) |
11 (BE-04, SCHEMA-01, IX-04, US-01..06, VISION-00, MASTER-00) |
| Presentes en el bundle real | 11/11 |
| Cobertura | 100% |
| Recursos irrelevantes o de otras cadenas presentes (§3 del gold) | 0 (ningún BE-0{1,2,3,5,6}, FE-0X, IX-0{1,2,3}, etc.) |
| Precisión | 100% |
AGENTS/README en el bundle |
0 (correctamente omitidos: el resolver los excluye en silencio por no existir dentro de docs/, sin error) |
| Omisión crítica | 0% |
El bundle real coincide exactamente, nodo por nodo, con la predicción manual del gold standard §1 (sin falsos positivos ni falsos negativos). Apoya H01 y H02 también fuera del repositorio demo.
Reducción de contexto (RES-03 §4.4)
Sección titulada «Reducción de contexto (RES-03 §4.4)»Tamaños medidos con Get-Content -Raw (caracteres reales de archivo) y aproximación de tokens ÷4 (heurística estándar, igual que EXP-02; limitación documentada):
| Comparador | Caracteres | Tokens≈ (÷4) |
|---|---|---|
Bundle real (get_task_context("BE-04")) |
112 250 | ~28 062 |
Cadena de la tarea (11 documentos reales de docs/) |
110 455 | ~27 614 |
Contexto completo de docs/ (36 documentos) |
376 433 | ~94 108 |
| Comparación | Reducción 1 - bundle/comparador |
|---|---|
| Bundle vs. cadena de la tarea | -1.63% (el bundle es ligeramente mayor que la suma cruda de los 11 documentos) |
Bundle vs. contexto completo de docs/ |
70.17% |
Hallazgo clave: para esta tarea real, la cadena depends_on obligatoria (11 documentos) ya representa un subconjunto muy concentrado y grande dentro de sí misma (MASTER-00 solo aporta 31 919 caracteres, más de la cuarta parte de la cadena). El renderizado del bundle (encabezados ### id — título, línea path:, sección ## Inclusion report) añade ~1 795 caracteres de overhead sobre la simple concatenación de los 11 archivos fuente, por lo que la reducción vs. la cadena es ligeramente negativa: el bundle no comprime el texto de cada documento, solo filtra qué documentos incluir. La reducción real y sustancial proviene de filtrar 11 de 36 documentos del catálogo (bundle vs. contexto completo de docs/): 70.17%, muy por encima del umbral provisional de DEC-006.
get_task_context con taskId real fuera de la cadena
Sección titulada «get_task_context con taskId real fuera de la cadena»No se repitió la prueba negativa TASK_NOT_FOUND (ya cubierta en EXP-01/EXP-02 sin necesidad de repetición, Regla 4 de AGENTS.md); se ejecutó validate_traceability(workspacePath="docs") en su lugar, ver Evidencia.
validate_traceability sobre docs/ (confirma §0 del gold standard)
Sección titulada «validate_traceability sobre docs/ (confirma §0 del gold standard)»nodeCount=35, edgeCount=154, valid=false (research/evidence/validate_traceability_docs_raw.json). Entre los LINK_BROKEN_DEPENDS reportados están, exactamente los previstos en §0 del gold standard:
'BE-04' depende de 'AGENTS', que no existe en el workspace'IX-04' depende de 'AGENTS', que no existe en el workspace'US-04' depende de 'AGENTS', que no existe en el workspace'US-05' depende de 'AGENTS', que no existe en el workspace'VISION-00' depende de 'README', que no existe en el workspace
Confirma, de forma independiente al bundle, que AGENTS/README están correctamente excluidos del gold por no existir dentro de docs/, y que el resolver de get_task_context los omite en silencio en el bundle (sin listarlos en ## Inclusion report) exactamente por este motivo. nodeCount=35 (no 36) porque docs/api/openapi.yaml no tiene frontmatter YAML de DocuGraph parseable por validate_traceability, aunque sí se contó en el total de caracteres del comparador “contexto completo de docs/” (§ Reducción de contexto); diferencia irrelevante para la medición de reducción (1 archivo de 36, impacto marginal en caracteres).
Informe de validación del umbral
Sección titulada «Informe de validación del umbral»- Cobertura obligatoria: 100% (11/11 recursos del gold presentes). Apoya H01, ahora también con documentación real de producto.
- Omisión crítica: 0%. Apoya H01.
- Precisión: 100% (0 recursos irrelevantes o de otras cadenas). Apoya H02.
- Reducción de contexto vs. contexto completo de
docs/: 70.17%, muy por encima del umbral provisional ≥40% de DEC-006. Apoya H03. - Reducción de contexto vs. la cadena de la tarea: -1.63% (negativa/nula) — hallazgo nuevo no observado en EXP-02 (los fixtures sintéticos no medían este comparador porque el repositorio demo completo era casi la cadena). No refuta H03 (el comparador oficial de DEC-006/RES-03 §4.4 es “bundle vs. contexto completo”), pero matiza su interpretación: el valor del resolver frente a copiar y pegar manualmente los documentos correctos no es “comprimir” cada documento, sino identificar con precisión el subconjunto correcto (11 de 36) sin intervención humana ni riesgo de omisión/inclusión errónea.
Veredicto sobre el umbral (DEC-006)
Sección titulada «Veredicto sobre el umbral (DEC-006)»El umbral provisional ≥40% se sostiene con una tarea real del catálogo de producto: 70.17% ≥ 40%. No se requiere un ajuste del umbral (no se abre DEC-007 como cambio de valor); en su lugar se registra DEC-007 como confirmación del umbral con evidencia real, cerrando la revisión pendiente anotada en DEC-006 (“Fecha de revisión: antes de declarar el criterio §5.2 de MASTER-00 cumplido para MVP, con evidencia de al menos una tarea real”).
Evidencia
Sección titulada «Evidencia»- Gold standard pre-registrado:
GOLD_STANDARD_BE-04_REAL.md. - Bundle real capturado:
research/evidence/bundle_BE-04_real_raw.md(112 250 caracteres). - Reporte de
validate_traceability("docs"):research/evidence/validate_traceability_docs_raw.json. - Sesión JSON-RPC completa (
initialize,tools/list,get_task_context("BE-04"),validate_traceability):research/evidence/mcp_raw_exp03.json. - Cliente usado:
research/evidence/mcp_client_exp03.ps1(script externo mínimo JSON-RPC 2.0 sobre STDIO; no forma parte de:docugraph-mcp; no se modificó código de:docugraph-coreni:docugraph-mcpen este experimento). - Comando de compilación previo (ya existente de EXP-02, no repetido):
./gradlew :docugraph-mcp:installDist(binario reutilizado sin cambios).
Limitaciones
Sección titulada «Limitaciones»- Una sola tarea real: este experimento valida el umbral con
BE-04únicamente; no cubredocs/frontend/FE-0Xni cadenas aún más profundas o con más bifurcaciones. Se recomienda repetir con al menos una tarea dedocs/frontend/antes de fijar el umbral como definitivo para MVP. - Estimación de tokens por caracteres: se usó la heurística de 4 caracteres/token (igual limitación que EXP-02); la razón de reducción es robusta a esta aproximación, no los valores absolutos.
- Comparador “cadena de la tarea” es sensible al overhead de renderizado: con cadenas cortas o documentos muy concentrados (como en
BE-04, dondeMASTER-00es un documento largo e ineludible en la cadena), este comparador puede volverse negativo sin que ello indique una regresión del resolver; el comparador relevante para el criterio de aceptación de RES-03 §4.4 sigue siendo “bundle vs. contexto completo”. - Nodos fuera de workspace omitidos sin advertencia explícita en el bundle:
AGENTS/READMEno generan ninguna nota visible en## Inclusion report; solo se detectan comparando contra eldepends_ondeclarado en el frontmatter fuente. Se recomienda evaluar (fuera del alcance de este experimento, ver Restricciones) sivalidate_traceabilitydebería señalarlos comoLINK_BROKEN_DEPENDSal auditardocs/de forma aislada.
⚠️ Caveat pre-registrado: esta evidencia corresponde a una sola tarea real (
BE-04) del catálogo de producto; no garantiza generalidad a todas las cadenas dedocs/backend/odocs/frontend/. El umbral se considera confirmado con evidencia real suficiente para continuar la Fase B, no como cierre definitivo de la pregunta de investigación H03.
Decisión
Sección titulada «Decisión»CONTINUAR — el umbral ≥40% de DEC-006 se sostiene con margen amplio (70.17%) en una tarea real del catálogo de producto, con cobertura 100%, omisión crítica 0% y precisión 100%. Registrado en DEC-LOG (DEC-007, confirmación, sin cambio de valor).
Próxima acción
Sección titulada «Próxima acción»- Registrar
DEC-007enDEC-LOGconfirmando el umbral con esta evidencia real. - Repetir la validación con al menos una tarea real de
docs/frontend/para ampliar la cobertura de evidencia antes de declarar el criterio §5.2 de MASTER-00 cumplido para MVP. - Evaluar H04 (calidad de implementación con vs. sin bundle) con un agente real, alineado con el Kotlin AI Benchmark (DEC-003 §3).
Registro de estado
Sección titulada «Registro de estado»| Campo | Valor |
|---|---|
| Estado | COMPLETADA |
| Fecha de apertura | 2026-08-11 |
| Fecha de ejecución | 2026-08-11 |
| Fecha de cierre | 2026-08-11 |
| Cambio de estado en | DEC-LOG (DEC-007) |