joyas #1 composefs: prototipo medido — hydrate 28ms vs mkcomposefs 507ms (métrica equivocada: lo que compra es verity por lectura + RO real + manifiesto 136KB firmable); hallazgo: objects/ por sha256-verity ⇒ mapa b3→verity al sellar
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +18 −0
- docs/joyas-reusables.md +18 −0
diff --git a/docs/joyas-reusables.md b/docs/joyas-reusables.md
index e2bfd232..52cea412 100644
--- a/docs/joyas-reusables.md
+++ b/docs/joyas-reusables.md
@@ -22,6 +22,24 @@ ya usa como identidad se convierte en verificación por-lectura del kernel. Cost
**Gate barato:** prototipo de `hammer hydrate --backend composefs` sobre un artefacto sellado;
comparar con hardlink en frío/caliente. No reemplaza ADR 0005 — convive como backend.
+**Prototipo MEDIDO (2026-07-17, laptop, composefs 1.0.8, sobre el product-rootfs sellado
+`ba351f1b…`, 262MB / 730 entradas):**
+- `hammer hydrate` (hardlink, ADR 0005): **28ms**. `mkcomposefs --digest-store`: **507ms**
+ (incluye hashear todo al objects/). El manifiesto `.cfs` resultante: **136KB firmables**
+ para el rootfs entero.
+- La comparación de velocidad es la métrica equivocada: ambos son sub-segundo. Lo que
+ composefs compra y el hardlink NO puede dar: (1) fs-verity por fichero en runtime —
+ integridad verificada en cada lectura, el cierre §5 en serio; (2) proyección
+ genuinamente read-only — **con hardlinks, un write con privilegios a través del árbol
+ hidratado corrompe el store** (comparten inode); con composefs es imposible por
+ construcción; (3) el manifiesto chico como unidad de firma/distribución.
+- **Hallazgo de diseño**: el objects/ de composefs se indexa por digest **fs-verity
+ (sha256)**, no por `b3:` ⇒ el backend mantiene un objects/ paralelo al store (lo
+ construye `mkcomposefs --digest-store` solo, y DEDUPLICA contenido entre artefactos)
+ o hammer guarda el mapa b3→verity al sellar. No es bloqueante, es una tabla.
+- **Pendiente (pide root)**: montar el `.cfs` (overlayfs+EROFS) y medir lectura
+ fría/caliente vs hardlink. El kernel linux-metal re-sellado ya trae EROFS+FS_VERITY.
+
## 2. PGO/BOLT con perfil sellado — la que NADIE probó bien
**El problema ajeno.** PGO y BOLT dan 10–20% real (Fedora ya envía clang/rustc bolteados),