verificar-repro: decir que además es el CENSO de la deuda invisible, con el número medido

`no construyó` no es ruido del verificador: es EL hallazgo. Un `sealed` en el grafo dice que alguien
construyó eso alguna vez con algún lab, no que se construya hoy — y el lab rueda desde Alpine edge.
Este script es lo único que convierte esa sospecha en un número SIN RIESGO, porque aparta en vez de
borrar y restaura si el build falla.

Barriendo las 15 recetas CMake baratas del corpus: REPRODUCEN 9 · DERIVA 1 · no construyeron 5.
Cinco selladas y rotas a la vez, todas por el mismo crash del lld de zig con `--dependency-file`.

Y la nota de método que hace legible el censo: barrer por FAMILIA de sistema de build. Si el fallo es
del toolchain se concentra en una familia y el patrón salta; barrer al azar lo diluye.
This commit is contained in:
Sergio
2026-09-12 11:21:34 +00:00
parent 896c7888a8
commit 01e721db84
+18
View File
@@ -29,6 +29,24 @@
# es sólo el paquete en cuestión, no su cadena — que es lo que hace viable verificar decenas. Después
# `takana why-differs` compara los dos árboles y nombra la causa si divergen.
#
# ── ADEMÁS DE MEDIR REPRODUCIBILIDAD, ESTE SCRIPT ES EL CENSO DE LA DEUDA INVISIBLE ────────────
# «no construyó» no es ruido del verificador: es EL hallazgo. Un artefacto sellado dice que ALGUIEN
# lo construyó alguna vez con ALGÚN lab, no que se construya HOY — y el lab rueda (Alpine edge). La
# única forma de convertir «N recetas podrían estar rotas» en un número es reconstruirlas, y este
# script es lo único que lo hace SIN RIESGO, porque aparta en vez de borrar y restaura si el build
# falla (ver la red de seguridad, abajo).
#
# Medido el 2026-09-12 barriendo las 15 recetas CMake baratas del corpus:
#
# REPRODUCEN: 9 · DERIVA: 1 · NO-DETERMINISMO: 0 · no construyeron: 5
#
# Cinco selladas y rotas a la vez (`brotli`, `json-c`, `libjpeg-turbo`, `libjpeg-turbo-shared`,
# `libtiff-shared`), todas por el mismo crash del `lld` de zig con el `--dependency-file` que CMake
# ≥3.27 emite. Ninguna métrica del repo podía verlo: el grafo las contaba `sealed`.
#
# ⇒ **Barrer por FAMILIA de sistema de build es lo que hace el censo legible**: si el fallo es del
# toolchain, se concentra en una familia y el patrón salta a la vista. Barrer al azar lo diluye.
#
# ── LA RED DE SEGURIDAD ────────────────────────────────────────────────────────────────────────
# Si el rebuild FALLA (y fallará en alguna: hay recetas que sólo construyen en ciertas máquinas), el
# artefacto original se RESTAURA. Un verificador que destruye lo que verifica es peor que no tenerlo.