900cd19e49
Cada app tiene ahora su propia ranura de estado en el Manifiesto de Génesis (EntradaApp.estado): guarda y recobra lo suyo, sobrevive al reinicio, y no pisa a ninguna otra app. - apps/memoriosa: app WASM interactiva nueva. Cuenta las teclas pulsadas y persiste el recuento; al reiniciar despierta con su cuenta intacta. Reemplaza la 2a instancia de hola en la genesis. - kernel: capacidades sys_estado_cargar / sys_estado_guardar. El kernel custodia un manifiesto VIVO (Mutex<Manifiesto>); fijar_estado lo muta, lo re-graba en el grafo y lo re-ancla. ContextoCapacidades.indice_app da a cada app su identidad — su ranura, jamas la de otra. - cargar_userspace instala el manifiesto vivo antes de instanciar las apps: el init de una app ya consulta su estado al despertar. Verificado en QEMU (screendump + sendkey): disco virgen -> memoriosa con 0 celdas, testigo verde; 5 pulsaciones -> 5 celdas; reinicio -> 5 celdas intactas, testigo ambar (init releyo el estado del grafo). Cierra la Fase 7 — el userspace nace del grafo, completa. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
31 lines
1.0 KiB
TOML
31 lines
1.0 KiB
TOML
# =============================================================================
|
|
# renaser :: apps/memoriosa — Fase 7c :: la app que recuerda entre vidas
|
|
# -----------------------------------------------------------------------------
|
|
# Un modulo WebAssembly interactivo. Cuenta las teclas que se pulsan y graba
|
|
# ese recuento como SU estado persistido —anclado en su `EntradaApp` del
|
|
# Manifiesto de Genesis—. Al reiniciar la maquina, despierta justo donde se
|
|
# quedo: la cuenta no vive en la RAM, vive en el grafo.
|
|
# Tiene su propio `[workspace]`: queda fuera del espacio de trabajo del kernel.
|
|
# =============================================================================
|
|
|
|
[package]
|
|
name = "memoriosa"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "renaser :: app WASM memoriosa — persistencia inter-sesion por-app"
|
|
|
|
[workspace]
|
|
|
|
# `cdylib` produce un modulo `.wasm` que exporta funciones — el formato que
|
|
# wasmi instancia.
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[profile.dev]
|
|
panic = "abort"
|
|
|
|
[profile.release]
|
|
panic = "abort"
|
|
opt-level = "s"
|
|
lto = true
|