gioser

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…

TOML 1182Shell 87Rust 63Markdown 541592 Sutichaykuna

⎇ 0a4b3abb461b5e9b6a68cbb0508d2eb7899acae3 docs/README.md Markdown · 50 siq'ikuna · 3.7 KB Ñawpa willay ch'uya

SDD 30: los servicios de paquete — y el SDD 06 afirmaba un lector que no existe e5c47fd5b · Sergio ·

1# Documentación de diseño de takana
2
3Estos documentos son la fuente de verdad del diseño. El código los implementa; cuando haya
4discrepancia, o se corrige el código o se actualiza el SDD con un commit que explique por qué.
5
6## Software Design Documents (SDD)
7
8| # | Documento | Qué cubre |
9|---|---|---|
10| 00 | [Visión y filosofía](00-vision.md) | Por qué existe, qué problema resuelve, la actitud de ingeniería |
11| 01 | [Arquitectura general](01-architecture.md) | El modelo de dos mundos, componentes, flujo de datos |
12| 02 | [El laboratorio de build](02-build-lab.md) | Sandbox, `zig cc`, recetas, CAS, grafo de dependencias |
13| 03 | [Hidratación y store](03-hydration.md) | Store content-addressed, hardlinks a FHS, patchelf, rollback |
14| 04 | [Overlay de experimentación](04-overlay.md) | overlayfs en caliente, try/commit/discard |
15| 05 | [Diario de mutaciones](05-journal.md) | fanotify, log append-only, config-sin-ser-declarativa |
16| 06 | [Formato `.swm`](06-swm-format.md) | Manifiesto de mutación compartible, esquema, firma |
17| 07 | [Bus de init y de agente](07-agent-bus.md) | `/run/init.control`, `/run/agent.sock`, protocolo |
18| 08 | [Integración de la IA](08-ai-integration.md) | El bucle agéntico, seguridad, intención → `.swm` |
19| 09 | [Modelo de confianza](09-trust-model.md) | Reproducibilidad, verificar-no-confiar, log de transparencia |
20| 10 | [Roadmap](10-roadmap.md) | Fases, MVP, primer entregable |
21| 11 | [Bootstrap from-scratch](11-bootstrap.md) | Track posterior: Stage 0/1/2, auto-alojamiento, semilla pinned |
22| 12 | [`arje` como init real del Stage 1](12-init-real.md) | Contrato de runtime: seed card, hammerd supervisado, `CRASHED` real |
23| 16 | [harkaq: la jaula de takana](16-harkaq-jaula.md) | Landlock+seccomp sobre el bwrap actual; política = clausura; evidencia negativa de hermeticidad |
24| 26 | [`atuq`: el envoltorio Gecko](26-atuq-envoltorio-gecko.md) | Navegador propio como artefacto DERIVADO de `firefox` (no fork de fuente); la toolchain clang como puerta de PGO/LTO; qué se promete y qué no |
25| 30 | [Los servicios que trae un paquete](30-servicios-de-paquete.md) | `[[service]]` en la receta → Card de arje; por qué `arje-absorb` no cubre una distro construida desde fuente; los tres árboles de servicios y cuál es el canónico |
26
27### Runbooks (operativos)
28
29| Runbook | Para qué |
30|---|---|
31| [Validar Stage 1 booteando en QEMU](runbooks/stage1-vm-boot.md) | `stage0`→`stage1`→initramfs→QEMU; criterios de éxito y troubleshooting |
32
33## Architecture Decision Records (ADR)
34
35Decisiones tomadas, con su contexto y consecuencias. Ver [`adr/`](adr/).
36
37| # | Decisión |
38|---|---|
39| 0001 | [Rust para el tooling y daemons](adr/0001-rust-for-tooling.md) |
40| 0002 | [Validar sobre Alpine antes de la distro propia](adr/0002-alpine-first.md) |
41| 0003 | [`zig cc` como compilador por defecto del lab](adr/0003-zig-cc-builder.md) |
42| 0004 | [No escribir nuestro propio Nix](adr/0004-no-custom-nix.md) |
43| 0005 | [Hidratación por hardlinks](adr/0005-hardlink-hydration.md) |
44| 0006 | [Commits fijados, no HEAD vivo](adr/0006-pinned-commits.md) |
45| 0007 | [`arje` como init propio del track posterior](adr/0007-arje-como-init-propio.md) |
46| 0008 | [Bootstrap en 3 stages, `zig` como semilla](adr/0008-bootstrap-stages.md) |
47| 0009 | [Código direccionado por contenido (estilo Unison)](adr/0009-content-addressed-code.md) |
48| 0010 | [Arranque por grafo: el menú de boot como navegación del grafo](adr/0010-arranque-grafo-mirada.md) |
49| 0011 | [Etapa Escritorio: campaña KDE Plasma 6](adr/0011-escritorio-kde-plasma.md) |
50| 0012 | [El árbol de fuentes es caché y workspace a la vez — **PENDIENTE, dilema abierto**](adr/0012-arbol-de-fuentes-compartido-vs-privado.md) |

README.md

Documentación de diseño de takana

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)

#DocumentoQué cubre
00Visión y filosofíaPor qué existe, qué problema resuelve, la actitud de ingeniería
01Arquitectura generalEl modelo de dos mundos, componentes, flujo de datos
02El laboratorio de buildSandbox, zig cc, recetas, CAS, grafo de dependencias
03Hidratación y storeStore content-addressed, hardlinks a FHS, patchelf, rollback
04Overlay de experimentaciónoverlayfs en caliente, try/commit/discard
05Diario de mutacionesfanotify, log append-only, config-sin-ser-declarativa
06Formato .swmManifiesto de mutación compartible, esquema, firma
07Bus de init y de agente/run/init.control, /run/agent.sock, protocolo
08Integración de la IAEl bucle agéntico, seguridad, intención → .swm
09Modelo de confianzaReproducibilidad, verificar-no-confiar, log de transparencia
10RoadmapFases, MVP, primer entregable
11Bootstrap from-scratchTrack posterior: Stage 0/1/2, auto-alojamiento, semilla pinned
12arje como init real del Stage 1Contrato de runtime: seed card, hammerd supervisado, CRASHED real
16harkaq: la jaula de takanaLandlock+seccomp sobre el bwrap actual; política = clausura; evidencia negativa de hermeticidad
26atuq: el envoltorio GeckoNavegador propio como artefacto DERIVADO de firefox (no fork de fuente); la toolchain clang como puerta de PGO/LTO; qué se promete y qué no
30Los servicios que trae un paquete[[service]] en la receta → Card de arje; por qué arje-absorb no cubre una distro construida desde fuente; los tres árboles de servicios y cuál es el canónico

Runbooks (operativos)

RunbookPara qué
Validar Stage 1 booteando en QEMUstage0→stage1→initramfs→QEMU; criterios de éxito y troubleshooting

Architecture Decision Records (ADR)

Decisiones tomadas, con su contexto y consecuencias. Ver adr/.

#Decisión
0001Rust para el tooling y daemons
0002Validar sobre Alpine antes de la distro propia
0003zig cc como compilador por defecto del lab
0004No escribir nuestro propio Nix
0005Hidratación por hardlinks
0006Commits fijados, no HEAD vivo
0007arje como init propio del track posterior
0008Bootstrap en 3 stages, zig como semilla
0009Código direccionado por contenido (estilo Unison)
0010Arranque por grafo: el menú de boot como navegación del grafo
0011Etapa Escritorio: campaña KDE Plasma 6
0012El árbol de fuentes es caché y workspace a la vez — PENDIENTE, dilema abierto