53dbdf0f1d
Workspace en 4 ejes (core/modules/apps/shared):
- core/: 24 crates de arje (Init systemd-compatible: ente-card, ente-zero,
ente-kernel, ente-bus, ente-cas, ente-soma, ente-wasm, ente-snapshot,
ente-brain, ente-echo, ente-policy-provider, + 12 crates *-compat)
- modules/semantic_dht/: 5 crates de minga (minga-core con AST/CAS/MST,
minga-p2p con libp2p Kad, minga-store, minga-vfs, minga-cli)
- modules/ui_engine/: 11 crates de yahweh (libs/{core,theme,bus,providers},
widgets/{tree,splitter,tabs,tiled,container_core,text_input})
- apps/: 5 crates de yahweh (file_explorer, database_explorer, text_viewer,
image_viewer, yahweh-shell)
- shared_wit/protocol.wit: handshake/lifecycle inicial
Cargo.toml unificado: thiserror bumped a 2 (transparente para arje), tokio
"full", paths intra-workspace de yahweh redirigidos a su nueva ubicación.
cargo check --workspace: 0 errores, 17 warnings (dead code preexistente).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
27 lines
1.0 KiB
Rust
27 lines
1.0 KiB
Rust
//! minga-p2p: protocolo de sincronización entre repositorios Minga.
|
|
//!
|
|
//! Este crate define el **protocolo** y la **máquina de estados** de la
|
|
//! sincronización P2P, sin acoplarse a un transporte concreto. Un peer
|
|
//! manipula una `SyncSession` (puramente lógica) que consume mensajes
|
|
//! entrantes y produce mensajes salientes; el transporte real —libp2p,
|
|
//! HTTP, in-memory, lo que sea— se reduce a serializar/deserializar y
|
|
//! mover bytes.
|
|
//!
|
|
//! Este orden refleja el principio bottom-up del proyecto: validamos la
|
|
//! convergencia del protocolo con un `harness` in-memory determinístico
|
|
//! antes de invertir en async runtime + libp2p.
|
|
|
|
pub mod async_driver;
|
|
pub mod harness;
|
|
pub mod message;
|
|
pub mod network;
|
|
pub mod peer;
|
|
pub mod session;
|
|
|
|
pub use async_driver::{run_sync_async, AsyncSyncError};
|
|
pub use harness::{run_sync, SyncStats};
|
|
pub use message::Message;
|
|
pub use network::{DiscoveredPeer, LibP2pNode, NodeError, SYNC_PROTOCOL};
|
|
pub use peer::{MingaPeer, PeerOpenError, PeerSyncError};
|
|
pub use session::SyncSession;
|