1# format — el formato nativo de gioser
2
3Tipos canónicos del **DAG direccionado por contenido** (BLAKE3 + postcard),
4compartidos entre host y kernel `wawa`. `#![no_std]` — cruza la frontera al
5kernel bare-metal por `path`. Es el formato en el que TODO el suite trabaja en
6nativo (los formatos ajenos entran por `shared/foreign-*` y se convierten a
7esto).
8
9## Módulos
10
11- `tipos` — objetos, hashes, identidades de contenido.
12- `cable` — referencias entre objetos (aristas del DAG).
13- `firma` — firmas Ed25519 y verificación.
14- `pruebas` — pruebas de revocación de capacidades (WAWA.md §14.1.3).
15- `grafo` — construcción/recorrido del DAG.
16- `constantes` — parámetros del formato (tamaños, versiones).
17
18## Estado (2026-05-31)
19
20### Hecho
21- Tipos canónicos del DAG (objetos, cables, hashes) en `no_std`, validados en
22 `wasm32-unknown-unknown` por `scripts/check-shared-cores.sh`.
23- Firma/verificación Ed25519 (`firma`) y pruebas de revocación (`pruebas`),
24 canónicos compartidos kernel↔host para el enforcement §14.1.3.
25- `lib.rs` (2327 LOC) **dividido en módulos temáticos** (cable/firma/grafo/…).
26- Suite amplia (~52 tests).
27
28### Pendiente
29- Versionado/migración del formato en disco (campo de versión existe; políticas
30 de upgrade aún por definir).
31- Más cobertura de los caminos de revocación end-to-end.
32
33## Lugar en el repo
34
35`shared/format` — núcleo `no_std` compartido. Lo consumen apps, `agora` y el
36kernel `wawa`.
README.md
format — el formato nativo de gioser
Tipos canónicos del DAG direccionado por contenido (BLAKE3 + postcard),
compartidos entre host y kernel wawa. #![no_std] — cruza la frontera al
kernel bare-metal por path. Es el formato en el que TODO el suite trabaja en
nativo (los formatos ajenos entran por shared/foreign-* y se convierten a
esto).
Módulos
tipos — objetos, hashes, identidades de contenido.
cable — referencias entre objetos (aristas del DAG).
firma — firmas Ed25519 y verificación.
pruebas — pruebas de revocación de capacidades (WAWA.md §14.1.3).
grafo — construcción/recorrido del DAG.
constantes — parámetros del formato (tamaños, versiones).
Estado (2026-05-31)
Hecho
- Tipos canónicos del DAG (objetos, cables, hashes) en
no_std, validados en
wasm32-unknown-unknown por scripts/check-shared-cores.sh.
- Firma/verificación Ed25519 (
firma) y pruebas de revocación (pruebas),
canónicos compartidos kernel↔host para el enforcement §14.1.3.
lib.rs (2327 LOC) dividido en módulos temáticos (cable/firma/grafo/…).
- Suite amplia (~52 tests).
Pendiente
- Versionado/migración del formato en disco (campo de versión existe; políticas
de upgrade aún por definir).
- Más cobertura de los caminos de revocación end-to-end.
Lugar en el repo
shared/format — núcleo no_std compartido. Lo consumen apps, agora y el
kernel wawa.