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 1572Shell 203Rust 109Markdown 993728 Definiciones

rescatados 5 binarios que ya no existían en disco — y el muro de `sergio`: glibc, no el sitio

Antes de tocar `sergio.gioser.net` apareció lo urgente: CINCO procesos vivos cuyo binario ya no
existe en disco (`/proc/<pid>/exe` → «(deleted)»). Sólo vivían como inode huérfano: si el proceso
muere o la máquina se reinicia, se pierden. Es el «paso que caduca» del SDD 29, caducando de verdad.

    tejido · sandokan-mcp · pacha-secretos · puerta-f6e393ffbef3999e · shuma-gateway   (240 M)

Recuperados leyendo `/proc/<pid>/exe` con el proceso vivo, y ya están FUERA de gioser: en
`/work/rescate-binarios/` de la caja y en el Storage Box. Cinco de los trece binarios que nadie
provee dejaron de depender de que nadie reinicie nada.

Y `sergio.gioser.net` son tres piezas, de las que sólo una se muda hoy:

· frontend: 117 M de estático ⇒ copiado a `/work/www/sergioh` ✅
· `/shuma/*`: `shuma-gateway` en :7378, ELF dinámico y con el binario borrado ⇒ hay que construirlo
  desde tawasuyu (es Rust del monorepo, factible)
· `api.sergio`: uvicorn con un venv de **405 M** — fastapi + pydantic + google-generativeai +
  **langchain**, con extensiones `cpython-314-x86_64-linux-GNU.so` ⇒ **glibc**. Reempaquetar ese
  árbol de PyPI como recetas no es realista y en musl no corre. Es el caso canónico del ADR 0015
  (qorpa), que sigue PROPUESTO.

Por eso el DNS de `sergio` NO se movió: mover el nombre sin backend deja el sitio servido y la
consola rota. El frontend queda copiado y esperando.

Esto es lo que decide la fecha de borrado de gioser: no es «mudar dominios», es que un servicio vivo
no tiene hoy camino a takana. Tres salidas, y ninguna es técnica: qorpa · que viva en otra máquina
(summa ya lo hace) · o que muera.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016Tf9T4vGzsMoT7eS8YzMFn

c7efb5cc564611f45f9a873f20ad62601aec8f69 · por Sergio · (hace 1 mes) · padre 981709d24 · ver el árbol en este commit

Delta semántico

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

1 archivos · +38 −0

diff --git a/docs/28-servidor-de-produccion.md b/docs/28-servidor-de-produccion.md
index 9512951b..ed0239fd 100644
--- a/docs/28-servidor-de-produccion.md
+++ b/docs/28-servidor-de-produccion.md
@@ -1315,6 +1315,44 @@ No se borra acá — se anota para la decisión de borrado de la máquina, que e
 **Lo que esto cambia**: mudar los dos que quedan es un frente acotado —un backend Python en `:7378`
 y una API en `:8771`— y no las quince cosas que la lista sugería.
 
+### 6.20 🛟 Cinco binarios rescatados de la nada — el paso que CADUCABA
+
+Antes de tocar `sergio.gioser.net` apareció lo urgente: **cinco procesos vivos cuyo binario YA NO
+EXISTE en disco** (`/proc/<pid>/exe` → `… (deleted)`). Sólo existían como inode huérfano: si el
+proceso muere o la máquina se reinicia, se pierden. Es el paso que el SDD 29 §4.0 undecies llamó *«el
+que caduca»*, y caducaba de verdad.
+
+    tejido · sandokan-mcp · pacha-secretos · puerta-f6e393ffbef3999e · shuma-gateway   (240 M)
+
+Se recuperaron leyendo `/proc/<pid>/exe` con el proceso vivo, y ya están **fuera de gioser**: en
+`/work/rescate-binarios/` de la caja **y** en `rescate-binarios/` del Storage Box. Cinco de los trece
+binarios que nadie provee dejaron de depender de que nadie reinicie nada.
+
+### 6.21 🧱 `sergio.gioser.net`: el muro no es el sitio, es **glibc**
+
+El sitio son tres piezas, y sólo una se puede mudar hoy:
+
+| pieza | qué es | mudable a takana |
+|---|---|---|
+| el frontend | **117 M** de estático (`dist/`) | ✅ copiado ya a `/work/www/sergioh` |
+| `/shuma/*` | `shuma-gateway` en `:7378` — **ELF dinámico, y su binario estaba BORRADO** | ⚠ hay que construirlo desde tawasuyu (es Rust del monorepo) |
+| `api.sergio` | **uvicorn** con un venv de **405 M** | 🧱 **no, hoy no** |
+
+El backend es `fastapi + uvicorn + pydantic + google-generativeai + **langchain**`, con extensiones
+compiladas `…cpython-314-x86_64-linux-**gnu**.so` — o sea **glibc**. Reempaquetar ese árbol de PyPI
+como recetas no es realista, y correrlo en musl no es posible. **Es el caso de uso canónico del
+[ADR 0015](adr/0015-imagenes-ajenas.md) (`qorpa`: imágenes ajenas glibc enjauladas)**, que está
+PROPUESTO y sin implementar del todo.
+
+⇒ **El DNS de `sergio` NO se movió**: mover el nombre sin el backend deja el sitio servido y la
+consola rota. El frontend queda copiado y esperando; el corte se hace cuando exista el camino para
+las otras dos piezas.
+
+**Esto es lo que decide la fecha de borrado de gioser**: no es «mudar dominios», es que **un
+servicio vivo no tiene hoy camino a takana**. Las salidas son tres y hay que elegir: (1) `qorpa`, que
+es para exactamente esto; (2) que ese servicio viva en otra máquina —`summa` ya lo hace, y su DNS lo
+demuestra—; o (3) que muera. Ninguna es técnica: es una decisión.
+
 ## 7. Reusar los scripts que ya existen, y no escribir de nuevo
 
 Pedido explícito del usuario. El inventario de lo que ya hace el trabajo: