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>
This commit is contained in:
@@ -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ó).
|
||||
|
||||
Reference in New Issue
Block a user