@zhivex-ai/harness 1.0.0 → 1.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/README.md +52 -306
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +7 -3
  5. package/benchmarks/README.md +3 -3
  6. package/contracts/client-protocol-v1.schema.json +341 -0
  7. package/contracts/public-api.json +100 -1
  8. package/contracts/stable-api-signatures.json +14 -14
  9. package/dist/approval-diff.d.ts +45 -0
  10. package/dist/approval-history.d.ts +38 -0
  11. package/dist/approval-preview.d.ts +26 -0
  12. package/dist/cli-credentials.d.ts +38 -0
  13. package/dist/cli-help.d.ts +3 -0
  14. package/dist/cli-options.d.ts +1 -1
  15. package/dist/cli-stream.d.ts +3 -3
  16. package/dist/cli.d.ts +15 -69
  17. package/dist/cli.js +13796 -10032
  18. package/dist/client-contract.d.ts +208 -0
  19. package/dist/console-commands.d.ts +6 -0
  20. package/dist/console-context.d.ts +5 -1
  21. package/dist/console-input.d.ts +44 -4
  22. package/dist/console-model-catalog.d.ts +25 -0
  23. package/dist/console-navigation.d.ts +27 -0
  24. package/dist/console-presentation.d.ts +18 -0
  25. package/dist/console-welcome.d.ts +13 -0
  26. package/dist/execution-environment.d.ts +4 -0
  27. package/dist/harness.d.ts +3 -0
  28. package/dist/hostile-repository-demo.js +1913 -798
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.js +7908 -6330
  31. package/dist/local-service.d.ts +34 -0
  32. package/dist/operations.d.ts +23 -1
  33. package/dist/orchestration.d.ts +3 -0
  34. package/dist/persistence-secrets.d.ts +2 -0
  35. package/dist/recorded-workspace.d.ts +4 -0
  36. package/dist/run-document.d.ts +91 -0
  37. package/dist/runtime-policy.d.ts +4 -4
  38. package/dist/service-cli.d.ts +2 -0
  39. package/dist/service-cli.js +10858 -0
  40. package/dist/service-client-cli.d.ts +2 -0
  41. package/dist/service-events.d.ts +50 -0
  42. package/dist/sessions.d.ts +3 -0
  43. package/dist/sqlite-access.d.ts +26 -0
  44. package/dist/sqlite-database.d.ts +2 -0
  45. package/dist/state-backup.d.ts +8 -0
  46. package/dist/task-memory.d.ts +2 -2
  47. package/dist/terminal-continuation.d.ts +3 -0
  48. package/dist/terminal-markdown.d.ts +1 -0
  49. package/dist/terminal-ui.d.ts +5 -0
  50. package/dist/usage-ledger.d.ts +84 -0
  51. package/dist/verify-historical-migrations.js +5699 -5191
  52. package/dist/workspace.d.ts +22 -0
  53. package/dist/zhx.js +13796 -10032
  54. package/docs/CLI.md +136 -30
  55. package/docs/CLIENT_PROTOCOL.md +212 -0
  56. package/docs/CREDENTIALS.md +59 -0
  57. package/docs/DURABLE_OPERATIONS.md +2 -2
  58. package/docs/FIRST_USE.md +82 -0
  59. package/docs/FIRST_USE_EXAMPLE.md +40 -0
  60. package/docs/HOSTILE_REPOSITORY_DEMO.md +1 -1
  61. package/docs/LOCAL_SERVICE.md +142 -0
  62. package/docs/README.md +24 -23
  63. package/docs/THREAT_MODEL.md +1 -1
  64. package/docs/TIME_TO_SAFE_FIX.md +2 -2
  65. package/docs/USAGE.md +181 -0
  66. package/evaluations/daily-cli-cohort.json +33 -0
  67. package/evaluations/representative-assembly-matrix.json +19 -1
  68. package/examples/README.md +26 -0
  69. package/examples/first-use/greeting.test.ts +3 -0
  70. package/examples/first-use/greeting.ts +1 -0
  71. package/examples/first-use/package.json +7 -0
  72. package/package.json +34 -9
  73. package/ROADMAP.md +0 -414
  74. package/benchmarks/baselines/context-navigation-2026-09-09.json +0 -94
  75. package/benchmarks/baselines/efficiency-2026-09-08.json +0 -233
  76. package/benchmarks/baselines/external-final-2026-09-08.json +0 -588
  77. package/benchmarks/baselines/external-intermediate-2026-09-08.json +0 -116
  78. package/benchmarks/baselines/external-matched-openai-2026-09-08.json +0 -1922
  79. package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +0 -1706
  80. package/benchmarks/baselines/external-pilot-2026-09-08.json +0 -439
  81. package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +0 -1570
  82. package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +0 -1509
  83. package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +0 -2509
  84. package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +0 -564
  85. package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +0 -794
  86. package/benchmarks/baselines/full-harness-review-2026-09-10.json +0 -134
  87. package/benchmarks/baselines/harness-audit-2026-09-09.json +0 -136
  88. package/benchmarks/baselines/harness-remediation-2026-09-09.json +0 -160
  89. package/benchmarks/baselines/oci-remediation-2026-09-10.json +0 -535
  90. package/benchmarks/baselines/rc14-holdout-2026-09-10.json +0 -854
  91. package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +0 -75
  92. package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +0 -186
  93. package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +0 -186
  94. package/docs/GA_READINESS.md +0 -29
  95. package/docs/GEMINI_1_0_DECISION.md +0 -9
  96. package/docs/LIVE_CERTIFICATION.md +0 -107
  97. package/docs/RC13_SECURITY_REVIEW.md +0 -28
  98. package/docs/RC14_DELEGATED_SECURITY_DECISION.md +0 -80
  99. package/docs/RC14_SECURITY_REVIEW.md +0 -40
  100. package/docs/RELEASE.md +0 -96
  101. package/docs/ROLLBACK.md +0 -9
  102. package/docs/SECURITY_REVIEW_EVIDENCE.md +0 -17
  103. package/docs/ga-readiness.json +0 -366
  104. package/docs/reports/EFFICIENCY_REVIEW.md +0 -156
  105. package/docs/reports/EXTERNAL_COMPARISON.md +0 -434
  106. package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +0 -200
  107. package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +0 -38
  108. package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +0 -700
  109. package/docs/reports/GA_VALIDATION_2026-09-19.md +0 -111
  110. package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +0 -202
  111. package/docs/reports/HARNESS_AUDIT_2026-09-09.md +0 -306
  112. package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +0 -74
  113. package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +0 -90
  114. package/docs/reports/MODEL_COMPARISON_2026-09-09.md +0 -184
  115. package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +0 -142
  116. package/docs/reports/RC14_VALIDATION_2026-09-10.md +0 -45
  117. package/docs/reports/README.md +0 -26
  118. package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +0 -133
  119. package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +0 -699
  120. package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +0 -40
  121. package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +0 -985
  122. package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +0 -28
  123. package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +0 -15
  124. package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +0 -47
  125. package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +0 -22
  126. package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +0 -54
  127. package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +0 -242
  128. package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +0 -4318
  129. package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +0 -66
  130. package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +0 -31
  131. package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +0 -22
  132. package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +0 -39
  133. package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +0 -573
  134. package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +0 -24
  135. package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +0 -19
  136. package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +0 -24
  137. package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +0 -41
  138. package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +0 -35
  139. package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +0 -95
  140. package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +0 -211
  141. package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +0 -27
  142. package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +0 -1092
  143. package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +0 -18
  144. package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +0 -571
  145. package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +0 -18
  146. package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +0 -85
  147. package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +0 -85
  148. package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +0 -1066
  149. package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +0 -1313
  150. package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +0 -1151
  151. package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +0 -3943
  152. package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +0 -1055
  153. package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +0 -1245
  154. package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +0 -699
  155. package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +0 -854
  156. package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +0 -596
  157. package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +0 -25
  158. package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +0 -1337
  159. package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +0 -25
  160. package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +0 -30
  161. package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +0 -559
  162. package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +0 -28
  163. package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +0 -27
  164. package/docs/reports/evidence/ga-validation-2026-09-19.json +0 -236
  165. package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +0 -1369
  166. package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +0 -29
  167. package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +0 -30
  168. package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +0 -65
  169. package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +0 -1297
  170. package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +0 -27
  171. package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +0 -113
  172. package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +0 -301
  173. package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +0 -84
  174. package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +0 -32
  175. package/docs/reports/evidence/ga-working-context-2026-09-19.json +0 -22
  176. package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +0 -81
  177. package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +0 -18
  178. package/docs/reports/evidence/rc14-representative-2026-09-20.json +0 -509
  179. package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +0 -64
  180. package/docs/reports/evidence/security-current-2026-09-19.json +0 -91
  181. package/docs/reports/evidence/security-remediation-2026-09-19.json +0 -97
@@ -1,200 +0,0 @@
1
- # Revisión integral del harness y del trabajo acumulado
2
-
3
- > Historical snapshot: versions, findings and measurements below describe the recorded run, not the current checkout. See the [report index](README.md) for follow-up work and the [documentation index](../README.md) for maintained guides.
4
-
5
- Revisión del 10 de septiembre UTC / 9 de septiembre de 2026 en Argentina.
6
- Base Git: `0a7b69dddaa70a54b6b5b4097691c8112d4d76eb`, versión declarada
7
- `1.0.0-rc.13`, incluyendo los cambios locales existentes. Antes de esta revisión
8
- había 72 entradas modificadas/no rastreadas. La versión del package.json no
9
- identifica por sí sola estos nuevos bytes como el RC13 publicado.
10
-
11
- **Conclusión:** la base de ejecución gobernada está más desarrollada que el
12
- control del proceso de reparación. El siguiente avance debe convertir candidatos
13
- en entregas verificadas dentro del presupuesto, preservando las aprobaciones.
14
- También hay defectos concretos de integración y una brecha en la validación de
15
- scripts que conviene cerrar antes de otra certificación.
16
-
17
- ## Historial reconstruido
18
-
19
- Se revisaron Git, los informes locales, el historial disponible de «Revisar
20
- eficiencia del harness», «Evaluar harness contra HUs» y «Revisa y corrige HU del
21
- harness», y notas históricas de las auditorías de seguridad y releases.
22
-
23
- | Etapa | Trabajo realizado | Implicación actual |
24
- | --- | --- | --- |
25
- | 16–18 de agosto | Edición ligada a digests, aprobaciones, operaciones durables, aislamiento OCI y publicación verificable | Son garantías centrales que deben conservarse al mejorar eficacia. |
26
- | 20–22 de agosto | Consola multiproveedor, delegación, migración Node-first, hardening de archivos y release | El alcance ya supera un simple loop de herramientas; requiere pruebas de integración entre subsistemas. |
27
- | RC1–RC6 | Diagnóstico de fallos previos a publicación y evidencia correlacionada/sanitizada | Un gate determinístico verde no demostraba ejecución live ni publicación. |
28
- | RC7–RC13 | Correcciones progresivas, cohortes certificadas y preparación de revisión humana | El ledger local registra RC13 exitoso y mantiene abierta la revisión de seguridad GA. No se reconsultaron Actions/registry en esta auditoría. |
29
- | 8–9 de septiembre | Lecturas concurrentes, búsqueda por lotes, navegación retenida, memoria de tarea, edición por reemplazos, recuperación y perfil repair | Son cambios locales posteriores a la evidencia del artefacto RC13; no heredan automáticamente su certificación. |
30
- | Última comparación Qwen | 0/10 entregas frente a 4/10 de mini; tres candidatos correctos sin entregar | La pérdida entre edición y cierre es prioritaria. Son cinco tareas conocidas repetidas, no evidencia de generalización. |
31
-
32
- El último arreglo del SDK para herramientas no registradas fue implementado y
33
- validado **localmente en el SDK**, según el hilo consultado; el cierre del hilo
34
- declara que no hubo commit, push ni publicación. El harness sigue fijando Core
35
- 1.14.0/Agents 1.4.0. No debe darse esa recuperación por integrada aquí.
36
-
37
- ## Defectos reproducidos y prioridades
38
-
39
- ### F01 — P1: MCP puede sustituir las herramientas de memoria
40
-
41
- En `src/harness.ts:900` se rechazan colisiones con workspace, ejecución y skills,
42
- pero no con `createTaskTools()`. El merge posterior permite que un MCP configurado
43
- con `read_` + `task`, o `repair_` + `plan`, reemplace silenciosamente la herramienta
44
- local. El reproductor devuelve el resultado del cliente MCP en ambos casos;
45
- `read_file` se rechaza correctamente como control.
46
-
47
- Impacto: confusión de identidad, pérdida de recuperación de requisitos y posible
48
- contaminación del plan. Requiere un MCP configurado con ese nombre/prefijo. No se
49
- demostró evasión de aprobaciones ni del aislamiento OCI; OCI rechaza MCP.
50
-
51
- **Cambio:** construir un único registro con nombres reservados antes del merge,
52
- comprobar colisiones de todos los grupos y vincular la clasificación de resultados
53
- a su origen, no solamente al nombre. Aceptación: los tres casos se rechazan antes
54
- de exponer herramientas al modelo.
55
-
56
- ### F02 — P1: el presupuesto de cierre no está reservado
57
-
58
- `src/model-budget.ts:11` verifica uso acumulado antes de llamar, pero no estima
59
- la siguiente petición ni separa recursos para cierre. `repair-progress.ts` limita
60
- ciertas llamadas al superar el 70%; eso no reserva tokens. El reproductor previo,
61
- reejecutado aquí, consume los 30.000 tokens restantes en tres peticiones ordinarias
62
- y deja **cero** para verificar. Una respuesta también puede superar el límite.
63
-
64
- **Cambio:** presupuesto de trabajo y cierre separado, previsión de petición
65
- completa y margen de salida/recuperación. Persistir la contabilidad del transporte,
66
- incluida su completitud, en lugar de reconstruirla exclusivamente desde
67
- `state.usage` (`src/harness.ts:1437`). Probar agotamiento y reanudación sin conceder
68
- presupuesto nuevo ni convertir uso desconocido en cero.
69
-
70
- ### F03 — P1: falta un controlador durable de reparación
71
-
72
- `runHarness` retorna cuando el SDK termina sin aprobaciones pendientes
73
- (`src/harness.ts:1565`). El cierre especial solo interviene cuando el modelo ya
74
- solicitó una herramienta terminal y el operador la aprobó. Registrar un plan
75
- marca fase `repair` aunque no exista reproducción ni edición.
76
-
77
- **Cambio:** estados basados en evidencia: exploración, reproducción, candidato,
78
- verificación pendiente, importación pendiente y entrega. Una revisión del candidato
79
- invalida comprobaciones anteriores. El controlador debe preparar el próximo paso
80
- y conservar un resultado incompleto si no puede avanzar; nunca inventar aprobación
81
- ni asumir que un texto de éxito equivale a reparación. Mantener tareas de análisis
82
- sin edición como una finalización legítima.
83
-
84
- ### F04 — P2: el alcance del plan no cubre lecturas por lote
85
-
86
- `src/repair-progress.ts:60` consulta `input.path`; `read_files` usa
87
- `files[].path`. El mismo archivo fuera del plan se bloquea en una lectura individual
88
- y se devuelve en un lote. Reproducción revalidada. Es una incoherencia de estrategia,
89
- no una evasión de los controles de acceso del workspace.
90
-
91
- **Cambio:** extracción/normalización de paths por schema real; aplicar el mismo
92
- criterio a lotes, archivos y búsquedas. Separar llamadas de cantidad de evidencia.
93
-
94
- ### F05 — P2: la compacción manual puede ampliar el contexto
95
-
96
- `src/compaction.ts:167` añade el resumen y reinserta completas todas las solicitudes
97
- del usuario. En veinte solicitudes sintéticas, pasa de **190.271 a 192.826 caracteres**.
98
- Esta ruta se usa en `/compact` y cambios de proveedor/modelo; no debe confundirse
99
- con el resumen automático del SDK.
100
-
101
- **Cambio:** conservar íntegros los requisitos fuera de la ventana, con una
102
- proyección acotada del objetivo activo, restricciones y referencias. Mostrar bytes
103
- o tokens estimados antes/después en `/compact`; no inferir reducción por contar
104
- mensajes. Probar requisitos largos y múltiples cambios de modelo.
105
-
106
- ### F06 — P2: el parser SSE de MCP elige la última línea de datos
107
-
108
- `src/mcp.ts:361` toma la última línea `data:` y luego exige que su id coincida con
109
- la petición. Con una respuesta a `tools/list` seguida de una notificación, el
110
- cliente rechaza el cuerpo por id incorrecto aunque la respuesta esperada estaba
111
- presente. Reproducido con `Response` inyectadas, sin servidor ni red.
112
-
113
- **Cambio:** procesar eventos completos y seleccionar la respuesta por id, con
114
- notificaciones separadas y límites de tamaño/tiempo. Añadir pruebas de eventos
115
- múltiples, datos multilínea, fragmentación y cancelación. No se certificó aquí la
116
- compatibilidad completa del protocolo.
117
-
118
- ### F07 — P2: scripts y tests quedan fuera del typecheck habitual
119
-
120
- `tsconfig.json:18` incluye solo `src/**/*.ts`. Las 485 pruebas pasan con Bun, pero
121
- compilar también `scripts/**/*.ts` y `tests/**/*.ts` bajo las mismas opciones
122
- estrictas produce **200 diagnósticos en 37 archivos**: 114 en scripts y 86 en tests.
123
- Hay errores en benchmarks, diagnósticos de release y verificación de registry.
124
- Esto demuestra deuda de tipos, no 200 fallos funcionales.
125
-
126
- **Cambio:** tsconfig separado para tooling/tests, manteniendo la declaración del
127
- paquete limitada a src. Corregir gradualmente la deuda y hacer obligatorio el gate
128
- de scripts de release. Evitar silenciarla globalmente con `any` o `@ts-nocheck`.
129
-
130
- ### F08 — P2: el artefacto puede aprobar con referencias internas rotas
131
-
132
- El tarball reconstruido pasó `artifact:check`, pero incluye auditorías TypeScript
133
- que importan `../../src` mientras `src` no se publica. Incluye también informes
134
- que enlazan baselines bajo `benchmarks`, directorio excluido del paquete.
135
-
136
- **Cambio:** definir qué evidencia acompaña al consumidor y qué vive en GitHub;
137
- publicar las dependencias documentales necesarias o usar referencias a una revisión
138
- inmutable. Comprobar enlaces internos dentro del tarball y excluir reproductores
139
- de desarrollo no ejecutables en ese artefacto. No se detectaron secretos en este
140
- fixture; el hallazgo es coherencia de empaquetado.
141
-
142
- ## Mejoras de arquitectura y operación
143
-
144
- | Área | Diagnóstico | Siguiente paso y aceptación |
145
- | --- | --- | --- |
146
- | Verificación | El verificador exige salida cero e identidad del parche; no prueba que el comando compruebe el requisito. La recuperación terminal está especializada en `verify_and_apply_environment_patch`. | Recibos con propósito, argv, revisión y evidencia acotada; recuperación uniforme donde corresponda. Mantener evaluación independiente y rechazo de drift. |
147
- | Memoria | `read_task` conserva requisitos, pero recuperarlos sigue dependiendo del modelo; el compactor pierde la aserción del check aunque conserve exitCode. | Proyección automática de restricciones activas, hipótesis, candidato y próximo check; enlaces a recibos completos. |
148
- | Herramientas/contexto | Catálogo estático; estimación de compacción basada en mensajes/caracteres sin el catálogo completo. | Ablación con catálogo mínimo y previsión del contexto completo. Mantener consistencia de llamadas históricas y aprobaciones. |
149
- | Orquestación | Subagentes se construyen por otra ruta y `runHarnessReviewGroup` llama al SDK directamente; no pasan por el wrapper repair del padre. | Factoria común de políticas, manifests efectivos por rol y pruebas de consumo agregado. No extrapolar resultados del benchmark sin subagentes a toda la orquestación. |
150
- | Observabilidad | Las métricas repair se entregan por callback final; la CLI no proporciona `onDiagnostics`. Contabilidad y eventos útiles para benchmarks no están igualmente disponibles al operador. | Resumen durable y sanitizado por run con consumo, fases, candidato, verificación y causa de detención; inspección después de reiniciar. |
151
- | OCI | La cohorte histórica atribuye 34,8% del tiempo instrumentado de comandos a creación/exportación, no de toda la tarea. | Medir sesión por ejecución lógica y sincronización incremental, manteniendo leases, límites, cancelación e integridad. Prioridad posterior al cierre. |
152
- | Mantenibilidad | `cli.ts` tiene 3.259 líneas; ejecución 2.110; harness 1.641; workspace 1.525. Hay lógica de estado/aprobación repartida entre rutas. | Extraer controlador de run, transacción de cierre y ensamblado de herramientas tras asegurar regresiones; evitar un refactor general simultáneo a cambios de conducta. |
153
- | Evaluación | Los gates mecánicos pasan; la última cohorte de cinco tareas conocidas no mejora entregas. | Ablaciones de una variable, trayectorias difíciles determinísticas y luego tareas nuevas. Métrica principal: entrega aceptada dentro de presupuesto; candidato correcto como diagnóstico separado. |
154
-
155
- ## Qué conservar y qué falta para release
156
-
157
- Se inspeccionaron controles de filesystem, ejecución de procesos, OCI, propuestas,
158
- leases de cierre, operaciones/sesiones/backup, perfiles, MCP, proveedores,
159
- orquestación, contratos y CI. Lecturas por descriptor, rechazo de cambios obsoletos,
160
- aprobación ligada al payload, importación separada, cuarentena, ámbito durable y
161
- provenance son fundamentos útiles. No deben relajarse para aumentar un score.
162
-
163
- La revisión humana sigue pendiente en el ledger local y el gate de preparación lo
164
- confirma. Este informe no sustituye esa revisión. Los cambios locales de runtime,
165
- autoridad y dependencias necesitan un candidato nuevo con evidencia propia antes
166
- de GA; no basta actualizar la documentación de RC13.
167
-
168
- No se volvieron a ejecutar llamadas a proveedores, Docker, MCP con servidor real,
169
- instalación de consumidor, auditoría de dependencias en red ni verificación remota
170
- de publicación. La evidencia histórica de esas superficies sigue identificada
171
- como histórica, no como validación del turno actual.
172
-
173
- ## Validación ejecutada
174
-
175
- - `bun --no-env-file test`: 485 pass, 0 fail, 2.923 aserciones, 58 archivos.
176
- - Typecheck de src, documentación, contratos, build y migraciones: pasan.
177
- - Evaluación determinística: 7/7; no representa calidad live del modelo.
178
- - Reproductor arquitectónico anterior: vuelve a confirmar alcance por lote,
179
- reserva cero y pérdida de la aserción del verificador. Sus once hashes de
180
- fuentes/evidencia coinciden con el checkout revisado.
181
- - Reproductor nuevo: colisiones MCP, compacción manual y selección de evento SSE;
182
- typecheck estricto propio aprobado. Solo clientes/modelos simulados y temporales.
183
- - Empaquetado con Bun y `artifact:check`: pasan para el tarball local de revisión.
184
- - Typecheck ampliado: falla con los 200 diagnósticos indicados, fuera del gate actual.
185
- - `git diff --check`: pasa. No se modificó código del runtime ni se hizo commit/push.
186
-
187
- Reproductor nuevo: `../../evaluations/audits/full-review-2026-09-10.ts` (source checkout).
188
- Evidencia y hashes: [full-harness-review-2026-09-10.json](../../benchmarks/baselines/full-harness-review-2026-09-10.json).
189
-
190
- ## Orden recomendado
191
-
192
- 1. Corregir F01 y F04, acotar tooling/artefactos y conservar regresiones precisas.
193
- 2. Implementar controlador de cierre y reserva durable juntos; probar candidato
194
- temprano, reinicio, aprobación tardía, cancelación y verificador fallido.
195
- 3. Cambiar memoria proyectada y catálogo en experimentos separados; corregir
196
- compacción manual y parser MCP sin mezclar sus resultados con el experimento.
197
- 4. Integrar el SDK cuando exista artefacto publicado verificable; medir la mejora
198
- propia del harness sin esperar que esa corrección resuelva el cierre.
199
- 5. Congelar configuración, medir desarrollo y una cohorte nueva, consolidar los
200
- cambios en unidades revisables y certificar el siguiente candidato.
@@ -1,38 +0,0 @@
1
- # GA-01: corrección y validación
2
-
3
- **GA-01 resuelto en el checkout local. GA continúa pendiente.**
4
-
5
- El SDK calculaba una sola vez el máximo de salida al iniciar la invocación y lo
6
- reutilizaba para el preflight de cada turno. Después de consumir 2 tokens volvía
7
- a reservar 30.000, aunque quedaban 29.998; Meta y OpenAI fallaban antes de la
8
- segunda llamada. Core 1.20.0 todavía presenta esa combinación.
9
-
10
- El Harness conserva los guardrails durables y calcula el máximo de transporte
11
- por llamada usando consumo observado y checkpoints persistidos. El consumo
12
- observado cubre turnos que aún no aparecen en el store; la reanudación incorpora
13
- el checkpoint sin sumar dos veces. Se conserva un máximo explícito más pequeño.
14
- Se rechazan respuestas que exceden los límites antes de ejecutar sus herramientas.
15
- Qwen y el camino de subagentes conservan su política de transporte existente.
16
- Los límites siguen dependiendo del usage reportado por el proveedor; este cambio
17
- no convierte estimaciones en una garantía de facturación.
18
-
19
- Validación ejecutada:
20
-
21
- - Reproducción original: Meta, OpenAI y Qwen completan dos turnos.
22
- - Siete regresiones: máximo decreciente, agotamiento, máximo explícito,
23
- reanudación con aprobación y no ejecución de herramientas al exceder tokens.
24
- - `bun run check`: salida 0; 527 tests, documentación, contratos, tipos,
25
- migraciones, evaluaciones, benchmarks, MCP, Docker y paquete instalado.
26
- - Live aprobación/reinicio: Meta `muse-spark-1.2`, OpenAI `gpt-5.6-luna` y Qwen
27
- `qwen3.8-max` pasan, con una sola ejecución y entrada de journal.
28
- - Live OCI: los tres proveedores pasan comando, inspección, aprobación e
29
- importación verificada al host.
30
-
31
- La [evidencia estructurada](evidence/ga-budget-remediation-2026-09-19.json)
32
- incluye hashes y delimita la secuencia de validación respecto de los últimos
33
- ajustes. No es evidencia de un release protegido ni de publicación.
34
-
35
- Pendientes: mejorar y reproducir la entrega de reparaciones descrita en
36
- [el holdout de RC14](RC14_VALIDATION_2026-09-10.md), congelar una cohorte nueva,
37
- completar la matriz representativa y reunir los gates de CI, revisión y release
38
- sobre un candidato inmutable. No se modificaron esos criterios de aprobación.