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 1506Shell 186Rust 107Markdown 983639 Definiciones

sitio: el diagrama de los dos pisos en SVG, y fuera el voseo

**El castellano pasa a NEUTRO.** «En abierto suena muy regional argentino», y tiene
razón: ocho formas de voseo —`podés`, `trabajás`, `preferís`, `verificás`, `bajás`,
`Probá`, `disponés`, `vos`— a tuteo. El README deja el control que lo detecta, porque
esto se vuelve a colar solo escribiendo una frase nueva.

**El diagrama va en SVG, no la imagen que trajo el usuario.** La infografía de
ChatGPT no se publicó por tres cosas concretas, y la del medio es la que importa:

  · llevaba los logos de **NixOS y Alpine** dentro del recuadro «Laboratorio takana»,
    lo que afirma una filiación que NO existe — takana importa *recetas* de nixpkgs y
    de aports y después las compila con su propio lab; no *es* NixOS + Alpine. Y son
    marcas ajenas puestas en la portada de otro proyecto.
  · el logo no era el oficial de `docs/marca`, y el «DAG · versiones y ramas» colgaba
    del lado mutable cuando el grafo está en el laboratorio.
  · el texto iba quemado en el PNG: ni seleccionable, ni traducible con el botón
    ES/EN, ni adaptable al tema. 1,9 MB con fondo fotográfico en una página que se
    trae 154 KB de tipografías para no depender de nadie.

La idea sí valía, así que se dibujó de nuevo y mostrando el MECANISMO en vez de una
lista de logos: **hidratación** subiendo del almacén al FHS, **diario** bajando de lo
que cambias a mano. Eso es lo que hace que los dos pisos sean uno, y es exactamente lo
que una fila de iconos no puede decir.

Colores por variable ⇒ cambia con el tema. Texto en `<text data-l="es|en">` ⇒ lo
traduce el mismo CSS que el resto y lo lee un lector de pantalla.

⚠ Dos cosas que sólo se ven mirando, no leyendo el XML, y que salieron de rasterizarlo
con el `rsvg-convert` del propio corpus en los dos temas antes de publicarlo:

  · la primera versión tenía las etiquetas de las dos flechas **chocando** en el medio;
    se separaron por altura en vez de por ancho.
  · `font-family="var(--mono)"` **no funciona**: `var()` sólo vale en una declaración
    CSS, no en un atributo de presentación. Va por clase.

En pantalla angosta el diagrama scrollea dentro de su caja (`min-width:404px`):
encogerlo hasta que las etiquetas no se lean es peor que dejarlo desplazarse.

c52e20b1d8d63d4e7efd0a0b54353e396ba6b324 · por Sergio · (hace 29 d) · padre d3935a3fa · ver el árbol en este commit

Delta semántico

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

2 archivos · +122 −8

diff --git a/web/takana-os.net/README.md b/web/takana-os.net/README.md
index 90633a74..165cce2f 100644
--- a/web/takana-os.net/README.md
+++ b/web/takana-os.net/README.md
@@ -36,6 +36,47 @@ ls /store | wc -l
 **`04` junta lo que eran dos secciones** («los repositorios» y «cómo se llama»): las dos direcciones,
 el reparto del repo y los tres bloques de comandos son el mismo asunto — dónde vive y cómo se llama.
 
+## El diagrama de los dos pisos
+
+**SVG inline, no una imagen** (2026-09-23). El usuario trajo una infografía generada con ChatGPT y
+no se publicó: llevaba los logos de **NixOS y Alpine** dentro del recuadro del laboratorio —lo que
+afirma una filiación que no existe: takana *importa recetas* de nixpkgs y de aports, no *es* eso— y
+un logo que no es el oficial de `docs/marca`. Además el texto iba quemado en el PNG: ni seleccionable,
+ni traducible con el botón ES/EN, ni adaptable al tema, y 1,9 MB con fondo fotográfico en una página
+que se trae 154 KB de tipografías justamente para no depender de nadie.
+
+Lo que sí valía era la IDEA, así que se dibujó de nuevo: los colores van por variable (cambia con el
+tema), el texto es `<text data-l="es|en">` (lo traduce el mismo CSS que el resto y lo lee un lector de
+pantalla), y muestra el MECANISMO en vez de una lista de logos — **hidratación** subiendo del almacén
+al FHS y **diario** bajando de lo que cambias a mano, que es lo que hace que los dos pisos sean uno.
+
+⚠ `var(--mono)` **no funciona como atributo de presentación** (`font-family="var(--mono)"`): `var()`
+sólo vale en una declaración CSS. Va por clase (`.diagrama .mono`).
+
+⚠ En pantalla angosta el diagrama **scrollea dentro de su caja** (`min-width:404px`): encoger un
+diagrama hasta que las etiquetas no se lean es peor que dejarlo desplazarse.
+
+Comprobado rasterizándolo con el `rsvg-convert` del propio corpus, en los dos temas, antes de
+publicarlo — la primera versión tenía las etiquetas de las dos flechas chocando en el medio y eso no
+se ve leyendo el XML.
+
+## El castellano de la página es NEUTRO
+
+Se quitó el voseo el 2026-09-23 a pedido del usuario: «en abierto suena muy regional argentino».
+Ocho formas (`podés`, `trabajás`, `preferís`, `verificás`, `bajás`, `Probá`, `disponés`, `vos`)
+pasaron a tuteo neutro. El control para que no vuelva a colarse:
+
+```sh
+python3 - <<'PY'
+import re
+h=open('web/takana-os.net/index.html').read()
+es=" ".join(re.sub('<[^>]+>','',t) for t in re.findall(r'data-l="es">(.*?)</span>', h, re.S))
+print([w for w in re.findall(r'\b\w+(?:ás|és|ís)\b|\bvos\b', es) if w.lower() not in
+       ('después','además','través','inglés','país','más','así','aquí','allí','sólo','demás',
+        'detrás','atrás','interés','revés')] or "sin voseo")
+PY
+```
+
 ## La sección «las decisiones»
 
 **Trece fichas plegables** (`<details>`, sin una línea de JavaScript), cada una con tres lecturas de
diff --git a/web/takana-os.net/index.html b/web/takana-os.net/index.html
index 58e9c148..71a0ca37 100644
--- a/web/takana-os.net/index.html
+++ b/web/takana-os.net/index.html
@@ -144,6 +144,24 @@ ul.limpia li::before{content:"";position:absolute;left:0;top:.62em;width:7px;hei
 
 /* las decisiones: cada una es una ficha con tres lecturas de lo mismo —
    contra qué se decide, qué implica por dentro, y qué quiere decir sin jerga */
+/* el diagrama de los dos pisos: SVG inline, no una imagen. Los colores van por
+   variable ⇒ cambia con el tema; el texto es texto ⇒ se traduce con el resto y lo
+   lee un lector de pantalla. En pantalla angosta scrollea DENTRO de su caja: encoger
+   un diagrama hasta que las etiquetas no se lean es peor que dejarlo desplazarse. */
+.diagrama{overflow-x:auto;margin:1.7rem 0 1.5rem}
+.diagrama svg{display:block;width:100%;max-width:560px;min-width:404px;height:auto;margin:0 auto;
+ font-family:var(--sans)}
+.diagrama .caja{fill:var(--papel);stroke:var(--linea)}
+.diagrama .cajita{fill:var(--papel2);stroke:var(--linea2)}
+.diagrama .encima{fill:none;stroke:var(--linea2);stroke-dasharray:5 4}
+.diagrama .t{fill:var(--texto)}
+.diagrama .s{fill:var(--tenue)}
+.diagrama .d{fill:var(--debil)}
+.diagrama .a{fill:var(--acento)}
+.diagrama .mono{font-family:var(--mono);letter-spacing:1.7px}
+.diagrama .flecha{stroke:var(--acento);stroke-width:1.6;fill:none}
+.diagrama .cabeza{fill:var(--acento)}
+
 .decisiones{display:grid;gap:.5rem;margin-top:1.5rem}
 .decision{border:1px solid var(--linea);border-radius:14px;background:var(--papel)}
 /* plegadas de entrada: trece fichas abiertas son una pared. La aseveración basta
@@ -268,7 +286,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <h1>takana</h1>
  </div>
  <p class="lema">
-  <span data-l="es">Un Linux mutable que podés romper y recuperar, manteniendo su pureza hasta el último bit.</span>
+  <span data-l="es">Un Linux mutable que puedes romper y recuperar, manteniendo su pureza hasta el último bit.</span>
   <span data-l="en">A mutable Linux you can break and recover, its purity intact down to the last bit.</span>
  </p>
  <div class="botones">
@@ -336,6 +354,61 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <span data-l="es">Cada una se abre: en qué se aparta de lo habitual, qué implica por dentro, y qué quiere decir sin jerga.</span>
   <span data-l="en">Each one opens: how it departs from the usual, what it involves under the hood, and what it means without jargon.</span>
  </p>
+<div class="diagrama">
+<svg viewBox="0 0 520 470" xmlns="http://www.w3.org/2000/svg">
+ <defs>
+  <linearGradient id="fragua" x1="0" y1="0" x2="0" y2="1">
+   <stop offset="0%" stop-color="#E3A63D"/><stop offset="55%" stop-color="#DF6B2A"/>
+   <stop offset="100%" stop-color="#A63A25"/>
+  </linearGradient>
+  <marker id="punta" viewBox="0 0 8 8" refX="6.5" refY="4" markerWidth="5.5" markerHeight="5.5" orient="auto">
+   <path class="cabeza" d="M0.5,0.5 L7.5,4 L0.5,7.5 Z"/>
+  </marker>
+ </defs>
+
+ <rect x="0" y="14" width="5" height="442" rx="2.5" fill="url(#fragua)"/>
+
+ <rect class="encima" x="26" y="14" width="480" height="58" rx="12"/>
+ <text data-l="es" class="s" x="46" y="40" font-size="18" font-weight="600" text-anchor="start">tawasuyu</text>
+ <text data-l="en" class="s" x="46" y="40" font-size="18" font-weight="600" text-anchor="start">tawasuyu</text>
+ <text data-l="es" class="d" x="46" y="59" font-size="12" font-weight="400" text-anchor="start">el escritorio y la suite, encima</text>
+ <text data-l="en" class="d" x="46" y="59" font-size="12" font-weight="400" text-anchor="start">the desktop and the suite, on top</text>
+ <path class="flecha" d="M266,102 L266,80" marker-end="url(#punta)"/>
+
+ <rect class="caja" x="26" y="104" width="480" height="94" rx="14"/>
+ <text data-l="es" class="d mono" x="46" y="130" font-size="10" font-weight="500" text-anchor="start">EL PISO DE ARRIBA</text>
+ <text data-l="en" class="d mono" x="46" y="130" font-size="10" font-weight="500" text-anchor="start">THE UPPER FLOOR</text>
+ <text data-l="es" class="t" x="46" y="155" font-size="17" font-weight="600" text-anchor="start">Tu máquina, mutable</text>
+ <text data-l="en" class="t" x="46" y="155" font-size="17" font-weight="600" text-anchor="start">Your machine, mutable</text>
+ <text data-l="es" class="s" x="46" y="178" font-size="12.5" font-weight="400" text-anchor="start">/bin · /lib · /etc reales — se rompe, se prueba, se vuelve atrás</text>
+ <text data-l="en" class="s" x="46" y="178" font-size="12.5" font-weight="400" text-anchor="start">a real /bin · /lib · /etc — break it, try it, go back</text>
+
+ <path class="flecha" d="M140,306 L140,210" marker-end="url(#punta)"/>
+ <path class="flecha" d="M392,210 L392,306" marker-end="url(#punta)"/>
+ <text data-l="es" class="a" x="158" y="238" font-size="12.5" font-weight="500" text-anchor="start">hidratación</text>
+ <text data-l="en" class="a" x="158" y="238" font-size="12.5" font-weight="500" text-anchor="start">hydration</text>
+ <text data-l="es" class="s" x="158" y="256" font-size="11.5" font-weight="400" text-anchor="start">enlaces duros desde el almacén</text>
+ <text data-l="en" class="s" x="158" y="256" font-size="11.5" font-weight="400" text-anchor="start">hard links from the store</text>
+ <text data-l="es" class="a" x="374" y="282" font-size="12.5" font-weight="500" text-anchor="end">diario</text>
+ <text data-l="en" class="a" x="374" y="282" font-size="12.5" font-weight="500" text-anchor="end">journal</text>
+ <text data-l="es" class="s" x="374" y="300" font-size="11.5" font-weight="400" text-anchor="end">lo que cambias a mano, registrado</text>
+ <text data-l="en" class="s" x="374" y="300" font-size="11.5" font-weight="400" text-anchor="end">what you change by hand, recorded</text>
+
+ <rect class="caja" x="26" y="316" width="480" height="140" rx="14"/>
+ <text data-l="es" class="d mono" x="46" y="342" font-size="10" font-weight="500" text-anchor="start">EL PISO DE ABAJO</text>
+ <text data-l="en" class="d mono" x="46" y="342" font-size="10" font-weight="500" text-anchor="start">THE LOWER FLOOR</text>
+ <text data-l="es" class="t" x="46" y="367" font-size="17" font-weight="600" text-anchor="start">La fábrica, cerrada</text>
+ <text data-l="en" class="t" x="46" y="367" font-size="17" font-weight="600" text-anchor="start">The factory, closed</text>
+ <text data-l="es" class="s" x="46" y="389" font-size="12.5" font-weight="400" text-anchor="start">compila desde el código fuente, aislada y sin red</text>
+ <text data-l="en" class="s" x="46" y="389" font-size="12.5" font-weight="400" text-anchor="start">builds from source code, sandboxed and offline</text>
+ <rect class="cajita" x="46" y="398" width="440" height="46" rx="10"/>
+ <text data-l="es" class="t" x="62" y="418" font-size="12.5" font-weight="600" text-anchor="start">el almacén</text>
+ <text data-l="en" class="t" x="62" y="418" font-size="12.5" font-weight="600" text-anchor="start">the store</text>
+ <text data-l="es" class="s" x="62" y="435" font-size="11.5" font-weight="400" text-anchor="start">cada artefacto por su hash BLAKE3</text>
+ <text data-l="en" class="s" x="62" y="435" font-size="11.5" font-weight="400" text-anchor="start">every artefact by its BLAKE3 hash</text>
+</svg>
+</div>
+
  <div class="decisiones">
 <details class="decision">
 <summary><span class="num">01</span><span data-l="es">Una fábrica cerrada abajo, tu máquina de siempre arriba</span><span data-l="en">A closed factory below, your usual machine above</span></summary>
@@ -345,7 +418,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es">Abajo, compilación aislada y direccionada por hash BLAKE3, sin efectos de borde. Arriba, un Linux con <code>/bin</code>, <code>/lib</code> y <code>/etc</code> de verdad; los binarios se proyectan del almacén por enlaces duros, normalizados para no arrastrar rutas internas. El puente —la hidratación— va en un solo sentido.</span><span data-l="en">Below, sandboxed builds addressed by BLAKE3 hash, with no side effects. Above, a Linux with a real <code>/bin</code>, <code>/lib</code> and <code>/etc</code>; binaries are projected from the store by hard links, normalised so they carry no internal paths. The bridge — hydration — goes one way only.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">La parte que tiene que ser exacta lo es, y la parte donde trabajás sigue siendo un Linux normal. Lo demás de esta lista sale de ahí.</span><span data-l="en">The part that has to be exact is exact, and the part where you work is still an ordinary Linux. Everything else on this list follows from that.</span></dd>
+  <dd class="simple"><span data-l="es">La parte que tiene que ser exacta lo es, y la parte donde trabajas sigue siendo un Linux normal. Lo demás de esta lista sale de ahí.</span><span data-l="en">The part that has to be exact is exact, and the part where you work is still an ordinary Linux. Everything else on this list follows from that.</span></dd>
 </dl>
 </details>
 
@@ -369,7 +442,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es"><code>mirada</code> es el escritorio propio y viaja en la imagen. Encima está <strong>tawasuyu</strong>, que no es un añadido: comparten el almacén direccionado por contenido, el grafo de arranque y <code>arje</code> —su proceso número uno— como init de las imágenes. Y los cuatro escritorios conocidos están construidos igual, con su clausura sellada: KDE, GNOME, COSMIC y sway.</span><span data-l="en"><code>mirada</code> is the project's own desktop and travels in the image. Above it sits <strong>tawasuyu</strong>, which is not an add-on: they share the content-addressed store, the boot graph and <code>arje</code> — its process number one — as the init of the images. And the four well-known desktops are built the same way, with their closure sealed: KDE, GNOME, COSMIC and sway.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">No es sólo una base para que otros pongan cosas encima: el escritorio y lo que corre en él son parte del mismo proyecto y están pensados juntos. Si preferís uno conocido, también está.</span><span data-l="en">It is not just a base for others to put things on: the desktop and what runs on it belong to the same project and are designed together. If you prefer a well-known one, it is there too.</span></dd>
+  <dd class="simple"><span data-l="es">No es sólo una base para que otros pongan cosas encima: el escritorio y lo que corre en él son parte del mismo proyecto y están pensados juntos. Si prefieres uno conocido, también está.</span><span data-l="en">It is not just a base for others to put things on: the desktop and what runs on it belong to the same project and are designed together. If you prefer a well-known one, it is there too.</span></dd>
 </dl>
 </details>
 
@@ -377,7 +450,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
 <summary><span class="num">04</span><span data-l="es">Todo se compila desde fuente, y la fuente está clavada</span><span data-l="en">Everything is compiled from source, and the source is pinned</span></summary>
 <dl>
   <dt><span data-l="es">Frente a lo habitual</span><span data-l="en">Compared to the usual</span></dt>
-  <dd><span data-l="es">Una distro normal te entrega un binario que compiló otra persona en otra máquina; lo que verificás es la firma de quien lo subió, no lo que hay adentro.</span><span data-l="en">A normal distro hands you a binary somebody else compiled on another machine; what you verify is the signature of whoever uploaded it, not what is inside.</span></dd>
+  <dd><span data-l="es">Una distro normal te entrega un binario que compiló otra persona en otra máquina; lo que verificas es la firma de quien lo subió, no lo que hay adentro.</span><span data-l="en">A normal distro hands you a binary somebody else compiled on another machine; what you verify is the signature of whoever uploaded it, not what is inside.</span></dd>
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es">Cada receta fija su fuente por <em>commit</em> de git o por <code>sha256</code> — nunca contra una rama viva. El hash del artefacto se deriva de la receta entera: fuente, compilador, banderas, fases de build y los hashes de cada dependencia. <code>takana hash</code> lo calcula sin construir nada.</span><span data-l="en">Each recipe pins its source by git <em>commit</em> or <code>sha256</code> — never against a live branch. The artefact hash is derived from the whole recipe: source, compiler, flags, build phases and the hash of every dependency. <code>takana hash</code> computes it without building anything.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
@@ -405,7 +478,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es">El índice va firmado con Ed25519 y ancla el <code>digest</code> de cada paquete. <code>install</code> resuelve el nombre, verifica la firma, <strong>reconstruye desde fuente</strong> y recién entonces hidrata. <code>--repo</code> acepta varios orígenes separados por comas y los prueba en orden.</span><span data-l="en">The index is Ed25519-signed and anchors each package's <code>digest</code>. <code>install</code> resolves the name, verifies the signature, <strong>rebuilds from source</strong> and only then hydrates. <code>--repo</code> takes several comma-separated origins and tries them in order.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">El sitio del que bajás no necesita ser de fiar, porque no te da el resultado: te da las instrucciones, y se comprueba que sean las firmadas.</span><span data-l="en">The site you download from doesn't need to be trustworthy, because it doesn't give you the result: it gives you the instructions, and they are checked against the signed ones.</span></dd>
+  <dd class="simple"><span data-l="es">El sitio del que lo bajas no necesita ser de fiar, porque no te da el resultado: te da las instrucciones, y se comprueba que sean las firmadas.</span><span data-l="en">The site you download from doesn't need to be trustworthy, because it doesn't give you the result: it gives you the instructions, and they are checked against the signed ones.</span></dd>
 </dl>
 </details>
 
@@ -441,7 +514,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es"><code>arje-zero</code> es el proceso número uno, estático contra musl. Los servicios se declaran en <em>Cards</em> JSON, con supervisión y reintento con backoff, y hablan por un socket Unix con <code>SO_PEERCRED</code>. El menú de arranque es la navegación del grafo de estados del sistema.</span><span data-l="en"><code>arje-zero</code> is process number one, statically linked against musl. Services are declared in JSON <em>Cards</em>, with supervision and backoff restarts, and talk over a Unix socket with <code>SO_PEERCRED</code>. The boot menu is navigation of the system's state graph.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">Lo que enciende tu máquina se puede leer con un editor de texto y contar de memoria. No hay una pieza central que decida por vos y te cueste inspeccionar.</span><span data-l="en">What starts your machine can be read in a text editor and held in your head. There is no central piece deciding for you that is hard to inspect.</span></dd>
+  <dd class="simple"><span data-l="es">Lo que enciende tu máquina se puede leer con un editor de texto y contar de memoria. No hay una pieza central que decida por ti y cueste inspeccionar.</span><span data-l="en">What starts your machine can be read in a text editor and held in your head. There is no central piece deciding for you that is hard to inspect.</span></dd>
 </dl>
 </details>
 
@@ -453,7 +526,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es"><code>try</code> monta un overlay sobre el FHS real; <code>commit</code> lo promueve y <code>discard</code> lo tira. Un demonio <code>fanotify</code> registra cada cambio a mano y calcula el delta contra la base limpia; <code>export</code> lo convierte en un manifiesto compartible.</span><span data-l="en"><code>try</code> mounts an overlay over the real FHS; <code>commit</code> promotes it and <code>discard</code> throws it away. A <code>fanotify</code> daemon records every hand edit and computes the delta against the clean base; <code>export</code> turns it into a shareable manifest.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">Probá lo que quieras: si sale mal se desmonta la capa y listo. Y lo que cambiaste a mano queda anotado solo — el registro <em>es</em> tu configuración, sin que hayas escrito ninguna.</span><span data-l="en">Try whatever you want: if it goes wrong the layer is unmounted and that's it. And what you changed by hand gets written down on its own — the log <em>is</em> your configuration, without you having written one.</span></dd>
+  <dd class="simple"><span data-l="es">Prueba lo que quieras: si sale mal se desmonta la capa y listo. Y lo que cambiaste a mano queda anotado solo — el registro <em>es</em> tu configuración, sin que hayas escrito ninguna.</span><span data-l="en">Try whatever you want: if it goes wrong the layer is unmounted and that's it. And what you changed by hand gets written down on its own — the log <em>is</em> your configuration, without you having written one.</span></dd>
 </dl>
 </details>
 
@@ -489,7 +562,7 @@ footer.pie{border-top:1px solid var(--linea);background:var(--papel);padding:2.6
   <dt><span data-l="es">Técnicamente</span><span data-l="en">Technically</span></dt>
   <dd><span data-l="es">Todo el estado del sistema es texto plano y binarios inspeccionables con <code>readelf</code> u <code>objdump</code>; nada de bases de configuración opacas. Hay un bus por socket Unix por el que un agente dispara compilaciones, escucha fallos y propone cambios — siempre contra un overlay, nunca contra el sistema vivo.</span><span data-l="en">All system state is plain text and binaries inspectable with <code>readelf</code> or <code>objdump</code>; no opaque configuration databases. There is a Unix-socket bus through which an agent triggers builds, listens for failures and proposes changes — always against an overlay, never against the live system.</span></dd>
   <dt class="simple"><span data-l="es">En simple</span><span data-l="en">In plain words</span></dt>
-  <dd class="simple"><span data-l="es">Un asistente puede entender y cambiar el sistema entero sin adivinar nada, y cada cosa que hace es reversible y queda anotada. Propone; vos disponés.</span><span data-l="en">An assistant can understand and change the whole system without guessing, and everything it does is reversible and recorded. It proposes; you decide.</span></dd>
+  <dd class="simple"><span data-l="es">Un asistente puede entender y cambiar el sistema entero sin adivinar nada, y cada cosa que hace es reversible y queda anotada. Propone; tú dispones.</span><span data-l="en">An assistant can understand and change the whole system without guessing, and everything it does is reversible and recorded. It proposes; you decide.</span></dd>
 </dl>
 </details>
  </div>