@ingeniomaps/cauce 0.5.1 → 0.5.3
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 +16 -0
- package/engine/cli/ops.js +2 -2
- package/engine/core/manifest.js +6 -3
- package/engine/core/ownership.js +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,22 @@ 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.5.3] - 2026-08-15
|
|
12
|
+
|
|
13
|
+
### Corregido
|
|
14
|
+
|
|
15
|
+
- **`upgrade` registraba mal lo que entregaba, y eso trababa el siguiente.** El registro se anotaba
|
|
16
|
+
ruta por ruta releyendo el manifiesto del disco en cada una, así que la última anulaba a todas las
|
|
17
|
+
anteriores: tras un `upgrade` casi todos los digests quedaban viejos y la actualización siguiente
|
|
18
|
+
los leía como ediciones de la empresa. Un callejón sin salida sin que nadie hubiera tocado nada.
|
|
19
|
+
|
|
20
|
+
Una instancia que ya quedó con digests viejos se destraba con `cauce upgrade --force`: el contenido
|
|
21
|
+
en disco y el del paquete son el mismo, así que no se descarta nada real.
|
|
22
|
+
- `tools/ops.js` se actualiza con el toolkit. Es el shim por donde entra cada comando, no tiene una
|
|
23
|
+
línea de la empresa —dice él mismo que no se edita— y sin declararlo envejecía para siempre: una
|
|
24
|
+
instancia creada antes seguía sin exportar la raíz ops, así que `agents list` y `team list`
|
|
25
|
+
devolvían vacío al invocarse desde la carpeta de la compañía.
|
|
26
|
+
|
|
11
27
|
## [0.5.1] - 2026-08-15
|
|
12
28
|
|
|
13
29
|
### Agregado
|
package/engine/cli/ops.js
CHANGED
|
@@ -167,7 +167,7 @@ function init(target) {
|
|
|
167
167
|
let entregado = {}
|
|
168
168
|
for (const relative of O.trackedPaths()) {
|
|
169
169
|
const dir = path.join(root, relative)
|
|
170
|
-
if (fs.existsSync(dir)) entregado =
|
|
170
|
+
if (fs.existsSync(dir)) entregado = M.record(root, relative, O.treeFiles(dir), entregado)
|
|
171
171
|
}
|
|
172
172
|
M.write(root, entregado)
|
|
173
173
|
// La instancia recuerda de qué versión salió: sin esto no hay actualización posible.
|
|
@@ -563,7 +563,7 @@ function upgrade(dir) {
|
|
|
563
563
|
let registro = M.read(root)
|
|
564
564
|
for (const relative of O.trackedPaths()) {
|
|
565
565
|
const dir = path.join(root, relative)
|
|
566
|
-
if (fs.existsSync(dir)) registro =
|
|
566
|
+
if (fs.existsSync(dir)) registro = M.record(root, relative, O.treeFiles(dir), registro)
|
|
567
567
|
}
|
|
568
568
|
M.write(root, M.prune(root, registro))
|
|
569
569
|
|
package/engine/core/manifest.js
CHANGED
|
@@ -55,9 +55,12 @@ function write(root, files, runners) {
|
|
|
55
55
|
fs.writeFileSync(target, `${JSON.stringify(data, null, 2)}\n`)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
// Registra lo entregado en una ruta, relativo a la raíz de la instancia.
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
// Registra lo entregado en una ruta, relativo a la raíz de la instancia. Acumula sobre lo que recibe
|
|
59
|
+
// y no vuelve al disco: releerlo en cada ruta hacía que la última anulara a todas las anteriores,
|
|
60
|
+
// así que tras un `upgrade` casi todos los digests quedaban viejos y la actualización siguiente los
|
|
61
|
+
// leía como ediciones de la empresa. Un callejón sin salida sin que nadie hubiera tocado nada.
|
|
62
|
+
function record(root, relative, files, into = {}) {
|
|
63
|
+
const current = { ...into }
|
|
61
64
|
for (const file of files) current[`${relative}/${file}`] = digest(path.join(root, relative, file))
|
|
62
65
|
return current
|
|
63
66
|
}
|
package/engine/core/ownership.js
CHANGED
|
@@ -27,6 +27,9 @@ const SYSTEM_FILES = [
|
|
|
27
27
|
'teams/README.md',
|
|
28
28
|
'automatization/README.md',
|
|
29
29
|
'automatization/AGENTS.md',
|
|
30
|
+
// El shim no tiene una línea de la empresa —dice él mismo que no se edita— y es por donde entra
|
|
31
|
+
// cada comando. Sin declararlo, envejecía para siempre en la instancia.
|
|
32
|
+
'tools/ops.js',
|
|
30
33
|
]
|
|
31
34
|
|
|
32
35
|
// Colecciones mixtas: el toolkit posee `<dir>/system/`, el proyecto todo lo demás del directorio.
|
|
@@ -56,6 +59,7 @@ const TEMPLATE_PREFIXES = [
|
|
|
56
59
|
'integrations/',
|
|
57
60
|
'teams/',
|
|
58
61
|
'automatization/',
|
|
62
|
+
'tools/',
|
|
59
63
|
]
|
|
60
64
|
|
|
61
65
|
function sourceOf(relative) {
|