# hammer > 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 comparta el sistema. `hammer` no es otro gestor de paquetes inmutable. Es una arquitectura de dos mundos: - **El laboratorio** compila desde fuentes upstream (commits fijados), de forma determinista y aislada (`bubblewrap` + `zig cc` + musl estático), y direcciona cada artefacto por su hash (BLAKE3) en un *content-addressed store*. - **El userland** es un Linux clásico, mutable, con FHS de verdad (`/bin`, `/lib`, `/etc`). Los binarios se **hidratan** desde el store por *hardlinks*. Puedes pisar archivos en caliente, romper cosas con un `rm -rf`, y revertir cuando quieras. Entre ambos mundos viven las tres piezas que hacen a `hammer` distinto: 1. **Overlay de experimentación** — prueba cambios sobre el sistema real con red de seguridad; `hammer try` / `commit` / `discard`. 2. **Diario de mutaciones** — un daemon `fanotify` registra todo lo que tú (o la IA) cambiáis a mano. Vives imperativamente; el sistema genera el delta contra la base limpia. **El diario es tu configuración — sin ser declarativa.** 3. **Manifiesto `.swm`** — compartes la *receta de la mutación* (parche de fuente + flags + ediciones de config), no el binario cocinado. El receptor **reproduce y verifica**; no confía en tu binario. Encima de todo corre el **bus de agente** (`/run/agent.sock`): la IA habla un protocolo pequeño y legible, dispara compilaciones, inyecta en el overlay, escucha fallos y reacciona. Tú tienes la última palabra. ## Estado Fase de arranque. Validamos la capa AI-nativa **sobre Alpine** (musl + FHS ya cocidos) antes de bajar a distro propia. Ver [`docs/10-roadmap.md`](docs/10-roadmap.md). ## Documentación de diseño (SDD) Toda la arquitectura está en [`docs/`](docs/). Empieza por [`docs/00-vision.md`](docs/00-vision.md) y [`docs/01-architecture.md`](docs/01-architecture.md). ## Estructura ``` crates/ hammer-core tipos compartidos: Recipe, Swm, hashing CAS, store hammer-build el laboratorio: sandbox + compilación + hidratación hammer-cli el binario `hammer` (build, hydrate, try, commit, apply, export…) hammerd daemon: bus de agente + diario de mutaciones docs/ SDDs y ADRs ``` ## Stack | Capa | Decisión | |---|---| | Base de validación | Alpine (musl + FHS mutable) | | Tooling / daemons | Rust (estático-musl) | | Compilador del lab | `zig cc` por defecto, pluggable por receta | | Sandbox de build | bubblewrap (namespaces) | | Direccionamiento | BLAKE3 content-addressed store | | Despliegue | Hidratación por hardlinks + patchelf | ## Filosofía > La automatización es mi empleada en el sótano, pero en el piso de arriba mando yo. Eficiencia matemática en la manufactura, libertad biológica en la ejecución.