550c98f275
Reorganización física de crates/: - core/ (mezclaba 6 propósitos) se divide en protocol/, init/, runtime/, compat/ - shared/ (3 crates) se redistribuye en protocol/ e init/ - lapaloma (sub-módulo de ui_engine) se promueve a modules/pineal/ Renames de proyectos: - shipote → shuma (runtime de sandboxes) - nouser → akasha (explorador de Mónadas) - yahweh → nahual (motor GPUI, antes ui_engine/) - lapaloma → pineal (data-viz agnóstica) Fraccionamiento UI → core agnóstico: - vista-core (DeckState + snap, 175 LOC, 5 tests verdes) - barra-core (Task + render_html + sanitize, 90 LOC, 5 tests verdes) - vista-web y barra-web ahora son thin DOM bindings Documentación nueva: - 16 SDDs por subdirectorio (≤80 LOC c/u): protocol/init/runtime/compat + 10 módulos + apps/ - docs/STATUS.md con cifras reales por proyecto - docs/ROADMAP.md con plan a finalización (6 hitos, ~6-8 semanas) - CHANGELOG.md particionado en docs/changelog/<proyecto>.md (7 buckets) Automatización: - scripts/reorg.py — script idempotente que: git mv directorios, renombra package names, recomputa path = refs, reescribe imports rust, actualiza workspace Cargo.toml. Soporta --dry-run. - scripts/split-changelog.py — particiona CHANGELOG por componente. Validación: - cargo check --workspace pasa (124 crates + 2 nuevos cores). - 10 tests adicionales (5 en vista-core + 5 en barra-core) verdes. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
34 lines
1.2 KiB
Rust
34 lines
1.2 KiB
Rust
//! `brahman-handshake` — protocolo runtime Init↔módulo sobre Unix socket.
|
|
//!
|
|
//! Implementa la versión concreta de `shared_wit/protocol.wit` (handshake +
|
|
//! lifecycle): un servidor que vive en el Init (o un Admin proxy) y clientes
|
|
//! que son los módulos Brahman. Cada conexión arranca con un `Hello` que
|
|
//! lleva una [`brahman_card::Card`]; el servidor valida la Card, deriva el
|
|
//! [`TrustLevel`], emite un `HelloAck` con `session-id` ULID, y a partir de
|
|
//! ahí acepta `Ping`/`Farewell`.
|
|
//!
|
|
//! Wire format: frames length-prefixed (4 bytes LE) con cuerpo
|
|
//! [`postcard`]-codificado. Compacto, rápido y reversible.
|
|
//!
|
|
//! Esto NO es la implementación WIT/WASM (que generaría wit-bindgen). Es la
|
|
//! implementación nativa Rust↔Rust que cubre el caso común antes de que los
|
|
//! módulos WASM consuman el mismo contrato vía ABI generada.
|
|
|
|
#![forbid(unsafe_code)]
|
|
#![warn(rust_2018_idioms)]
|
|
|
|
pub mod codec;
|
|
pub mod identity;
|
|
pub mod messages;
|
|
pub mod server;
|
|
pub mod client;
|
|
pub mod network;
|
|
pub mod peer_policy;
|
|
pub mod signature;
|
|
pub mod transport;
|
|
|
|
pub use brahman_card::PROTOCOL_VERSION;
|
|
|
|
/// Versión del crate de handshake (independiente de `PROTOCOL_VERSION`).
|
|
pub const HANDSHAKE_VERSION: &str = env!("CARGO_PKG_VERSION");
|