ADR 0020: el corpus ya se defiende solo en 53 de las 142 — el radio de explosión son 89, no 142
Medido al construir `wtype` en la caja: su fase de install empieza con `set -e` puesto a mano por el autor. No es la única — 53 de las 142 recetas con fase multi-comando hacen lo mismo. Son dos datos. Uno: nadie escribe `set -e` en 53 recetas por gusto, se escribe después de que algo selle mal, así que el default ya estaba pagándose de a una. Dos: esas 53 ya corren bajo `set -e` y no romperían con `-ec`, o sea que la migración es sobre las 89 restantes y la muestra del experimento sale de ahí, no de las 142.
This commit is contained in:
@@ -60,6 +60,14 @@ finales**.
|
||||
- Las ~800 restantes **no están expuestas**: usan las fases que genera `resolve_phases`, que encadena
|
||||
con `&&` (`autoreconf -fi && ./configure …`), y `&&` sí propaga el fallo.
|
||||
|
||||
**Y el corpus YA resolvió esto a mano, en un tercio de los casos.** 53 de esas 142 recetas abren
|
||||
alguna fase con un `set -e` propio — `wtype` es una de ellas. Eso son dos datos, no uno:
|
||||
|
||||
1. **El default está mal y los autores ya lo sabían.** Nadie escribe `set -e` en 53 recetas por gusto;
|
||||
se escribe después de que algo selle mal. Es la misma lección que este ADR, pagada de a una.
|
||||
2. **Achica el radio de explosión.** Esas 53 ya corren bajo `set -e` y no romperían con `-ec`: la
|
||||
migración no son 142 recetas, son **89** — las expuestas que todavía no se defienden solas.
|
||||
|
||||
## Lo que hoy tapa el agujero, y por qué no alcanza
|
||||
|
||||
En `zsh` el artefacto se salvó de verdad — pero no por el estado de salida, sino por **dos guardianes
|
||||
@@ -96,11 +104,12 @@ Lo que hay hoy es un **cribado sobre logs**, no una medición del radio de explo
|
||||
falta es: *¿cuántas de las 142 recetas expuestas dejan de sellar bajo `-ec`?* Y no se puede sacar
|
||||
leyendo: hay que reconstruirlas.
|
||||
|
||||
# sobre una muestra de las 142, con el lock tomado una sola vez (CLAUDE.md regla 1)
|
||||
# sobre una muestra de las 89, con el lock tomado una sola vez (CLAUDE.md regla 1)
|
||||
flock -o work/.farm-build.lock bash -c 'for r in <muestra>; do takana --store ./store build "$r"; done'
|
||||
|
||||
Con `-ec` puesto y contando los que caen. Una muestra de 20 alcanza para decidir; el corpus entero es
|
||||
la validación. **Hasta que ese número exista, este ADR no se adopta.**
|
||||
Con `-ec` puesto y contando los que caen. La muestra sale de las **89 sin `set -e` propio**, no de las
|
||||
142: las otras 53 ya corren así y no aportan información. Una muestra de 20 alcanza para decidir; el
|
||||
corpus entero es la validación. **Hasta que ese número exista, este ADR no se adopta.**
|
||||
|
||||
## Consecuencias que se caen solas
|
||||
|
||||
|
||||
Reference in New Issue
Block a user