estado: gocryptfs cerrado — CERO no-determinismos vigentes en el corpus
Las otras tres recetas cgo (sq, usql, gitea) dan DERIVA, no no-determinismo: sus dos reconstrucciones coinciden entre sí y el artefacto guardado era el de antes del arreglo. Ya están al día. Y de paso se les fue una deuda que NO era de reproducibilidad sino de PORTABILIDAD: el `x_cgo_sigaction` de sq y usql —código C de cgo, sin guarda de CPU en runtime— venía con AVX2 horneado, de cuando el driver pisaba el `-mcpu=baseline`. Un binario así no falla al construir ni al sellar: falla al EJECUTAR en una CPU sin AVX2, con SIGILL. Ahora los tres salen baseline (cero ymm, cero zmm en esa función). ── El límite del libro, anotado en su encabezado ────────────────────────────────────── `gocryptfs` acabó con CUATRO filas al MISMO hash: dos NO-DETERMINISMO y dos reproduce, y las cuatro son ciertas. La clave (receta, hash) no puede distinguir antes y después de un arreglo del FRAMEWORK, porque la fase generada no entra en `hash_inputs` — a propósito, para no re-sellar 362 recetas cada vez que se toca un driver. Corolario, que es lo caro: tras tocar un driver, lo sellado NO se rehace solo. Hay que forzarlo receta por receta, y si nadie lo hace el store se queda con artefactos que ya nadie construiría así.
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +14 −2
diff --git a/docs/state/repro-verificado.tsv b/docs/state/repro-verificado.tsv
index 1dcbd0ab..ba41dbeb 100644
--- a/docs/state/repro-verificado.tsv
+++ b/docs/state/repro-verificado.tsv
@@ -5,6 +5,15 @@
# que ya no es lo mismo. Lo escribe scripts/verificar-repro.sh; se lee para medir cobertura y
# para no volver a sortear lo ya hecho.
#
+# ⚠ LÍMITE DE LA CLAVE, medido el 2026-09-14 con `gocryptfs`: la clave (receta, hash) NO distingue
+# antes y después de un arreglo del FRAMEWORK. La fase de build generada (el driver de Go, de Cargo,
+# de CMake…) no entra en `hash_inputs` a propósito —para no re-sellar 362 recetas cada vez que se
+# toca el driver—, así que arreglar el driver cambia lo que se construye SIN cambiar el hash. En el
+# libro eso se ve como filas CONTRADICTORIAS con el mismo hash: `gocryptfs` tiene dos que dicen
+# NO-DETERMINISMO y dos que dicen reproduce, y las cuatro son ciertas — dos de antes del arreglo y
+# dos de después. Se anotan a mano las superadas; no hay forma de que la clave lo haga sola.
+# Corolario: tras tocar un driver, lo sellado NO se rehace solo. Hay que forzarlo receta por receta.
+#
# receta<TAB>hash<TAB>fecha<TAB>veredicto
libffi 1df7e7a3eac63694f8d094646cfc231f3843995f6f9f945cda138760f6bc9838 2026-09-05 reproduce
packaging 0378f4a8dba56e6519590778c2dad2291a99e92b7960d38960964f3fd52a7afc 2026-09-05 reproduce
@@ -170,7 +179,7 @@ fx 155def6534501815bc07cb2f44a4d746f33f0ce3d363d350fc2434bede596a2e 2026-09-14 r
fzf 1e09ce94738da251805551119a7890c7bdc8d19708a1c4e65fd7fd02f46947a9 2026-09-14 reproduce [worker]
gh-ost 0024044f52f1dbd7ff53fe356405caf3ff978b1e9edcaccfc1918311d74c3437 2026-09-14 reproduce [worker]
gitleaks 110d2bd2ebedff47e252f1ae16c4abbe0d68f8c57b817ac4a324e236740a7ddc 2026-09-14 reproduce [worker]
-gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 NO-DETERMINISMO [worker]
+gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 NO-DETERMINISMO — ARREGLADO el mismo día (GOTMPDIR fuera del módulo); MISMO hash, ver la nota del encabezado
gojq 249e9367f3d60d5434f4e3d57675a1313e8e793672465e9cc01c8babe470e62f 2026-09-14 reproduce [worker]
gomodifytags 00a15c7ec6121a19c31d4e0c6b4b8364d24923dc75086169edb6b693342f5c93 2026-09-14 reproduce [worker]
gotestsum 22a737ac164d041164e6b79044e97cac158d11100902f74fe29bab8a23a84e9f 2026-09-14 reproduce [worker]
@@ -236,6 +245,9 @@ libplasma 73ec5fb279ea44e6bcfdf4c58d8703ed1307ae7985e56ce55a5da078ea098b7e 2026-
syntax-highlighting 3db73c19bdbddcb046a80d11ec112bc7dc60134eeec75b26e907cc756d25d081 2026-09-14 reproduce
powerdevil 70ea4b373af5ac3c22cf6adde9ca45153925724ef523000bc1e0e2338e282d15 2026-09-14 reproduce
ktexteditor f13baeb75249c7f768fdd1b4584b5077779e6806ffcb295a6554f50d3f31d0ec 2026-09-14 reproduce
-gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 NO-DETERMINISMO
+gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 NO-DETERMINISMO — ARREGLADO el mismo día (GOTMPDIR fuera del módulo); MISMO hash, ver la nota del encabezado
gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 reproduce (tras poner al día un artefacto derivado)
gocryptfs 0caf96352eae21ed51b32be9ead8d5525bb07e8aa124eb33c4b9588f1a02421d 2026-09-14 reproduce
+sq 86de0799d816abb671cc3192daa9986adf9f6210a0be8cc1b4dfab0033d23dcf 2026-09-14 reproduce (tras poner al día un artefacto derivado)
+usql 820d3f10cf37da8603adc5da554800715705492c3ae8819f3a0a82ce0ad41d05 2026-09-14 reproduce (tras poner al día un artefacto derivado)
+gitea 5edf9c16b3a48cb44198a7d590f7c05a0f24e57429c3d05ecce92f75ce9ca19b 2026-09-14 reproduce (tras poner al día un artefacto derivado)