feat(renaser): Fase 7c — persistencia inter-sesión por-app
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>
This commit is contained in:
+9
-7
@@ -23,12 +23,15 @@ Verificación headless (sin ventana): añadir
|
||||
`-- -display none -monitor unix:/tmp/q.sock,server,nowait` y capturar con
|
||||
`screendump` por el socket del monitor.
|
||||
|
||||
Reconstruir la app WASM del userspace tras tocar `apps/hello_wasm`:
|
||||
Reconstruir una app WASM del userspace tras tocarla. Los `.wasm` viven en
|
||||
`kernel/assets/` —de ahí los lee `boot` al sembrar la imagen (Fase 7b)—; el
|
||||
modulo `hello_wasm` se copia como `app.wasm`, el resto conserva su nombre:
|
||||
|
||||
```sh
|
||||
cd apps/hello_wasm
|
||||
cd apps/<app> # hello_wasm, discola, glotona, cronista, memoriosa
|
||||
cargo build --target wasm32-unknown-unknown --release
|
||||
cp target/wasm32-unknown-unknown/release/hello_wasm.wasm ../../kernel/assets/app.wasm
|
||||
cp target/wasm32-unknown-unknown/release/<app>.wasm ../../kernel/assets/<app>.wasm
|
||||
# (hello_wasm es la excepcion: su destino es kernel/assets/app.wasm)
|
||||
```
|
||||
|
||||
## Estructura del espacio de trabajo
|
||||
@@ -70,10 +73,9 @@ QEMU 11, OVMF en `/usr/share/edk2/x64/OVMF.4m.fd` (sin módulo KVM → TCG).
|
||||
|
||||
## Estado
|
||||
|
||||
Fases 1 a 5, 6.0, 6.1 y 6.2 completas; y la Fase 7 —el userspace nace del
|
||||
grafo de objetos— en sus sub-fases 7a (Manifiesto de Génesis, carga desde el
|
||||
grafo) y 7b (`boot` siembra la imagen, muere el `include_bytes!` del kernel).
|
||||
Todo verificado en QEMU. Pendiente: 7c (persistencia inter-sesión). Ver
|
||||
Fases 1 a 5, 6.0, 6.1, 6.2 y la Fase 7 COMPLETA —el userspace nace del grafo
|
||||
de objetos: Manifiesto de Génesis (7a), imagen sembrada por `boot` (7b) y
|
||||
persistencia inter-sesión por-app (7c)—. Todo verificado en QEMU. Ver
|
||||
`ROADMAP.md`.
|
||||
|
||||
## Flujo de trabajo
|
||||
|
||||
Reference in New Issue
Block a user