tawasuyu

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 1471Shell 174Rust 105Markdown 943556 Definiciones

jaula: los builds SÍ corren adentro — el comentario mandaba a ssh por nada

Medido desde la jaula, con el hash forzado para que no hubiera caché: `anew`
(Go, estática) sella en 6,8 s y `lz4` (C, con `make install` escribiendo /out)
en 4,4 s. Con `root = false` el bwrap anidado se levanta y /proc monta.

Lo del uid 0 sigue siendo cierto para una receta cuyo `install` fije DUEÑOS, y
así queda escrito — pero no es «los builds no corren», que es lo que se leía y
lo que mandaba a pedirle cada receta al anfitrión por ssh.

7b09e26eca04236db72e6f602d3370d490143698 · por Sergio · (hace 1 mes) · padre 785518b90 · ver el árbol en este commit

Delta semántico

Ninguna definición cambió: el cambio es de texto, documentación o datos.

1 archivos · +8 −7

diff --git a/scripts/servidor/claude-caja.sh b/scripts/servidor/claude-caja.sh
index 7d871573..8d82f1e2 100755
--- a/scripts/servidor/claude-caja.sh
+++ b/scripts/servidor/claude-caja.sh
@@ -13,13 +13,14 @@
 # falta: `qorpa run` levanta la jaula con user namespaces y anda **sin privilegio**, siempre que el
 # directorio de la instancia sea del usuario.
 #
-# ⚠ LOS BUILDS SIGUEN SIN CORRER DENTRO DE LA JAULA, pero el motivo cambió y conviene tenerlo
-# medido (2026-09-18). Antes, con `root = true`, el bwrap anidado ni se levantaba: «Can't mount proc
-# on /proc». Con `root = false` **sí se levanta y /proc monta** —comprobado—, y lo que ahora falla es
-# otra cosa: el anidado **no puede mapear el uid 0** que `takana build` le pide, porque `sergio` no
-# tiene rango en `/etc/subuid` (sólo lo tiene `root`) y encima `newuidmap`/`newgidmap` **no son
-# setuid** en esta caja (`-r-xr-xr-x`). Resultado: el sandbox del build correría como 1001 y el
-# `install` que escribe `/out` con dueños se cae.
+# ⚠ Y LOS BUILDS **SÍ CORREN DENTRO DE LA JAULA** — medido el 2026-09-18 por el agente de adentro,
+# y corrige lo que decía este comentario. Dos recetas construidas y SELLADAS desde la jaula, con el
+# hash forzado para que no hubiera caché:
+#   · `anew` (Go, estática)  — fetch → `go mod vendor` → compile → sealed, 6,8 s
+#   · `lz4`  (C, estática)   — `make` + `make install` escribiendo `/out` → sealed, 4,4 s
+# Con `root = false` el bwrap anidado se levanta y `/proc` monta. Lo que NO se probó es una receta
+# cuyo `install` fije DUEÑOS: ahí sí muerde que el anidado no pueda mapear el uid 0, porque `sergio`
+# no tiene rango en `/etc/subuid` (sólo lo tiene `root`) y `newuidmap`/`newgidmap` no son setuid.
 #
 # ⚠ SE INTENTÓ CERRARLO Y **NO ALCANZÓ** (2026-09-18). Se hicieron las dos cosas obvias:
 #   · rango para `sergio` en `/etc/subuid` y `/etc/subgid` (165536:65536);