tawasuyu

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 1572Shell 203Rust 109Markdown 993728 Definitions

docs: SDD 15 §H2a hecho — auditoría de determinismo wasm de wawa

El subconjunto puro ya existe (ejecutar_dinamico/_v2, linker vacío); H2a lo
sella con un contrato de clave de caché + hash-de-entorno. Deliverable en
tawasuyu/03_ukupacha/wawa/SDD-determinismo.md. Desbloquea H2b (prototipo de
memoización local blake3(módulo)⊕blake3(entrada)→salida).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

7a708aa282a49996b791676d715960984407b464 · by sergio · (3 months ago) · parent 6ac6438c0 · browse the tree at this commit

Semantic delta

No definition changed: this change is text, documentation or data.

1 files · +8 −1

diff --git a/docs/15-frontier-ai-native.md b/docs/15-frontier-ai-native.md
index 26090726..05b4daef 100644
--- a/docs/15-frontier-ai-native.md
+++ b/docs/15-frontier-ai-native.md
@@ -101,10 +101,17 @@ capacidad expuesta (tiempo, random, I/O) filtre no-determinismo a la salida hash
 spike de wawa, no de hammer.
 
 **Tickets (spike, no fase):**
-- **H2a** — Auditar determinismo del runtime wasm de wawa: enumerar toda fuente de no-determinismo
+- **H2a** ✅ — Auditar determinismo del runtime wasm de wawa: enumerar toda fuente de no-determinismo
   alcanzable por una app (`wawa-kernel/src/wasm/`), y definir el subconjunto "puro" (módulo +
   entrada explícita, sin syscalls no deterministas). Salida: un doc `wawa/SDD` §determinismo con
   el veredicto honesto (qué es puro, qué no).
+  **Hecho (2026-07-03):** `tawasuyu/03_ukupacha/wawa/SDD-determinismo.md`. Veredicto: el subconjunto
+  puro **ya existe** en el código (`ejecutar_dinamico`/`_v2`, `wasm/mod.rs:335,430` — linker VACÍO +
+  reloj virtual + fuel/memoria fijos + wasmi 1.0 sin simd). H2a no era construirlo sino **sellarlo**:
+  contrato de clave `blake3(módulo)⊕blake3(entrada)⊕E` con `E` = hash-de-entorno (pin wasmi/features/
+  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
   (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ó).