@ingeniomaps/cauce 0.84.0 → 0.85.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 +20 -0
- package/engine/hooks/shell.js +11 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -14,6 +14,26 @@ desde este repositorio no va, porque el que lee no puede actuar sobre eso. Cuand
|
|
|
14
14
|
unas pocas líneas casi siempre es porque cuenta cómo se descubrió el problema o por qué se eligió el
|
|
15
15
|
diseño — eso vive en el commit y en el código.
|
|
16
16
|
|
|
17
|
+
## [0.85.0] - 2026-09-12
|
|
18
|
+
|
|
19
|
+
### Corregido
|
|
20
|
+
|
|
21
|
+
- **Gobernanza ya no te interroga cuando sos vos quien pide el trabajo.** El guard que frena un commit que
|
|
22
|
+
toca reglas, ADR, `automatization/`, `engine/` o contratos de cargo te pedía **nombrar cada archivo** en
|
|
23
|
+
tu mensaje, o contestar «dale», o pegar las rutas en `planning/.ops-approval` — y te lo cobraba en cada
|
|
24
|
+
commit. Ahora, con una persona conduciendo el turno, no pregunta nada.
|
|
25
|
+
|
|
26
|
+
Lo que **no** cambia, y es el punto del guard: sigue frenando igual cuando el que commitea es un
|
|
27
|
+
subagente, un recorrido de Cauce o CI. Ahí nadie está conduciendo, que es exactamente para lo que existe.
|
|
28
|
+
|
|
29
|
+
Sus dos vecinos —`verify` y `dependencies`— **siguen preguntando**, y la diferencia no es quién pidió el
|
|
30
|
+
commit: esos frenan porque algo está mal —una verificación que falla, un manifiesto sin su lockfile— y
|
|
31
|
+
callarlos porque hay alguien hablando sería taparte un rojo. `OPS_GOVERNANCE_OVERRIDE` sigue existiendo
|
|
32
|
+
para el caso sin persona.
|
|
33
|
+
|
|
34
|
+
**Qué cambia para vos**: nada que hacer. Si venías aprobando commits de gobernanza uno por uno, o pegando
|
|
35
|
+
rutas a mano para poder trabajar, eso se terminó.
|
|
36
|
+
|
|
17
37
|
## [0.84.0] - 2026-09-12
|
|
18
38
|
|
|
19
39
|
### Corregido
|
package/engine/hooks/shell.js
CHANGED
|
@@ -13,6 +13,7 @@ const {
|
|
|
13
13
|
writableRoots, outsideRoots, DECLARE_IT, unquoted, opsRoot, withoutGitGlobals,
|
|
14
14
|
} = require('./input')
|
|
15
15
|
const AP = require('./approval')
|
|
16
|
+
const CHAT = require('./chat')
|
|
16
17
|
const { publish } = require('./push')
|
|
17
18
|
const { selfApprovalShell } = require('./self-approval')
|
|
18
19
|
const EV = require('../core/evidence')
|
|
@@ -346,6 +347,16 @@ function governance(input) {
|
|
|
346
347
|
if (process.env.OPS_GOVERNANCE_OVERRIDE === '1') return
|
|
347
348
|
const command = commandOf(input)
|
|
348
349
|
if (!isCommit(command)) return
|
|
350
|
+
// Con una persona conduciendo el turno, este guard no pregunta nada. Frena por **política** —qué archivos
|
|
351
|
+
// toca un commit— y no por un defecto de hecho, y esa pregunta a quien está dando instrucciones no le
|
|
352
|
+
// corresponde: lo que el guard contiene es al agente decidiendo solo (caso 126). `said` ya distingue las
|
|
353
|
+
// dos cosas —devuelve nada para un subagente, para un recorrido de Cauce y en CI—, así que la exención no
|
|
354
|
+
// alcanza a nada de eso. Es la misma forma que usa `plan-first` en `files.js`.
|
|
355
|
+
//
|
|
356
|
+
// Sus dos vecinos de gate no llevan esta exención y la diferencia no es quién pidió el commit: `verify` y
|
|
357
|
+
// `dependencies` frenan por algo que está mal —una verificación que falla, un manifiesto sin su lockfile—
|
|
358
|
+
// y callarlos porque hay alguien hablando sería tapar un rojo.
|
|
359
|
+
if (CHAT.said(input)) return
|
|
349
360
|
// El contrato de un cargo y lo que lo mide son gobernanza, igual que un ADR o una regla. La firma de
|
|
350
361
|
// «Aprobación humana» sólo estaba protegida por una frase en un prompt; `SKILL.md` y `references/`
|
|
351
362
|
// son lo que la propuesta cambia, y editarlos directo saltea el ciclo entero; y `evaluations/` es el
|