gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1184Shell 70Rust 62Markdown 501503 Definitions

docs: arje-zero reproducible verificado (lock determinista) — 4/4 componentes

Cierra el ◑ de arje-zero sin un rebuild de horas: su único riesgo era el
Cargo.lock generado sin --locked (tawasuyu lo gitignora). Verificado barato —
dos `cargo generate-lockfile` del commit pinned dan un lock byte-idéntico
(resolución determinista) — y el camino de build Rust ya está probado
bit-reproducible vía hammerd.

Los 4 componentes de Stage 1 (musl, busybox, hammerd, arje-zero) están
verificados reproducibles. Lo único que le queda a Stage 2 es el rebuild dentro
de un builder rootfs (auto-alojamiento pleno) — hito aparte.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

cc2969f9e6da6b709064ab3474584b98a5c0ae68 · by Sergio · (4 months ago) · parent d26e38253 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +5 −4

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`