Diseño entrante + su verificación contra el código, al estilo del SDD 22.
El mecanismo central quedó PROBADO en un comando: bwrap 0.11.2 monta
`--overlay-src <sellada> --overlay <upper> <work> /src` dentro de --unshare-all
con upper en disco; .zwrap cae al upper y el lower no se toca. El gate de
mecanismo de F0 ya está verde.
Cuatro correcciones antes de escribir código:
- R1 (`chmod a-w` recursivo) ROMPE el build: overlayfs preserva el modo al hacer
copy-up y el sandbox corre como uid 1001 sin DAC_OVERRIDE. Medido: escribir un
fichero existente y crear dentro de un subdir dan EACCES. Falla por PROFUNDIDAD
(la raíz pasa porque el modo del upper root gana) ⇒ un spike sobre zlib pasaría
en verde y reventaría en meson/cmake/cargo.
- IF-2 es inimplementable: bajo overlayfs todo escribible pasa por copy-up, nunca
EROFS. El hecho negativo correcto es que blake3_arbol del sellado no se mueva
tras N builds — y eso hace innecesario el fanotify de IF-1.
- Falta la SEGUNDA carrera (build-farm.sh:82-99): dos recetas distintas sobre la
misma dep no sellada chocan en sources/<dep>-<sha>/output. El diseño también la
mata ⇒ borrar la Fase 1b es un entregable medible de F3.
- Q1 ya está contestada: apply_patches/vendor corren en el host desde siempre
(lib.rs:224,248,258). La fase patch no migra, ya está ahí — y la tabla del
SDD 02 §4 que dice lo contrario está desactualizada.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4
Reúne en un solo documento lo que hoy está repartido en 24 SDDs, 13 ADRs, los
runbooks y el estado generado: arquitectura de dos mundos, definiciones canónicas
(Recipe/hash_inputs/LabFingerprint/.swm/slots), el lab y sus fases, harkaq, el
bucle agéntico, bootstrap auto-alojado, release engineering, arranque por grafo,
los cuatro escritorios, la infraestructura de granja y la metodología yupana/khipu.
Incluye estado MEDIDO al 2026-08-28 (no heredado de los docs) y explica por qué la
deuda del corpus marca 75 y no las 12 del SDD 20: es la cola alfabética pendiente
de la reconstrucción disparada por el lab en hash_inputs y el split de debug.
Cierra con los huecos donde un SDD nuevo tendría tracción.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LykB7vw38b4Ck1Zij15RQ4