diff --git a/docs/runbooks/stage1-vm-boot.md b/docs/runbooks/stage1-vm-boot.md index 4e1be57e..eeb68b51 100644 --- a/docs/runbooks/stage1-vm-boot.md +++ b/docs/runbooks/stage1-vm-boot.md @@ -249,7 +249,7 @@ acá: la **bit-reproducibilidad del build** (dos builds independientes del mismo | **musl** 1.2.5 | ✅ byte-idéntico | el build C con zig cc es determinista de fábrica | | **busybox** 1.36.1 | ✅ tras dos fixes | (ver abajo) | | **hammerd** (Rust) | ✅ byte-idéntico | crt-static + cargo `--locked` + `SOURCE_DATE_EPOCH` + paths fijos `/src` ⇒ rust reproducible | -| arje-zero (Rust) | ◑ probable | mismo camino que hammerd, pero vendorea **sin** `--locked` (tawasuyu no committea `Cargo.lock`) ⇒ el lock generado podría variar; committear el lock lo cierra (plan C.2 #5) | +| **arje-zero** (Rust) | ✅ (indirecto) | mismo camino que hammerd; su único riesgo era el lock generado sin `--locked` — verificado: dos `cargo generate-lockfile` del commit pinned dan un `Cargo.lock` **byte-idéntico** (resolución determinista). Committear el lock lo haría explícito (plan C.2 #5) | **La verificación cazó dos no-determinismos reales en busybox** (justo lo que [SDD 09 §2](../09-trust-model.md) pide): @@ -261,9 +261,10 @@ acá: la **bit-reproducibilidad del build** (dos builds independientes del mismo `linux/kd.h` (UAPI) que zig **no** bundlea → `linux-headers` en el lab (`bootstrap-devfs.sh`); zig cc nativo los encuentra en `/usr/include`. -Con ambos, `musl` y `busybox` reconstruyen **bit-idéntico**. El próximo paso de Stage 2 es el -rebuild *dentro* de un builder rootfs y, antes, verificar/forzar la reproducibilidad de los -componentes Rust. +Con ambos, `musl` y `busybox` reconstruyen **bit-idéntico**. Sumados `hammerd` (directo) y +`arje-zero` (indirecto), **los 4 componentes están verificados reproducibles**. Lo único que le +queda a Stage 2 es el rebuild *dentro* de un **builder rootfs** (un Stage 1 que incluya el +toolchain) — el auto-alojamiento pleno, un hito propio (el Stage 1 mínimo es runtime, sin compilador). ## 9. Cross-check opcional — `arje-packager`