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

cierre §3: lección casper aterrizada — clases de servicio declaradas + mapa clase→permiso musl (plan-freebsd T2.1-T2.2 HECHAS)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

6ef9f2b4a82acc5e1d3667784093cdd9331349fb · por sergio · (hace 3 meses) · padre 6e1ebfd00 · ver el árbol en este commit

Delta semántico

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

1 archivos · +19 −0

diff --git a/docs/17-cierres-frontera.md b/docs/17-cierres-frontera.md
index 85eaa216..ebffad19 100644
--- a/docs/17-cierres-frontera.md
+++ b/docs/17-cierres-frontera.md
@@ -65,6 +65,25 @@ convierte en política atestada sin inventar formato. Filosofía de referencia:
 wawa "capacidad = frontera física, no tabla de permisos" (WAWA.md §4.2). Lado runtime:
 `pacha-core` / `sandokan-lifecycle`.
 
+**La lección casper (plan-freebsd T2.1–T2.2).** Capsicum, más puro que Landlock, terminó
+necesitando demonios auxiliares (`casper`) porque hay una clase — *servicios del mundo* —
+que no son paths y no caben en ninguna jaula por-fichero. La clausura de build **no
+contiene esa clase** (builds offline por `--unshare-all`): derivarla a ciegas produce
+binarios que revientan en el primer `getaddrinfo`. Política runtime = clausura de build
+**+ clases de servicio declaradas por nombre** (D3 aplica en runtime: no se ensancha en
+silencio). El mapa clase→permiso en musl cabe aquí porque musl no tiene nsswitch ni
+dlopen de módulos NSS — la mitad de por qué casper existe no aplica:
+
+| clase | permiso concreto (musl) |
+|---|---|
+| `dns` | leer `/etc/resolv.conf` + `/etc/hosts`, socket UDP/TCP :53 |
+| `tls-certs` | leer `/etc/ssl/certs/` |
+| `random` | `getrandom(2)` — ni path necesita |
+| `locale` / `tz` | leer `/etc/TZ`, `/usr/share/zoneinfo/` (locale va embebido en musl) |
+| `syslog` | socket unix `/dev/log` |
+
+La clase viaja como campo de la `ConcesionCapacidad` — sin formato nuevo.
+
 ### 4. CVE por grafo
 
 `hammer affected CVE-X` exacto (grafo fuente→artefacto→instalado) + frontera mínima de