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-21
- Etapa G: importador nix→receta (`hammer import-nix` + scripts/nix-import.sh)
- Etapa F refinamientos: uninstall poda dirs vacíos + `install --require-signed`
- Etapa F paquetería #6: repo sobre red — `install --repo URL` (HTTP/HTTPS)
- Etapa F paquetería #5: DB de instalados + `hammer uninstall`/`installed`
- Etapa F paquetería #4: firma del release (índice del repo firmado)
- Etapa F paquetería #3: deps entre paquetes — install resuelve el cierre y reconstruye el catálogo
- Etapa F paquetería #2: repositorio + `hammer install <nombre>` / `repo list`
- Etapa F paquetería #1: `hammer pack` — receta del corpus → paquete .swm (source_patch)
- auto-recover al arranque: crate hammer-recover + hook /sbin/init (E4 #4b)
- hammer-upgrade: journal de intención + recover idempotente (E4 endurecimiento #4a)
- arranque UEFI: ISO híbrido BIOS+EFI con grubx64.efi + ESP de mtools (refinamiento #3)
- instalar DESDE el live: hammer-install in-live + payload de disco (refinamiento #1)
- E5 medio live: ISO El Torito booteable con xorriso de hammer (primer corte)
- hammer-upgrade: GC de generaciones huérfanas — 'hammer upgrade prune' (E4 hardening)
- hammer-upgrade: upgrades atómicos con generaciones y rollback (Etapa E4, primer corte)
- hammer-mirror: mirror del store content-addressed (Etapa E3, primer corte)
2026-06-20
- Etapa E1: imagen de disco auto-booteable (GRUB BIOS), sin -kernel
- Etapa B3: /store y /var/lib/hammer en particiones dedicadas (GPT)
2026-06-19
- docs: sincronizar roadmap con los frentes cerrados + Etapa A
- bootstrap: orquestador `all` + export del manifiesto (Etapa A)
- docs: runbook del cierre del auto-alojamiento (variante b) + cross-refs
2026-06-14
- selfhost-verify: herramientas de toolchain extra desde fuente — patch, m4, pkgconf
- selfhost-verify: pieza 5 (coreutils swap) — SWAP_COREUTILS=1, musl+busybox byte-idénticos en host
- 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
- selfhost-verify: variante (b) ✓ REPRODUCIBLE in-VM con make+busybox swaps
- selfhost-verify: pieza 2 (busybox swap) — SWAP_BUSYBOX=1, validada en host
- selfhost-verify: fix CONFIRMADO + re-base EXPECT_REF a 9adefb82 (determinista)
- docs(roadmap): make-swap in-VM dio DIVERGENTE, pero el make es inocente
- builder: --swap del toolchain — montar make hammer sobre Alpine (variante b, pieza 1)
2026-06-12
- recipes: GNU make 4.4.1 — pieza 1 del toolchain hammer-from-source (variante b)
- docs: Stage 2 ✅ — auto-alojamiento bit-a-bit confirmado in-VM (✓ REPRODUCIBLE)
- runbook: ✓ REPRODUCIBLE verificado end-to-end in-VM contra baseline 0039b2b9 (cu=1)
- sandbox: CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 — arje-zero reproducible (Stage 2 no-det #3)
- scripts: tarea selfhost-verify end-to-end (correr el 4/4 in-VM en KVM)