From 42c7f3b21d4548e8950f28876064591500e1bb47 Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 13 Jun 2026 00:39:10 -0400 Subject: [PATCH] docs(roadmap): make-swap in-VM dio DIVERGENTE, pero el make es inocente MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 2 in-VM con SWAP_MAKE=1 dio of_tree(stage1')=9adefb82 ≠ 0039b2b9. El diagnóstico en host exonera al make: musl+busybox construidos con hammer-make salen byte-idénticos al baseline (diff -r limpio) y el ensamblado completo da of_tree EXACTO 0039b2b9. La divergencia es no-determinismo in-VM (coincidió con swap thrashing: 97 min wall para ~27 min compute), no el swap del toolchain. Pendiente: re-correr el verify sin swap (control) para aislar la flakiness in-VM. Co-Authored-By: Claude Opus 4.8 --- docs/10-roadmap.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/10-roadmap.md b/docs/10-roadmap.md index ee4f83a7..354eb780 100644 --- a/docs/10-roadmap.md +++ b/docs/10-roadmap.md @@ -237,9 +237,14 @@ Diseño completo en [SDD 11 — Bootstrap from-scratch](11-bootstrap.md). Resume montan el `make` hammer sobre `/toolchain/usr/bin/make` (pisando el de Alpine) y lo anclan en el **hash lógico** del builder ⇒ la procedencia deja de ser "todo Alpine" y se vuelve auditable (pura `b3:8a370f5d…` vs swapped `b3:e7e2282c…` en el host). El verify lo expone con `SWAP_MAKE=1`. - Pendiente: correr Stage 2 in-VM con el swap (que `of_tree(stage1')` **no** cambie ⇒ el make hammer - compila los 4/4 igual de bit-a-bit), y luego make/autotools → linux-headers → bwrap → el gran tramo - rust/llvm. + **Stage 2 in-VM con el swap corrido (2026-06-13):** dio `✗ DIVERGENTE` (`of_tree(stage1')=9adefb82… ≠ + 0039b2b9…`). **Pero el make es inocente:** el diagnóstico en host (musl+busybox con hammer-make en un + store desechable ⇒ byte-idénticos al baseline vía `diff -r`, y el ensamblado completo ⇒ `of_tree` + EXACTO `0039b2b9…`) prueba que hammer-make reproduce el baseline. La divergencia es **no-determinismo + in-VM** que coincidió con una corrida bajo presión de memoria fuerte (97 min wall para ~27 min de + compute, swap thrashing), no el swap. Pendiente: re-correr el verify **sin** swap (control) para + confirmar la flakiness in-VM independiente del make (sospechoso: arje-zero o la presión de memoria), + cerrarla, y *después* validar la pieza 1; luego make/autotools → linux-headers → bwrap → rust/llvm. - ⏭️ **También pendiente (Stage 1):** bus único (B.2: exponer el `CRASHED` a la capa de IA) y atestación arje (A1/A2).