From fdfaab5151002b395c2b8a89df0fd2b3d234dd53 Mon Sep 17 00:00:00 2001 From: sergio Date: Sat, 4 Jul 2026 06:31:57 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20SDD=2015=20=C2=A7H3b=20hecho=20?= =?UTF-8?q?=E2=80=94=20c=C3=B3digo=20por=20contenido=20estilo=20Unison=20s?= =?UTF-8?q?obre=20el=20grano=20wasm=20de=20H2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El núcleo del modelo Unison (definir por hash, nombres como metadata, actualizar sin romper, componer por hash) se sostiene sobre el runtime de wawa. Implementación en tawasuyu wawa-memo/src/base.rs (8 tests verdes). Frontera: es el subconjunto que wasm+BLAKE3+H2 sostienen, no el colapso total paquete=función=proceso (sigue ambición, no promesa). Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/15-frontier-ai-native.md | 37 ++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/docs/15-frontier-ai-native.md b/docs/15-frontier-ai-native.md index 203caa10..ca653413 100644 --- a/docs/15-frontier-ai-native.md +++ b/docs/15-frontier-ai-native.md @@ -169,14 +169,31 @@ proyecto, no una fase. por-símbolo como **metadata** (extender `parse_elf_needed`, `query.rs:298`, para emitir exports de `.dynsym` además de `DT_NEEDED`), fuera de `hash_inputs` (misma disciplina que la evidencia de H1). El grano fino real (función-por-hash) se difiere a H3b sobre **wasm**, gateado por H2. -- **H3b** — (exploratorio, opcional) Un experimento aislado: una base content-addressed de - funciones **wasm** (grano: un `.wasm` por función pura de H2), viendo si el modelo "insertar - definición, nunca romper" se sostiene sobre el runtime de wawa. Es el subconjunto de Unison - que nuestro stack *ya* podría soportar (wasm + BLAKE3 + determinismo H2), sin un lenguaje nuevo. +- **H3b** ✅ — (exploratorio) Base content-addressed de funciones **wasm** (grano: un `.wasm` por + función pura de H2), verificando si "insertar definición, nunca romper" se sostiene sobre el + runtime de wawa. Es el subconjunto de Unison que el stack *ya* soporta (wasm + BLAKE3 + + determinismo H2), sin un lenguaje nuevo. + **Hecho (2026-07-04, en `wawa-memo/src/base.rs` + `tests/h3b.rs`):** el módulo `base` monta la + `Base` content-addressed sobre el grano de H2. Cuatro propiedades Unison, todas verificadas + (8 tests verdes): **(1) identidad = `blake3(bytecode)`** — `definir` es idempotente y deduplica + (structural sharing); **(2) los nombres humanos son metadata separada** (`nombre → Id`) — nombrar + jamás toca `defs`; **(3) actualizar no rompe** (el corazón) — una referencia es un `Termino::Ref(Id)`, + un hash; "actualizar f" = insertar def nueva (hash nuevo) + rebindear el nombre, y todo lo que + apuntaba al hash viejo **evalúa idéntico** (v1 y v2 coexisten, ninguna se sobreescribe); **(4) + composición por hash** — un programa es un árbol de hashes (`Termino::Componer`), su identidad + `blake3(árbol)` es estable e **independiente del mapa de nombres**. Extras: una referencia + colgante **falla con `Carga` sin mentir** (el hash no se resuelve en silencio a otra cosa), las + fallas deterministas de H2 se propagan por la composición, y **evaluar reusa el `Memo`** (cada + hoja `Ref` se memoiza) — código direccionado por contenido + cómputo direccionado por contenido + = el mismo hash, la tesis de §H3 mostrada en pequeño. **Frontera:** NO es Unison entero (sin + 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). -**Frontera honesta.** No prometer "una distro donde paquete = función = proceso" hasta que H3b -demuestre que el grano fino se sostiene sobre wasm. Es la idea más disruptiva y la menos madura; -tratarla como tal. +**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, +componer por hash) se sostiene sobre wasm, no que el grano fino intra-función o el colapso total +lo hagan. Es la idea más disruptiva; su núcleo ya está verde, su ambición máxima sigue abierta. --- @@ -187,7 +204,7 @@ H1 (proof-carrying) ── extensión natural del VERIFY actual ──► arran H2a (auditar determinismo wasm) ──► gate de todo H2 (spike wawa) └► H2b (caché local) ──► H2c (caché de malla) [sólo si H2a da verde] H3a (design-doc) ──► registrar la visión, barato - └► H3b (experimento wasm-por-función) [depende de H2 puro] + └► H3b ✅ (experimento wasm-por-función) [sobre H2 puro: núcleo Unison verde] ``` Recomendación: **H1 primero** (empuja la frontera que ya tenemos, sin apuestas). **H2a** en @@ -201,4 +218,6 @@ no construir. H2c y H3b son futuro condicionado a verdes previos. - **No reclama verificación formal del sistema.** H1 estratifica evidencia y la reporta; "verificado bajo supuestos", no "invulnerable". - **No promete memoización de malla sin determinismo probado** (H2a es el gate). -- **No promete el colapso Unison** hasta que H3b lo demuestre sobre wasm. Design-doc primero. +- **No promete el colapso Unison.** H3b (✅) demostró que su *núcleo* (definir por hash, nombres + como metadata, actualizar sin romper, componer por hash) se sostiene sobre wasm; el colapso + total (paquete = función = proceso, grano intra-función) sigue siendo ambición, no promesa.