Files
Sergio 4621381050 simi: SELLADA en el worker — estática de verdad, y la latencia del artefacto es 1,04x el ash
b3:46ff6fcf67bd23dece4d130c92855908520200f88ca85981317f81fcc56bb834

Construida con flock -o en dev.gioser.net (el LXC prestado, coste 0). El
artefacto trae dos ficheros: usr/bin/simi y su .hammer/recipe.toml.

Medido sobre el ARTEFACTO, no sobre el build del hub:
- ELF x86-64 estático, stripped, 498.736 bytes
- scripts/static-audit.sh simi: «estáticos de verdad: 1 · MIENTEN: 0», o sea que
  el link=static no es una declaración sino un hecho (ese guardián existe porque
  libtool lo ignora en silencio en otras recetas)
- banco diferencial, 159 casos contra el ash de busybox: 0 divergencias
  (bash: 8, brush: 35)
- latencia 468 us contra 449 us del ash: 1,04x. brush: 1569 us, 3,5x

Y la lección que vale más que el número: el build NATIVO del hub (glibc,
dinámico) daba 865 us, 1,4x el ash. El estático musl baja a 1,04x. Medir el
binario que VIAJA, no el que se compila a mano — la diferencia fue del 35 % y
habría quedado escrita como si fuera del shell.

Sigue sin estar en ningún perfil de targets.toml a propósito: declararla es
meterla en ATTEST_PATHS y eso es frente C, su propia unidad de trabajo.
2026-09-21 20:30:49 +00:00

46 lines
2.5 KiB
TOML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# simi — el `/bin/sh` del producto. Código takana-PROPIO, no una adopción.
#
# Mismo patrón de receta que netup/hammerd/arje-zero: construye un crate del workspace a un commit
# fijado, deps vendoreadas para build hermético `--offline`, link estático con zig cc. Sólo depende
# de libc ⇒ vendor mínimo.
#
# Por qué propio y no adoptado (ver `docs/plan-botar-busybox.md`): el único candidato Rust maduro es
# brush, y se midió — 6,9 MB contra 1,17 del busybox entero, 4,1× la latencia de arranque, y dos
# divergencias POSIX medidas (reubeno/brush#1394 y #1396, las dos reportadas por nosotros). simi son
# 4448 líneas con CERO divergencias contra el ash de busybox en los 159 casos del banco diferencial.
#
# SELLADA en el worker el 2026-09-21: `b3:46ff6fcf67bd23dece4d130c92855908520200f88ca85981317f81fcc56bb834`
# ELF x86-64 **estático** (verificado por `scripts/static-audit.sh simi`: «estáticos de verdad: 1,
# MIENTEN: 0»), stripped, **498 736 bytes**. Contra el artefacto sellado, no contra el build del hub:
# · banco diferencial, 159 casos vs el ash de busybox 1.36.1 → **0 divergencias** (bash: 8, brush: 35)
# · latencia de arranque **468 µs contra 449 µs del ash — 1,04×** (brush: 1569 µs, 3,5×)
#
# ⚠ Todavía NO está en ningún perfil de `docs/state/targets.toml`, y es a propósito: declararla es
# meterla en la raíz de confianza del arranque (frente C) y eso es su propia unidad de trabajo.
name = "simi"
version = "0.0.1"
license = "MIT"
[source]
# El propio takana. El commit es el identificador inmutable; subirlo cuando simi avance.
repo = "https://git.gioser.net/sergio/takana.git"
commit = "6809ef4be28f606aae856890a74667187ff75b05"
[build]
compiler = "zig-cc"
target = "x86_64-linux-musl"
link = "static"
# Split de la info de depuración, igual que hammerd. Entra en `hash_inputs`.
strip_debug = true
# Sólo el binario `simi` del workspace.
flags = ["-p", "simi"]
# Sin `[build.phases]`: igual que hammerd y netup, el BuildSys::Cargo del lab instala el binario del
# crate. **El symlink `sh` NO lo pone esta receta**, y eso es a propósito: quién gana como `/bin/sh`
# lo decide el ensamblado del producto (`USERLAND_COMPONENTS` en `crates/takana-bootstrap/src/lib.rs`,
# que hidrata el userland Rust DESPUÉS de busybox para que ensombrezca sus applets, y `lib.rs:676`,
# que retira el homónimo de los otros directorios). Ese cableado es frente C y es su propia unidad de
# trabajo: mete a simi en la raíz de confianza del arranque, y eso no se hace de paso.