From ea2dface8216b1e329c41f2081e013881701b3e3 Mon Sep 17 00:00:00 2001 From: sergio Date: Fri, 3 Jul 2026 20:07:33 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20SDD=2015=20=C2=A7H2b=20hecho=20?= =?UTF-8?q?=E2=80=94=20memoizaci=C3=B3n=20de=20ejecuci=C3=B3n=20wasm=20(c?= =?UTF-8?q?=C3=B3mputo=20como=20dato)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/15-frontier-ai-native.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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