Files
takana/docs/adr/0002-alpine-first.md
Sergio 97ceb72411 takana etapa 5b: los 59 docs de diseño, runbooks y ADR
645 líneas. Los ADR entran porque en este repo SON documentos vivos, no
registros inmutables: el 0013 tiene 5 commits, el 0009 dos. Eso se comprobó
antes de decidir, no se asumió por convención general.

EXCLUIDOS por ser REGISTRO o generado: docs/evidencia/ (6), el HANDOFF de la
noche de KDE (1) y docs/state/ (24, se regenera solo). Reescribir un comando
dentro de una evidencia la falsifica.

Y el ADR 0016 se excluye de todo barrido, con un aviso adentro para el próximo
que barra: habla SOBRE el renombre, así que necesita seguir diciendo 'hammer'.
El barrido se lo llevó puesto y lo dejó titulado 'Renombre del sistema: takana
→ takana'; revertido.

Congelados, verificados uno por uno con controles: /opt/hammer, /var/lib/hammer,
/usr/bin/hammer, /mnt/vvv/hammer, la URL de gitea, hammer-farm.service,
hammer-live-install.sh, BRIEFING-hammer.md, hammerd, hammer-recover y
HAMMER_LIVE.
2026-09-09 19:25:51 +00:00

1.5 KiB
Raw Permalink Blame History

ADR 0002 — Validar sobre Alpine antes de la distro propia

  • Estado: aceptada
  • Fecha: 2026-06-06

Contexto

El instinto es construir la distro desde el bootstrap (toolchain, init, userland) y luego poner la capa AI-nativa encima. Pero el bootstrap from-scratch es el trabajo más largo y arriesgado del proyecto (meses), y no es donde está la innovación. La innovación es la capa AI-nativa: build determinista + mutable + diario + .swm.

Decisión

Montar y validar toda la capa de takana sobre Alpine Linux (Fases 06). Sólo después, una vez probado el concepto, bajar a la distro propia (track posterior).

Razones

  • Alpine ya es musl + busybox + FHS mutable + minimalista — exactamente nuestra filosofía, ya cocida y mantenida.
  • Permite validar el bucle disruptivo (overlay, diario, .swm, bus de IA) en semanas, no meses.
  • Todo el tooling (Rust) y el lab (zig cc) se reusan sin retrabajo cuando bajemos a la distro propia: cambia el suelo, no las herramientas.

Consecuencias

  • En la fase Alpine, /store y /var/lib/hammer viven dentro del rootfs de Alpine; el init es el de Alpine (OpenRC), no el propio. El bus por pipes nativo del init propio es track posterior.
  • No probamos el bootstrap completo en esta fase; zig cc cubre la compilación sin necesitar bootstrap (ver ADR 0003).
  • Riesgo: alguna fricción musl/static en Alpine que no represente la distro propia. Aceptable — Alpine es musl real, la fricción es representativa.