SDD 26: el paquete opcional entra al catálogo FIRMADO, y las tres cosas que sólo aparecieron al instalarlo

This commit is contained in:
Sergio
2026-09-13 20:11:10 +00:00
parent af548b8555
commit 01649076da
+26
View File
@@ -767,6 +767,32 @@ no hay modelo de embeddings en /usr/share/takana/ia/embeddings.gguf: es una desc
— instalalo con `takana install ia-modelo-embeddings`
```
**El catálogo, firmado y verificado en los dos sentidos.** Publicar el paquete no alcanza: un
catálogo sin firma deja a `install --require-signed` sin nada que comprobar, y una firma con clave
efímera es decoración (SDD 19 §3.2). Se firmó con la **clave estable** del SDD 28 §5.1 —pública en
`trust/`, privada fuera de git— y se comprobó como corresponde:
| `--trust` | resultado |
|---|---|
| `./trust` | `release: trusted (by release) — 94 paquete(s)` |
| un directorio vacío | `release: unknown-key … añadí su clave para confiar` |
⚠ Esto es un **ensayo local**: `dist/repo` no está en git y la publicación de verdad es la caja del
SDD 28 §5. Lo que queda demostrado acá es que el paquete y su cierre entran al catálogo firmado sin
inventar nada nuevo.
**Y tres cosas que sólo aparecieron al instalarlo de verdad, no al empaquetarlo:**
1. **el cierre no estaba publicado**: faltaban `llama-cpp` y `cmake`. Un paquete cuyo cierre no está
en el catálogo existe y **no se instala**;
2. **tres paquetes llevaban el ancla de sanidad por default** (`/usr/bin/<nombre>`), que en una
librería o en un modelo no existe — `install` habría fallado al verificar algo que nunca iba a
estar;
3. **el instalador no podía instalar a otro filesystem**: `Invalid cross-device link`, justo en el
caso que su propia ayuda promete. Y no hace falta tener dos discos: `linkat` da EXDEV **entre dos
mounts del mismo dispositivo**, y el store de esta máquina es un bind-mount. Arreglado con una
copia ante EXDEV —y sólo ante EXDEV— en `takana-build::hydrate`, con su test cruzando a `/dev/shm`.
#### 6.3.quater El modelo que elegimos NO SERVÍA, y el síntoma no se parecía a la causa (2026-09-12)
Esto es la unidad de trabajo más caras de esta tanda y vale escribirla entera, porque la clase de