# Documentación de diseño de hammer Estos documentos son la fuente de verdad del diseño. El código los implementa; cuando haya discrepancia, o se corrige el código o se actualiza el SDD con un commit que explique por qué. ## Software Design Documents (SDD) | # | Documento | Qué cubre | |---|---|---| | 00 | [Visión y filosofía](00-vision.md) | Por qué existe, qué problema resuelve, la actitud de ingeniería | | 01 | [Arquitectura general](01-architecture.md) | El modelo de dos mundos, componentes, flujo de datos | | 02 | [El laboratorio de build](02-build-lab.md) | Sandbox, `zig cc`, recetas, CAS, grafo de dependencias | | 03 | [Hidratación y store](03-hydration.md) | Store content-addressed, hardlinks a FHS, patchelf, rollback | | 04 | [Overlay de experimentación](04-overlay.md) | overlayfs en caliente, try/commit/discard | | 05 | [Diario de mutaciones](05-journal.md) | fanotify, log append-only, config-sin-ser-declarativa | | 06 | [Formato `.swm`](06-swm-format.md) | Manifiesto de mutación compartible, esquema, firma | | 07 | [Bus de init y de agente](07-agent-bus.md) | `/run/init.control`, `/run/agent.sock`, protocolo | | 08 | [Integración de la IA](08-ai-integration.md) | El bucle agéntico, seguridad, intención → `.swm` | | 09 | [Modelo de confianza](09-trust-model.md) | Reproducibilidad, verificar-no-confiar, log de transparencia | | 10 | [Roadmap](10-roadmap.md) | Fases, MVP, primer entregable | ## Architecture Decision Records (ADR) Decisiones tomadas, con su contexto y consecuencias. Ver [`adr/`](adr/). | # | Decisión | |---|---| | 0001 | [Rust para el tooling y daemons](adr/0001-rust-for-tooling.md) | | 0002 | [Validar sobre Alpine antes de la distro propia](adr/0002-alpine-first.md) | | 0003 | [`zig cc` como compilador por defecto del lab](adr/0003-zig-cc-builder.md) | | 0004 | [No escribir nuestro propio Nix](adr/0004-no-custom-nix.md) | | 0005 | [Hidratación por hardlinks](adr/0005-hardlink-hydration.md) | | 0006 | [Commits fijados, no HEAD vivo](adr/0006-pinned-commits.md) |