# 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 `hammer` **sobre Alpine Linux** (Fases 0–6). 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](0003-zig-cc-builder.md)). - Riesgo: alguna fricción musl/static en Alpine que no represente la distro propia. Aceptable — Alpine es musl real, la fricción es representativa.