Bump del commit fijado 35ec8ef9 → 9967b02c (rama tawasuyu selfhost/arje-zero-lockfile = 35ec8ef9 + Cargo.lock del workspace committeado). Causa raíz del drift del baseline: el monorepo tawasuyu gitignora Cargo.lock ⇒ el fetch de hammer vendoreaba SIN --locked ⇒ las versiones de deps derivaban en el tiempo ⇒ arje-zero (y of_tree(stage1)) no reproducible entre corridas (musl/busybox/hammerd sí, por tener lock o ser C). Con el lock fijo, el fetch detecta Cargo.lock y vendorea --locked ⇒ build bit-reproducible. Verificado: el fetch resuelve el commit nuevo (mirror --all) y vendorea SIN el warn de "sin Cargo.lock". El input-hash de la receta cambia ⇒ nuevo baseline estable (≠ 9adefb82, que queda como ancla histórica pre-lock). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
31 lines
1.6 KiB
TOML
31 lines
1.6 KiB
TOML
# arje-zero — init PID 1 de arje (ADR 0007), construido por el lab de hammer como **puente
|
|
# build-side** hacia "arje es el init de hammer".
|
|
#
|
|
# Receta Cargo: la fuente es el monorepo tawasuyu a un commit fijado (ADR 0006), `-p arje-zero`
|
|
# para construir sólo ese binario; las deps se vendorean en el fetch (Lote 6) ⇒ build `--offline`
|
|
# hermético. Estático con zig cc cross al target — lo que pide un PID 1 (sin loader del host).
|
|
#
|
|
# Es un PUENTE, no el init todavía: prueba que el lab cruza al repo de tawasuyu y produce el
|
|
# binario del init. Hacerlo PID 1 del rootfs (seed `card.json`, `arje-bus`, hammerd como Card de
|
|
# servicio) es el paso "init real" posterior (plan B.2 + contrato de runtime de arje). El plan C.3
|
|
# prefiere extraer arje-zero a un front-door standalone para no vendorear el monorepo entero;
|
|
# sourcearlo del monorepo pinned es el interino, igual que hammerd desde el repo hammer.
|
|
|
|
name = "arje-zero"
|
|
version = "0.0.1"
|
|
|
|
[source]
|
|
# El `commit` es el identificador inmutable (la URL es sólo locator, no entra al hash). Fijado en
|
|
# `selfhost/arje-zero-lockfile` = la migración A0 (arje-cas → BLAKE3, 35ec8ef9) + el Cargo.lock del
|
|
# workspace committeado encima: sin lock, el monorepo lo gitignora y el fetch vendorea SIN --locked
|
|
# ⇒ las deps derivan en el tiempo y arje-zero (y of_tree(stage1)) deja de ser reproducible. Con el
|
|
# lock fijo el build es --locked y bit-reproducible.
|
|
repo = "gitea@git.tawasuyu.net:tawasuyu/tawasuyu.git"
|
|
commit = "9967b02cf597df6d065edbad8d6669b5653d4928"
|
|
|
|
[build]
|
|
compiler = "zig-cc"
|
|
target = "x86_64-linux-musl"
|
|
link = "static"
|
|
flags = ["-p", "arje-zero"]
|