@nac3/forge-cli 1.24.1 → 1.25.0

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 (83) hide show
  1. package/dist/chat/agent_session.d.ts.map +1 -1
  2. package/dist/chat/agent_session.js +132 -12
  3. package/dist/chat/agent_session.js.map +1 -1
  4. package/dist/chat/panel.d.ts.map +1 -1
  5. package/dist/chat/panel.js +31 -4
  6. package/dist/chat/panel.js.map +1 -1
  7. package/dist/chat/server.d.ts.map +1 -1
  8. package/dist/chat/server.js +29 -3
  9. package/dist/chat/server.js.map +1 -1
  10. package/dist/chat/tools/keys.d.ts.map +1 -1
  11. package/dist/chat/tools/keys.js +22 -2
  12. package/dist/chat/tools/keys.js.map +1 -1
  13. package/dist/chat/tools/pending.d.ts +3 -0
  14. package/dist/chat/tools/pending.d.ts.map +1 -1
  15. package/dist/chat/tools/pending.js +40 -3
  16. package/dist/chat/tools/pending.js.map +1 -1
  17. package/dist/chat/tools/session_verbs.d.ts +81 -0
  18. package/dist/chat/tools/session_verbs.d.ts.map +1 -1
  19. package/dist/chat/tools/session_verbs.js +188 -18
  20. package/dist/chat/tools/session_verbs.js.map +1 -1
  21. package/dist/chat/tools/shell.d.ts.map +1 -1
  22. package/dist/chat/tools/shell.js +22 -0
  23. package/dist/chat/tools/shell.js.map +1 -1
  24. package/dist/commands/limits.d.ts.map +1 -1
  25. package/dist/commands/limits.js +9 -1
  26. package/dist/commands/limits.js.map +1 -1
  27. package/dist/commands/pending.d.ts.map +1 -1
  28. package/dist/commands/pending.js +26 -1
  29. package/dist/commands/pending.js.map +1 -1
  30. package/dist/commands/urazuke.d.ts.map +1 -1
  31. package/dist/commands/urazuke.js +82 -0
  32. package/dist/commands/urazuke.js.map +1 -1
  33. package/dist/core/limits_config.d.ts +50 -0
  34. package/dist/core/limits_config.d.ts.map +1 -1
  35. package/dist/core/limits_config.js +59 -0
  36. package/dist/core/limits_config.js.map +1 -1
  37. package/dist/core/provider_keys.d.ts +33 -0
  38. package/dist/core/provider_keys.d.ts.map +1 -1
  39. package/dist/core/provider_keys.js +40 -3
  40. package/dist/core/provider_keys.js.map +1 -1
  41. package/dist/docs/doctrine/session-orchestration.md +91 -86
  42. package/dist/llm/sse_stream.d.ts +3 -0
  43. package/dist/llm/sse_stream.d.ts.map +1 -1
  44. package/dist/llm/sse_stream.js +16 -2
  45. package/dist/llm/sse_stream.js.map +1 -1
  46. package/dist/mcp/bridge_registry.d.ts +1 -1
  47. package/dist/pending/store.d.ts +12 -0
  48. package/dist/pending/store.d.ts.map +1 -1
  49. package/dist/pending/store.js +20 -0
  50. package/dist/pending/store.js.map +1 -1
  51. package/dist/pending/types.d.ts +11 -0
  52. package/dist/pending/types.d.ts.map +1 -1
  53. package/dist/pending/types.js.map +1 -1
  54. package/dist/tasks/supervisor.d.ts +31 -0
  55. package/dist/tasks/supervisor.d.ts.map +1 -1
  56. package/dist/tasks/supervisor.js +61 -5
  57. package/dist/tasks/supervisor.js.map +1 -1
  58. package/dist/urazuke/close_gate.d.ts +47 -3
  59. package/dist/urazuke/close_gate.d.ts.map +1 -1
  60. package/dist/urazuke/close_gate.js +57 -3
  61. package/dist/urazuke/close_gate.js.map +1 -1
  62. package/dist/urazuke/evidence.d.ts +5 -0
  63. package/dist/urazuke/evidence.d.ts.map +1 -1
  64. package/dist/urazuke/evidence.js +61 -3
  65. package/dist/urazuke/evidence.js.map +1 -1
  66. package/dist/urazuke/external_audit.d.ts +89 -0
  67. package/dist/urazuke/external_audit.d.ts.map +1 -0
  68. package/dist/urazuke/external_audit.js +309 -0
  69. package/dist/urazuke/external_audit.js.map +1 -0
  70. package/dist/version.d.ts +1 -1
  71. package/dist/version.js +1 -1
  72. package/docs/doctrine/session-orchestration.md +91 -86
  73. package/package.json +1 -1
  74. package/src/i18n/catalogs/ar.json +570 -568
  75. package/src/i18n/catalogs/de.json +570 -568
  76. package/src/i18n/catalogs/en.json +570 -568
  77. package/src/i18n/catalogs/es.json +570 -568
  78. package/src/i18n/catalogs/fr.json +570 -568
  79. package/src/i18n/catalogs/hi.json +570 -568
  80. package/src/i18n/catalogs/it.json +570 -568
  81. package/src/i18n/catalogs/ja.json +570 -568
  82. package/src/i18n/catalogs/pt.json +570 -568
  83. package/src/i18n/catalogs/zh.json +570 -568
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pending/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/pending/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pending/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkPH,wCAAwC;AACxC,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO;QACL,OAAO,EAAO,CAAC;QACf,YAAY;QACZ,OAAO,EAAO,CAAC;QACf,KAAK,EAAS,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,CAAQ;IAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/pending/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AA6PH,wCAAwC;AACxC,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,OAAO;QACL,OAAO,EAAO,CAAC;QACf,YAAY;QACZ,OAAO,EAAO,CAAC;QACf,KAAK,EAAS,EAAE;KACjB,CAAC;AACJ,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,oDAAoD,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,CAAC,CAAC;AACX,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,CAAQ;IAC1C,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC"}
@@ -66,6 +66,27 @@ export declare class TaskSupervisor {
66
66
  private readonly isAlive;
67
67
  private readonly onComplete?;
68
68
  private readonly openLog;
69
+ /** PND-266 -- LAS ESCRITURAS AL VUELO, DRENABLES.
70
+ *
71
+ * persist() se llamaba con `void` en cuatro lugares: el registro se
72
+ * escribia cuando se escribia, y nadie podia esperarlo. En produccion eso
73
+ * es casi invisible; en un teardown que borra el HOME temporal apenas
74
+ * close() resuelve, es una carrera, y la bateria completa se ponia roja
75
+ * sola con EBUSY / ENOTEMPTY sobre <HOME>/.yujin-forge/tasks/<slug>
76
+ * (medido el 2026-11-02 en dos archivos distintos).
77
+ *
78
+ * Un close() que vuelve mientras todavia se escribe dice que cerro sin
79
+ * haber cerrado -- la misma familia que los defectos de este lote. El
80
+ * patron ya existia al lado: close() del servidor drena las escrituras del
81
+ * ingest por esta misma razon; el supervisor nunca se sumo a esa lista. */
82
+ private inflight;
83
+ /** Registra una escritura al vuelo para que drain() pueda esperarla. */
84
+ private track;
85
+ /** Espera las escrituras al vuelo. En vueltas, porque una escritura
86
+ * drenada puede encolar otra (reconcile persiste por tarea). El tope
87
+ * evita que un bucle de escrituras cuelgue el cierre: drenar es una
88
+ * cortesia del cierre, no una razon para no cerrar. */
89
+ drain(): Promise<void>;
69
90
  constructor(deps: SupervisorDeps);
70
91
  /** Load persisted records + reconcile dead 'running' tasks. */
71
92
  init(): Promise<void>;
@@ -120,6 +141,16 @@ export declare function setTaskReporter(fn: (rec: TaskRecord) => void): void;
120
141
  /** Get (or lazily create + init) the supervisor for a project. The first
121
142
  * call kicks off reconcile() in the background. */
122
143
  export declare function getTaskSupervisor(slug: string | null | undefined): TaskSupervisor;
144
+ /** PND-266 -- ESPERAR LO QUE EL SUPERVISOR TODAVIA ESTA ESCRIBIENDO.
145
+ *
146
+ * La llama close() del servidor de chat, al lado del flush del ingest, que
147
+ * esta ahi por la misma razon. Sin esto el cierre volvia mientras el init y
148
+ * los persist seguian tocando el HOME, y un teardown que borra ese HOME
149
+ * apenas close() resuelve chocaba con EBUSY / ENOTEMPTY.
150
+ *
151
+ * Nunca tira: un cierre no se puede trabar porque una escritura de registro
152
+ * fallo. */
153
+ export declare function drainTaskSupervisor(): Promise<void>;
123
154
  /** Test hook: drop the cached singleton + reporter. */
124
155
  export declare function _resetTaskSupervisor(): void;
125
156
  //# sourceMappingURL=supervisor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/tasks/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.d.ts","sourceRoot":"","sources":["../../src/tasks/supervisor.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,35 @@ export class TaskSupervisor {
49
49
  isAlive;
50
50
  onComplete;
51
51
  openLog;
52
+ /** PND-266 -- LAS ESCRITURAS AL VUELO, DRENABLES.
53
+ *
54
+ * persist() se llamaba con `void` en cuatro lugares: el registro se
55
+ * escribia cuando se escribia, y nadie podia esperarlo. En produccion eso
56
+ * es casi invisible; en un teardown que borra el HOME temporal apenas
57
+ * close() resuelve, es una carrera, y la bateria completa se ponia roja
58
+ * sola con EBUSY / ENOTEMPTY sobre <HOME>/.yujin-forge/tasks/<slug>
59
+ * (medido el 2026-11-02 en dos archivos distintos).
60
+ *
61
+ * Un close() que vuelve mientras todavia se escribe dice que cerro sin
62
+ * haber cerrado -- la misma familia que los defectos de este lote. El
63
+ * patron ya existia al lado: close() del servidor drena las escrituras del
64
+ * ingest por esta misma razon; el supervisor nunca se sumo a esa lista. */
65
+ inflight = new Set();
66
+ /** Registra una escritura al vuelo para que drain() pueda esperarla. */
67
+ track(pr) {
68
+ const held = pr.finally(() => { this.inflight.delete(held); });
69
+ this.inflight.add(held);
70
+ return pr;
71
+ }
72
+ /** Espera las escrituras al vuelo. En vueltas, porque una escritura
73
+ * drenada puede encolar otra (reconcile persiste por tarea). El tope
74
+ * evita que un bucle de escrituras cuelgue el cierre: drenar es una
75
+ * cortesia del cierre, no una razon para no cerrar. */
76
+ async drain() {
77
+ for (let i = 0; i < 10 && this.inflight.size > 0; i += 1) {
78
+ await Promise.allSettled([...this.inflight]);
79
+ }
80
+ }
52
81
  constructor(deps) {
53
82
  this.dir = deps.tasksDir;
54
83
  /* Tests inject their own spawn; the default is the real Node spawn. */
@@ -93,7 +122,7 @@ export class TaskSupervisor {
93
122
  if (rec.status === 'running' && (!rec.pid || !this.isAlive(rec.pid))) {
94
123
  rec.status = 'exited';
95
124
  rec.ended_at = new Date(this.now()).toISOString();
96
- void this.persist(rec);
125
+ void this.track(this.persist(rec));
97
126
  }
98
127
  }
99
128
  }
@@ -185,7 +214,7 @@ export class TaskSupervisor {
185
214
  * lado del servidor, para que no haya que deducirlo del silencio. */
186
215
  if (code === 0 && this.logIsEmpty(r.log_path))
187
216
  r.no_output = true;
188
- void this.persist(r);
217
+ void this.track(this.persist(r));
189
218
  try {
190
219
  this.onComplete?.(r);
191
220
  }
@@ -197,7 +226,7 @@ export class TaskSupervisor {
197
226
  return;
198
227
  r.status = 'failed';
199
228
  r.ended_at = new Date(this.now()).toISOString();
200
- void this.persist(r);
229
+ void this.track(this.persist(r));
201
230
  try {
202
231
  this.onComplete?.(r);
203
232
  }
@@ -308,7 +337,7 @@ export class TaskSupervisor {
308
337
  const ok = this.sendKill(rec);
309
338
  rec.status = 'killed';
310
339
  rec.ended_at = new Date(this.now()).toISOString();
311
- void this.persist(rec);
340
+ void this.track(this.persist(rec));
312
341
  return ok;
313
342
  }
314
343
  /** Remove a task from the list entirely (panel delete button). Kills
@@ -346,6 +375,8 @@ export class TaskSupervisor {
346
375
  let _reporter = null;
347
376
  let _supervisor = null;
348
377
  let _supervisorKey = '';
378
+ /** PND-266: la promesa del init en vuelo, para que el cierre pueda drenarla. */
379
+ let _initPromise = null;
349
380
  /** Server sets this once at boot to receive task-completion reports. */
350
381
  export function setTaskReporter(fn) {
351
382
  _reporter = fn;
@@ -372,13 +403,38 @@ export function getTaskSupervisor(slug) {
372
403
  catch { /* noop */ } },
373
404
  });
374
405
  _supervisorKey = key;
375
- void _supervisor.init();
406
+ /* PND-266: el init crea <HOME>/.yujin-forge/tasks/<slug> y lee lo que haya.
407
+ * Sigue arrancando en segundo plano -- quien pide el supervisor no tiene
408
+ * que esperar un readdir -- pero la promesa se GUARDA, para que el cierre
409
+ * pueda esperarla. Antes era un `void` sin referencia: nadie podia. */
410
+ _initPromise = _supervisor.init();
411
+ void _initPromise;
376
412
  return _supervisor;
377
413
  }
414
+ /** PND-266 -- ESPERAR LO QUE EL SUPERVISOR TODAVIA ESTA ESCRIBIENDO.
415
+ *
416
+ * La llama close() del servidor de chat, al lado del flush del ingest, que
417
+ * esta ahi por la misma razon. Sin esto el cierre volvia mientras el init y
418
+ * los persist seguian tocando el HOME, y un teardown que borra ese HOME
419
+ * apenas close() resuelve chocaba con EBUSY / ENOTEMPTY.
420
+ *
421
+ * Nunca tira: un cierre no se puede trabar porque una escritura de registro
422
+ * fallo. */
423
+ export async function drainTaskSupervisor() {
424
+ try {
425
+ await _initPromise;
426
+ }
427
+ catch { /* best-effort */ }
428
+ try {
429
+ await _supervisor?.drain();
430
+ }
431
+ catch { /* best-effort */ }
432
+ }
378
433
  /** Test hook: drop the cached singleton + reporter. */
379
434
  export function _resetTaskSupervisor() {
380
435
  _supervisor = null;
381
436
  _supervisorKey = '';
382
437
  _reporter = null;
438
+ _initPromise = null;
383
439
  }
384
440
  //# sourceMappingURL=supervisor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/tasks/supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/tasks/supervisor.ts"],"names":[],"mappings":"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"}
@@ -51,9 +51,53 @@ export declare function evidenceForClose(slug: string, pending_id: string, opts?
51
51
  * resolverla falla) rige la compilada: una compuerta que no puede leer su
52
52
  * regla no se queda sin regla. */
53
53
  export declare function closeRuleInForce(projectRoot?: string): Promise<UrazukeCloseRule>;
54
- /** Does the evidence gate apply to this item? Only inside an open Urazuke
55
- * workflow, only for plan items (not the ladder's own canonical tasks,
56
- * which have the artifact gate instead), only for reason=shipped. */
54
+ /**
55
+ * PND-260 -- LA TERNA DE RECIBOS SE EXIGE EN TODO CIERRE CON `shipped`,
56
+ * NO SOLO DENTRO DE UN PROYECTO URAZUKE.
57
+ *
58
+ * Lo que habia: `evidenceGateApplies` (abajo) limitaba la exigencia a un
59
+ * proyecto con instancia Urazuke abierta. Fuera de eso, `pending.close` con
60
+ * `shipped` exigia `functional` y `use_cases`, y PEDIA POR DESCRIPCION
61
+ * `tests_status` y `commit` -- en el texto del error. El resultado medido
62
+ * (experimento A/B, peldano 13): un item cerrado con `shipped`, un
63
+ * `functional` largo, un caso de uso y CERO recibos, y el verbo no dijo nada.
64
+ * El propio comentario de esa funcion enuncia el principio que no se estaba
65
+ * aplicando a los recibos: "Si el dato importa, el verbo tiene que negarse
66
+ * sin el".
67
+ *
68
+ * Asi que la exigencia es universal, y la escapatoria es declarada: cuando la
69
+ * terna no esta, quien cierra escribe `sin_recibos_porque` EN EL MOMENTO. La
70
+ * excepcion legitima existe (un peldano sin bateria todavia, un cambio que no
71
+ * es de codigo) y lo que se gana es que quede escrita por quien sabia, en vez
72
+ * de reconstruida por un auditor cuatro semanas despues.
73
+ *
74
+ * NO aplica a las tareas canonicas de la escalera: esas tienen la compuerta
75
+ * de artefactos (evaluateStep), que es otra y mas fuerte.
76
+ */
77
+ export declare function receiptsRequiredForShipped(item: {
78
+ workflow?: {
79
+ urazuke?: unknown;
80
+ ad_hoc?: boolean;
81
+ };
82
+ }, reason: string): boolean;
83
+ /** El minimo del motivo escrito. Mismo criterio que FUNCTIONAL_MIN: lo
84
+ * bastante para que no pase un "no hay", lo bastante poco para que una
85
+ * linea honesta alcance. */
86
+ export declare const SIN_RECIBOS_MIN = 25;
87
+ /** Valida la escapatoria. Devuelve el problema, o null si sirve. */
88
+ export declare function evidenceEscapeProblem(reason: unknown): string | null;
89
+ /** Does the STRICT evidence gate apply to this item? Only inside an open
90
+ * Urazuke workflow, only for plan items (not the ladder's own canonical
91
+ * tasks, which have the artifact gate instead), only for reason=shipped.
92
+ *
93
+ * LA DIFERENCIA CON `receiptsRequiredForShipped` ES LA ESCAPATORIA, Y ES
94
+ * DELIBERADA (PND-260, 2026-11-02). Donde este gate estricto rige, la unica
95
+ * salida sigue siendo `force_reason` + `force_kind`, que son DEL DUENO y
96
+ * quedan contables en el reporte. `sin_recibos_porque` la escribe el agente,
97
+ * asi que aceptarla aca seria regalarle al agente un bypass de una compuerta
98
+ * disenada precisamente para negarselo. Fuera del gate estricto no habia
99
+ * NINGUNA exigencia, asi que ahi la escapatoria del agente es una mejora
100
+ * estricta sobre el silencio. */
57
101
  export declare function evidenceGateApplies(slug: string, item: {
58
102
  workflow?: {
59
103
  urazuke?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"close_gate.d.ts","sourceRoot":"","sources":["../../src/urazuke/close_gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG5E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAChG;;0EAEkE;QAClE,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;kDAiBkD;AAClD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAChC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CAqC7B;AAED;;mCAEmC;AACnC,wBAAsB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQtF;AAED;;sEAEsE;AACtE,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUtJ"}
1
+ {"version":3,"file":"close_gate.d.ts","sourceRoot":"","sources":["../../src/urazuke/close_gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAG5E,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAChG;;0EAEkE;QAClE,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;kDAiBkD;AAClD,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAChC,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,gBAAgB,CAAA;CAAO,GAC3D,OAAO,CAAC,kBAAkB,CAAC,CAqC7B;AAED;;mCAEmC;AACnC,wBAAsB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQtF;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,GAC3E,OAAO,CAIT;AAED;;6BAE6B;AAC7B,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,oEAAoE;AACpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQpE;AAED;;;;;;;;;;;kCAWkC;AAClC,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUtJ"}
@@ -84,9 +84,63 @@ export async function closeRuleInForce(projectRoot) {
84
84
  return COMPILED_CLOSE_RULE;
85
85
  }
86
86
  }
87
- /** Does the evidence gate apply to this item? Only inside an open Urazuke
88
- * workflow, only for plan items (not the ladder's own canonical tasks,
89
- * which have the artifact gate instead), only for reason=shipped. */
87
+ /**
88
+ * PND-260 -- LA TERNA DE RECIBOS SE EXIGE EN TODO CIERRE CON `shipped`,
89
+ * NO SOLO DENTRO DE UN PROYECTO URAZUKE.
90
+ *
91
+ * Lo que habia: `evidenceGateApplies` (abajo) limitaba la exigencia a un
92
+ * proyecto con instancia Urazuke abierta. Fuera de eso, `pending.close` con
93
+ * `shipped` exigia `functional` y `use_cases`, y PEDIA POR DESCRIPCION
94
+ * `tests_status` y `commit` -- en el texto del error. El resultado medido
95
+ * (experimento A/B, peldano 13): un item cerrado con `shipped`, un
96
+ * `functional` largo, un caso de uso y CERO recibos, y el verbo no dijo nada.
97
+ * El propio comentario de esa funcion enuncia el principio que no se estaba
98
+ * aplicando a los recibos: "Si el dato importa, el verbo tiene que negarse
99
+ * sin el".
100
+ *
101
+ * Asi que la exigencia es universal, y la escapatoria es declarada: cuando la
102
+ * terna no esta, quien cierra escribe `sin_recibos_porque` EN EL MOMENTO. La
103
+ * excepcion legitima existe (un peldano sin bateria todavia, un cambio que no
104
+ * es de codigo) y lo que se gana es que quede escrita por quien sabia, en vez
105
+ * de reconstruida por un auditor cuatro semanas despues.
106
+ *
107
+ * NO aplica a las tareas canonicas de la escalera: esas tienen la compuerta
108
+ * de artefactos (evaluateStep), que es otra y mas fuerte.
109
+ */
110
+ export function receiptsRequiredForShipped(item, reason) {
111
+ if (reason !== 'shipped')
112
+ return false;
113
+ if (item.workflow?.urazuke && !item.workflow.ad_hoc)
114
+ return false;
115
+ return true;
116
+ }
117
+ /** El minimo del motivo escrito. Mismo criterio que FUNCTIONAL_MIN: lo
118
+ * bastante para que no pase un "no hay", lo bastante poco para que una
119
+ * linea honesta alcance. */
120
+ export const SIN_RECIBOS_MIN = 25;
121
+ /** Valida la escapatoria. Devuelve el problema, o null si sirve. */
122
+ export function evidenceEscapeProblem(reason) {
123
+ const t = typeof reason === 'string' ? reason.trim() : '';
124
+ if (!t)
125
+ return 'falta `sin_recibos_porque`';
126
+ if (t.length < SIN_RECIBOS_MIN) {
127
+ return '`sin_recibos_porque` tiene ' + t.length + ' caracteres y el minimo es ' + SIN_RECIBOS_MIN
128
+ + ': hace falta el motivo, no una palabra';
129
+ }
130
+ return null;
131
+ }
132
+ /** Does the STRICT evidence gate apply to this item? Only inside an open
133
+ * Urazuke workflow, only for plan items (not the ladder's own canonical
134
+ * tasks, which have the artifact gate instead), only for reason=shipped.
135
+ *
136
+ * LA DIFERENCIA CON `receiptsRequiredForShipped` ES LA ESCAPATORIA, Y ES
137
+ * DELIBERADA (PND-260, 2026-11-02). Donde este gate estricto rige, la unica
138
+ * salida sigue siendo `force_reason` + `force_kind`, que son DEL DUENO y
139
+ * quedan contables en el reporte. `sin_recibos_porque` la escribe el agente,
140
+ * asi que aceptarla aca seria regalarle al agente un bypass de una compuerta
141
+ * disenada precisamente para negarselo. Fuera del gate estricto no habia
142
+ * NINGUNA exigencia, asi que ahi la escapatoria del agente es una mejora
143
+ * estricta sobre el silencio. */
90
144
  export async function evidenceGateApplies(slug, item, reason) {
91
145
  if (reason !== 'shipped')
92
146
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"close_gate.js","sourceRoot":"","sources":["../../src/urazuke/close_gate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"close_gate.js","sourceRoot":"","sources":["../../src/urazuke/close_gate.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,11 @@ export interface RunEvidenceResult {
28
28
  /** For red_proof: the worktree was created at this path (already removed). */
29
29
  worktree?: string;
30
30
  }
31
+ /** Lo que un mutation_diff puede medir para entrar entero al recibo. Un
32
+ * mutante planta UN defecto: los 15 del proyecto medido miden entre 280 y
33
+ * 1900 caracteres. Por arriba de esto el verbo se niega con el numero
34
+ * (PND-261); lo que NO hace mas es recortar en silencio. */
35
+ export declare const MUTATION_DIFF_MAX = 20000;
31
36
  export declare const EVIDENCE_DEFAULT_TIMEOUT_MS: number;
32
37
  export declare const EVIDENCE_MAX_TIMEOUT_MS: number;
33
38
  /** El tope que de verdad se va a aplicar a una corrida.
@@ -1 +1 @@
1
- {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/urazuke/evidence.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA8B,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAS3F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;+CAE2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;iDAK6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD;;;;;mEAKmE;AACnE,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtE;AAiBD;;;;;;;;;;;;;wEAawE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAsCpK;AAED;;;;;uCAKuC;AACvC,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;6BACyB;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;mDAC+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAOD;;;;;;;;;;;;;;;;;;;;yDAoByD;AACzD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2E/F;AAED;;uCAEuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAI1D;AAOD;;wBAEwB;AACxB,wBAAsB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxD;AAMD;kDACkD;AAClD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA8JrF;AAuBD;;0DAE0D;AAC1D,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,4EAA4E;IAC5E,IAAI,EAAE,CAAC,CAAC;CACT;AAED,yDAAyD;AACzD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhF;AAED;;sCAEsC;AACtC,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAYtF"}
1
+ {"version":3,"file":"evidence.d.ts","sourceRoot":"","sources":["../../src/urazuke/evidence.ts"],"names":[],"mappings":"AAsBA,OAAO,EAA8B,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAS3F,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;+CAE2C;IAC3C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;iDAK6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;6DAG6D;AAC7D,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAGvC,eAAO,MAAM,2BAA2B,QAAiB,CAAC;AAC1D,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD;;;;;mEAKmE;AACnE,wBAAgB,0BAA0B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtE;AAiBD;;;;;;;;;;;;;wEAawE;AACxE,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAsCpK;AAED;;;;;uCAKuC;AACvC,MAAM,WAAW,aAAa;IAC5B,wDAAwD;IACxD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;6BACyB;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;mDAC+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mEAAmE;IACnE,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAOD;;;;;;;;;;;;;;;;;;;;yDAoByD;AACzD,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA2E/F;AAED;;uCAEuC;AACvC,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAI1D;AAOD;;wBAEwB;AACxB,wBAAsB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxD;AAMD;kDACkD;AAClD,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAmNrF;AAuBD;;0DAE0D;AAC1D,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,4EAA4E;IAC5E,IAAI,EAAE,CAAC,CAAC;CACT;AAED,yDAAyD;AACzD,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOhF;AAED;;sCAEsC;AACtC,wBAAsB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAYtF"}
@@ -24,6 +24,11 @@ import { appendReceipt, parseCounts } from './receipts.js';
24
24
  import { carryEvidenceEnv, describeEvidenceEnv, readEvidenceEnvDeclaration, } from './evidence_env.js';
25
25
  import { describeWindowsCommandProblem, windowsCommandProblem } from '../chat/tools/shell.js';
26
26
  const execFileP = promisify(execFile);
27
+ /** Lo que un mutation_diff puede medir para entrar entero al recibo. Un
28
+ * mutante planta UN defecto: los 15 del proyecto medido miden entre 280 y
29
+ * 1900 caracteres. Por arriba de esto el verbo se niega con el numero
30
+ * (PND-261); lo que NO hace mas es recortar en silencio. */
31
+ export const MUTATION_DIFF_MAX = 20000;
27
32
  const TAIL_CHARS = 4000;
28
33
  export const EVIDENCE_DEFAULT_TIMEOUT_MS = 10 * 60 * 1000;
29
34
  export const EVIDENCE_MAX_TIMEOUT_MS = 30 * 60 * 1000;
@@ -300,11 +305,38 @@ export async function runEvidence(input) {
300
305
  const started = Date.now();
301
306
  if (input.kind === 'red_proof') {
302
307
  const files = (input.test_files ?? []).map((f) => f.trim()).filter(Boolean);
303
- const mutation = (input.mutation_diff ?? '').trim();
308
+ /* PND-261 -- EL SALTO DE LINEA FINAL ES PARTE DEL DIFF.
309
+ *
310
+ * Aca habia un `.trim()`, y el valor trimado era el que se archivaba.
311
+ * Un diff unificado sin salto de linea final no pasa `git apply`:
312
+ * "corrupt patch at line N". Medido sobre el registro del proyecto c1,
313
+ * fueron 15 recibos de mutacion de 15 -- todos legibles, ninguno
314
+ * reproducible. Y tres quedaron archivados como `not_ok` por esta misma
315
+ * falla, con la culpa atribuida al parche en vez de al guardado.
316
+ *
317
+ * El trim se queda SOLO para decidir si vino vacio; lo que se usa para
318
+ * plantar el mutante y lo que se archiva es el MISMO texto, terminado en
319
+ * salto de linea. Un caracter. */
320
+ const mutationRaw = input.mutation_diff ?? '';
321
+ const mutation = mutationRaw.trim()
322
+ ? (mutationRaw.endsWith('\n') ? mutationRaw : mutationRaw + '\n')
323
+ : '';
304
324
  if (!files.length && !mutation)
305
325
  throw new Error('red_proof needs test_files (the new test(s) to carry into the base worktree) or mutation_diff (a defect planted in the new code, D-037)');
306
326
  if (mutation && !/^(diff --git|--- |\+\+\+ |@@ )/m.test(mutation))
307
327
  throw new Error('mutation_diff must be a unified diff (diff --git / --- / +++ / @@ hunks)');
328
+ /* PND-261 (segunda mitad) -- EL TOPE SE AVISA, NO SE RECORTA.
329
+ *
330
+ * El guardado recortaba a 6000 caracteres y le pegaba '...[truncated]'.
331
+ * Un diff recortado tampoco aplica, y ademas no lo dice donde se mira:
332
+ * el recibo se ve completo. Un mutante planta UN defecto, asi que el
333
+ * tope sobra por lejos -- y cuando no sobre, el que pidio la corrida se
334
+ * entera con el numero en la mano en vez de recibir un documento mudo. */
335
+ if (mutation.length > MUTATION_DIFF_MAX) {
336
+ throw new Error('mutation_diff mide ' + mutation.length + ' caracteres y el tope del recibo es '
337
+ + MUTATION_DIFF_MAX + '. No lo recorto: un diff recortado no aplica y el recibo no lo dice '
338
+ + '(PND-261). Un mutante planta UN defecto -- acota la mutacion.');
339
+ }
308
340
  const baseRef = mutation ? 'HEAD' : (input.base_ref ?? 'HEAD').trim();
309
341
  const wt = await fs.mkdtemp(path.join(os.tmpdir(), 'yf-redproof-'));
310
342
  const link = path.join(wt, 'node_modules');
@@ -337,7 +369,10 @@ export async function runEvidence(input) {
337
369
  + overlay.errors.slice(0, 5).join('; ');
338
370
  }
339
371
  const patch = path.join(wt, '.yf-mutant.diff');
340
- await fs.writeFile(patch, mutation.endsWith('\n') ? mutation : mutation + '\n', 'utf8');
372
+ /* El MISMO texto que se archiva, byte por byte: si lo que se aplica y
373
+ * lo que se guarda pueden diferir, la verificacion de abajo no prueba
374
+ * nada sobre el recibo. */
375
+ await fs.writeFile(patch, mutation, 'utf8');
341
376
  try {
342
377
  /* No point applying a mutant onto the wrong code, and the
343
378
  * message has to name the REAL cause: an apply error reported
@@ -383,6 +418,29 @@ export async function runEvidence(input) {
383
418
  linked = true;
384
419
  }
385
420
  catch { /* no node_modules or cannot link: the command may still work */ }
421
+ /* PND-261 -- UN RECIBO QUE NO SE PUEDE REPRODUCIR NO NACE.
422
+ *
423
+ * applyError y overlayError no son la misma clase de falla y no se
424
+ * tratan igual:
425
+ *
426
+ * - overlayError dice "el worktree NO es el codigo actual". El recibo
427
+ * se escribe igual, marcado, porque eso es lo que PND-240 pedia:
428
+ * que un rojo contaminado deje rastro en vez de desaparecer.
429
+ * - applyError dice "el diff archivado no se puede volver a aplicar".
430
+ * Ahi no hay nada que marcar: el recibo entero existe para que otro
431
+ * plante el mismo defecto, y si el diff no aplica, el documento es
432
+ * ilegible como evidencia. Eso falla CERRADO, sin escribir, y el que
433
+ * pidio la corrida se entera ahora -- no cuatro semanas despues,
434
+ * leyendo un `not_ok` que le echa la culpa al parche.
435
+ *
436
+ * El error se tira ACA y no antes porque la unica forma honesta de
437
+ * saber si un diff aplica es que git lo intente, y git lo intenta sobre
438
+ * el worktree que este bloque arma. */
439
+ if (applyError && !overlayError) {
440
+ throw new Error('evidencia: no escribi recibo porque el mutation_diff no se puede volver a '
441
+ + 'aplicar sobre el codigo actual, y un recibo de mutacion que no se puede reproducir no '
442
+ + 'es evidencia de nada (PND-261). ' + applyError);
443
+ }
386
444
  const setupError = overlayError || applyError;
387
445
  r = setupError
388
446
  ? { exit_code: 0, output: '[forge] ' + setupError, duration_ms: 0, timed_out: false }
@@ -414,7 +472,7 @@ export async function runEvidence(input) {
414
472
  kind: 'red_proof', command: input.command, cwd: input.projectRoot,
415
473
  ref: head.ref, dirty: head.dirty, base_ref: baseShort,
416
474
  mode: mutation ? 'mutation' : 'base',
417
- ...(mutation ? { mutation_diff: mutation.length > 6000 ? mutation.slice(0, 6000) + '\n...[truncated]' : mutation } : {}),
475
+ ...(mutation ? { mutation_diff: mutation } : {}),
418
476
  exit_code: r.exit_code, started_at: started, duration_ms: r.duration_ms,
419
477
  counts, output_tail: tail(r.output),
420
478
  ...(input.pending_id ? { pending_id: input.pending_id } : {}),