docs: SDD 15 §H2b hecho — memoización de ejecución wasm (cómputo como dato)
El prototipo vive en tawasuyu/03_ukupacha/wawa/wawa-memo (crate host/std): reproduce la vía pura del kernel y monta la clave del contrato §4 sobre un LwwMap. Test §5 verde (72 casos byte-idénticos, Hit/Miss, fallas cacheadas, E-invalidación, merge de malla). Desbloquea H2c. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Semantic delta
No definition changed: this change is text, documentation or data.
1 files · +11 −1
diff --git a/docs/15-frontier-ai-native.md b/docs/15-frontier-ai-native.md
index 3d8e6c94..218d384b 100644
--- a/docs/15-frontier-ai-native.md
+++ b/docs/15-frontier-ai-native.md
@@ -112,9 +112,19 @@ spike de wawa, no de hammer.
fuel/mem/ABI); único vector residual acotado = payload de NaN vía `reinterpret` (sólo cross-build,
irrelevante para H2b local). La superficie de capacidades (`env/*.rs`) reintroduce no-determinismo
o efectos ⇒ NO memoizable; sólo la vía linker-vacío lo es.
-- **H2b** — Prototipo de `blake3(módulo)+blake3(entrada) → blake3(salida)` como caché local
+- **H2b** ✅ — Prototipo de `blake3(módulo)+blake3(entrada) → blake3(salida)` como caché local
(un `LwwMap` de `shared/crdt`), sin malla todavía. Test: misma entrada ⇒ hit; recompute ⇒
byte-idéntico (o el determinismo está roto y H2a mintió).
+ **Hecho (2026-07-03):** crate `tawasuyu/03_ukupacha/wawa/wawa-memo` (host/std, standalone).
+ Reproduce fiel la vía pura del kernel (`ejecutar_dinamico_v2`: linker vacío + fuel 500k + 1 MiB
+ + wasmi sin simd + despacho polimórfico) y monta la clave del contrato §4 (`blake3(bytecode) ‖
+ blake3(entrada_le) ‖ E`, con `E` = hash de entorno que pinnea wasmi/features/fuel/mem/abi). El
+ test de §5 **da verde**: 9 módulos × 8 entradas ejecutados dos veces ⇒ `blake3(salida)`
+ byte-idéntico (H2a no mintió); Miss→Hit sirve valor idéntico al recomputado; las fallas
+ (`Trampa`/`SinCombustible`/`Carga`) se cachean (§4 regla 4); `E` distinta ⇒ clave distinta (§4
+ regla 2); y dos réplicas convergen al fundir el `LwwMap` (anti-entropy, preview de H2c). Como la
+ clave es content-addressed y la función pura, el LWW nunca tiene conflicto real ⇒ el mapa es
+ monótono y compartible sin coordinar. **Verde ⇒ H2c desbloqueado** (compartir por la malla).
- **H2c** — (si H2b pasa) compartir la caché por la malla minga/agora. Frontera: envenenamiento
de caché por un peer ⇒ se **verifica reproduciendo** en el primer uso dudoso (no se confía en
el resultado ajeno; se confía en poder recomputarlo). Es el modelo de confianza de SDD 09