@ingeniomaps/cauce 0.14.1 → 0.14.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.
- package/CHANGELOG.md +9 -0
- package/engine/agents/evaluations.js +11 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,15 @@ 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.14.2] - 2026-08-16
|
|
12
|
+
|
|
13
|
+
### Corregido
|
|
14
|
+
|
|
15
|
+
- **Un comportamiento esperado partido en varias líneas contaba como varios.** El parser de casos leía
|
|
16
|
+
líneas en vez de viñetas, así que un caso con cuatro comportamientos declaraba siete — y ese número
|
|
17
|
+
es el denominador de toda la evaluación: ninguno podía pasar. No se veía en el catálogo del sistema,
|
|
18
|
+
donde todas las viñetas entran en una línea; apareció en el primer caso escrito por una empresa.
|
|
19
|
+
|
|
11
20
|
## [0.14.1] - 2026-08-16
|
|
12
21
|
|
|
13
22
|
### Corregido
|
|
@@ -30,9 +30,17 @@ function caseFiles(dir) {
|
|
|
30
30
|
function parseCase(text) {
|
|
31
31
|
const request = (text.match(/#\s*Solicitud\s*\n([\s\S]*?)(?=\n#\s|$)/) || [])[1] || ''
|
|
32
32
|
const block = (text.match(/#\s*Comportamientos esperados\s*\n([\s\S]*?)(?=\n#\s|$)/) || [])[1] || ''
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
// Una viñeta puede ocupar varias líneas. Contar líneas en vez de viñetas hacía que un caso con
|
|
34
|
+
// cuatro comportamientos declarara siete, y ese número es el denominador de toda la evaluación.
|
|
35
|
+
// No se veía en el catálogo del sistema porque ahí las viñetas entran en una línea.
|
|
36
|
+
const expected = []
|
|
37
|
+
for (const line of block.split('\n')) {
|
|
38
|
+
const bullet = line.match(/^\s*-\s+(.*)$/)
|
|
39
|
+
if (bullet) expected.push(bullet[1].trim())
|
|
40
|
+
else if (expected.length && line.trim()) {
|
|
41
|
+
expected[expected.length - 1] = `${expected[expected.length - 1]} ${line.trim()}`
|
|
42
|
+
}
|
|
43
|
+
}
|
|
36
44
|
return { request: request.trim(), expected }
|
|
37
45
|
}
|
|
38
46
|
|