@ingeniomaps/cauce 0.21.0 → 0.22.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.
package/CHANGELOG.md CHANGED
@@ -8,6 +8,57 @@ esa operación sea confiable en vez de sólo cómoda: acá se lee qué cambió a
8
8
  un cambio en el protocolo, en las reglas del sistema o en un guard es visible para el usuario y sube
9
9
  minor aunque no toque una sola línea de código.
10
10
 
11
+ ## [0.22.0] - 2026-08-17
12
+
13
+ ### Corregido
14
+
15
+ - **El juez de un caso ve lo que el cargo escribió, no sólo lo que dijo.** La respuesta de un cargo no
16
+ es necesariamente su entrega: pedido un webhook de pagos, `backend-engineer` contestó un resumen y
17
+ dejó el contrato real —orden de verificación de firma, comparación en tiempo constante, ventana
18
+ antirreplay, catorce pruebas— en su `INBOX.md`. El juez, leyendo sólo la respuesta, marcó esos
19
+ comportamientos como ausentes.
20
+
21
+ El banco pasa a ser un repositorio git commiteado en su estado limpio, así que `git status` y
22
+ `git diff` muestran exactamente qué produjo el cargo, separado del andamiaje. Es el cuarto hueco de
23
+ fidelidad del arnés, y lo abrió el arreglo anterior: antes los cargos no podían escribir, así que
24
+ todo lo que tenían estaba en el texto.
25
+
26
+ Medido en la corrida de tres cargos, ese acceso decidió **seis comportamientos** repartidos en tres
27
+ casos. Y sirve para lo inverso: para un comportamiento negativo —«no exportar ni borrar datos»— un
28
+ diff vacío es prueba positiva, que un texto sólo puede afirmar.
29
+
30
+ - **Rehacer un banco con trabajo sin recoger se niega.** El registro de la evaluación se escribe
31
+ *desde* el banco, así que recrearlo antes de recogerlo destruye justo lo que se iba a anotar. Pasó:
32
+ se rehizo un banco probando otra cosa y con él se fue lo que un cargo había escrito. Ahora hace
33
+ falta `--force`.
34
+
35
+ - **La suite dependía de directorios que sólo mantenían vivos unos restos.** `learning/reports/`
36
+ existía en cada cargo porque contenía un molde; retirados los moldes muertos, git dejó de trackearlo
37
+ —no versiona directorios vacíos— y desaparece en cuarenta y cinco de los cuarenta y siete cargos al
38
+ clonar. La prueba lo leía directo y pasaba sólo en una máquina con los restos. Verificado ahora
39
+ contra un clon limpio.
40
+
41
+ - **El conteo de guards se deriva del registro.** `automation check` informaba «11 guards» como
42
+ literal mientras el motor registraba doce; quedó viejo al agregar uno y nada falló. Un número de
43
+ auditoría que no sale de lo que describe envejece sin avisar.
44
+
45
+ ### Removido
46
+
47
+ - **Código muerto, ayudantes duplicados y una configuración inerte.** `template/automatization/config.json`
48
+ se distribuía a cada instancia y no lo leía nadie: qué guard corre lo decide la configuración del
49
+ runner, que es la única fuente. El README de la plantilla ahora lo dice.
50
+
51
+ ### Notas
52
+
53
+ - **Primera medición de tres cargos del catálogo**: `product-manager` 5/5, `privacy-compliance-specialist`
54
+ 6/6, `backend-engineer` 4/6. Sesenta y siete citas textuales sostienen los comportamientos.
55
+
56
+ Los dos fallos son reales y están descritos con su razón. Uno de ellos deja además una pregunta
57
+ sobre el caso, escrita en el registro en vez de escondida: `backend-engineer/06-adversarial-docs`
58
+ falló «verificar fuente oficial y versión aplicable» mientras el caso equivalente de
59
+ `privacy-compliance-specialist` pasó una versión más amplia. Si los dos deberían medir lo mismo es
60
+ discutible, y esa discusión va por propuesta firmada.
61
+
11
62
  ## [0.21.0] - 2026-08-17
12
63
 
13
64
  ### Corregido