docs: SDD 15 §H3b — puente H3b↔H2c (compartir programas por la malla, seguros por construcción)

Cierra la tesis de §H3: un programa entero viaja como Paquete verificable
en dos capas — integridad del código por el hash (tamper-evident sin firmar)
+ verdad del resultado por reproducción (H2c). Implementación en tawasuyu
wawa-memo/src/programa.rs (8 tests, total wawa-memo 30).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-04 06:45:48 -04:00
co-authored by Claude Opus 4.8
parent fdfaab5151
commit aad80ca519
+13
View File
@@ -189,6 +189,19 @@ proyecto, no una fase.
grano intra-función, sin typechecking sobre la base, sin lenguaje); es el *subconjunto* que
wasm + BLAKE3 + H2 sostienen. Demuestra que el modelo **se sostiene**, no que hayamos colapsado
paquete = función = proceso (eso sigue siendo el design-doc de H3a).
**Puente H3b↔H2c (2026-07-04, `wawa-memo/src/programa.rs` + `tests/h3b_malla.rs`, 8 tests):**
cierra la tesis de §H3 uniendo el código-por-contenido de H3b con el modelo de confianza de H2c.
Un programa entero viaja por la malla como un `Paquete { defs, termino }` **seguro por
construcción**, en dos capas que tapan vectores distintos: **(1) integridad del código = el
hash** (nueva) — las defs no llevan hash declarado, su identidad se **deriva** al recibirlas;
una `Ref(H)` sólo se satisface con los bytes exactos que hashean a `H`, así que alterar o retener
una def deja su referencia colgante y **rechaza el paquete** sin firmar nada (el hash ES la
prueba de integridad; la base local queda intacta); **(2) verdad del resultado = reproducción**
(H2c sobre un programa entero) — que el código sea íntegro no dice qué computa, así que una
salida afirmada se **recomputa y compara** (`ingerir_paquete_verificando`), rechazando la
envenenada. `verificar_paquete` es la primitiva pura. Compartir *código* es tamper-evident por el
hash; compartir *resultados* es seguro por reproducción — juntos, la foto completa de «el hash es
el espacio de nombres común».
**Frontera honesta.** No prometer "una distro donde paquete = función = proceso": H3b demostró
que el **núcleo** del modelo (definir por hash, nombres como metadata, actualizar sin romper,