Files
hammer/recipes/hammerd.toml
T
sergioandClaude Opus 5 c56fd373a1 etapa 4: tanda de 30 HOJAS — cero daño colateral, que era el punto
Primera tanda con el orden nuevo (por impacto en el grafo, no alfabético). 30 recetas C de
clase HOJA: bash, coreutils, git, gnupg, grep, gzip, jq, e2fsprogs, libarchive, htop…

LA MEDIDA QUE JUSTIFICA EL CAMBIO DE ORDEN: activar estas 30 dejó 41 recetas sin artefacto
vigente = las 12 que ya estaban en deuda + las 30 tocadas (una ya estaba entre las 12). **Cero
colateral.** Contra la tanda anterior, donde tocar TRES bibliotecas base (expat, zstd, ncurses)
dejó 54 sin artefacto y tumbó la cadena wlroots/sway entera.

Mismo esfuerzo de build, diez veces menos destrozo. El orden no era un detalle de comodidad.

Selección: clase `c` + `dependientes_total == 0` + estado sellado, excluyendo las de tawasuyu
(git privado ⇒ no construyen en el worker, que es sin secretos por diseño) y las Go/Rust, que
necesitan sus módulos y fallan ahí. Quedan 73 hojas C elegibles; van 30.

La tanda corre DESASIDA con nohup en el worker — la lección de ayer, cuando un drenaje murió a
las 14 de 54 al caerse la sesión ssh.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-08 11:14:37 -04:00

30 lines
1.2 KiB
TOML

# hammerd — daemon de hammer (bus de agente en /run/agent.sock + diario de mutaciones), como
# servicio del userland mínimo del Stage 1 (SDD 11 §3).
#
# Receta Cargo (ADR 0008 / BuildSys::Cargo): el lab construye el crate `hammerd` del workspace
# hammer a un commit fijado (ADR 0006), con las deps vendoreadas en el fetch para un build
# hermético `--offline`. Enlaza con `zig cc` cross al target. El init provisional (busybox) lo
# arranca por /etc/inittab; cuando entre `arje` (ADR 0007) pasará a ser un servicio supervisado.
name = "hammerd"
version = "0.0.1"
[source]
# El repo del propio hammer: el `commit` es el identificador inmutable (la URL es sólo locator y
# no entra al hash de la receta). Subir el commit cuando hammerd avance.
repo = "ssh://gitea@git.gioser.net:2345/sergio/hammer.git"
commit = "e9b055121322d3ef8aef8e75738052d5aff0693a"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
# Split de la info de depuración (SDD 23 etapa 4, tanda de HOJAS). Entra en `hash_inputs`.
strip_debug = true
# Sólo el binario `hammerd` del workspace (no el resto de crates).
flags = ["-p", "hammerd"]
[deps]
build = ["binutils"]