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…
2026-06-17
- hammer-build: -C link-self-contained=no CONDICIONAL (Alpine rechaza la opción)
- hammer-build: -C link-self-contained=no en el build rust nativo (zig provee crt1.o)
2026-06-14
- feat(arje-link): transporte arje-bus → bus de agente, cierra B.2 end-to-end
- feat(hydrate): hidratación dinámica real con patchelf (LinkMode::Dynamic)
- feat(swm): init_rule se materializa a /etc/hammer/init.d/{service}.rule
- feat(swm): source_patch modela tarballs además de git (Fase 4)
- feat(bus): B.2 sink del CRASHED — hammerd::crashes traduce eventos de arje
- selfhost-verify: pieza 4 (bwrap swap) + materialización de build-deps en el lab
2026-06-13
- selfhost-verify: pieza 3 (linux-headers swap) — SWAP_LINUX_HEADERS=1, byte-idéntico a Alpine en host
- fix(sandbox): CARGO_BUILD_JOBS=1 para serializar el backend paralelo de rustc (determinismo)
- fix(cli): --swap no debe confundir el `:` de `b3:` con el separador del rel_path
- builder: --swap del toolchain — montar make hammer sobre Alpine (variante b, pieza 1)
2026-06-12
- sandbox: CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 — arje-zero reproducible (Stage 2 no-det #3)
- selfhost-verify: módulos del kernel booteado + build a stderr (E2BIG)
2026-06-11
- bootstrap: -mcpu=baseline en zig cc — reproducibilidad CPU-independiente (Stage 2)
- bootstrap: CA bundle para el TLS de cargo vendor en la VM
- bootstrap: red en el builder para el vendoring Rust (cargo vendor)
- bootstrap: empaquetar el builder con cpio --owner=root:root (copy-up de overlay)
- bootstrap: builder carga overlay.ko — el sandbox de build lo exige en la VM
- bootstrap: builder ejecutable — toolchain con bwrap/git/curl + shim del loader
- bootstrap: builder rootfs — fixes destapados al armarlo con caché real
- bootstrap: builder rootfs — ensambla el rebuild in-rootfs (Stage 2 pleno, §7)
- bootstrap: stage2() — ancla y verifica reproducibilidad (pre-Stage 2)
- build: SOURCE_DATE_EPOCH + TZ=UTC en el sandbox (determinismo pre-Stage 2)
- core: ArtifactHash::of_tree — content-hash determinista de un árbol (pre-Stage 2)
- build: flags estáticos vía `cargo rustc -- …` (no RUSTFLAGS) para no romper proc-macros
- build: recetas Cargo estáticas = crt-static + no-PIE (binarios autocontenidos)
- build: vendoring con --locked condicional al Cargo.lock committeado (Opción 2)
- build: BuildSys::Cargo nativo para el target del sandbox (Opción A) — hammerd builda
- bootstrap: arje-zero como PID 1 de Stage 1 (I2 del SDD 12)
- recipes: arje-zero como receta puente Cargo a tawasuyu (track arje, build-side)
- bootstrap: hammerd como receta Cargo en Stage 1 (Lote 7)
- build: vendoring de deps Cargo en el fetch para builds --offline (Lote 6)
- bootstrap: stage1() ensambla el userland mínimo (Lote 5)
- feat(build): BuildSys::Cargo — el lab construye crates Rust
- bootstrap: seed como toolchain del sandbox (Lote 3) + decisiones ADR 0008