tawasuyu/hifas
Motor en Rust para decidir, con demostración y no a ojo, cuándo un conjunto de réplicas local-first puede operar sin coordinación y cuándo no — y, cuando la respuesta es "sí, dentro de límites", proveer el mecanismo que lo garantiza.
M0/T0: scaffold del crate sheafsync
1//! Errores tipados de la librería (§5.1). Nada de `unwrap()` en rutas públicas.
2
3use thiserror::Error;
4
5/// Error raíz de `sheafsync`.
6#[derive(Debug, Error)]
7pub enum SheafError {
8 /// Dimensiones incompatibles al ensamblar el coboundary o multiplicar matrices.
9 #[error("dimensiones incompatibles: {0}")]
10 DimensionMismatch(String),
11
12 /// El haz referencia una réplica o arista que no existe en el nervio.
13 #[error("entidad inexistente en el nervio: {0}")]
14 MissingEntity(String),
15
16 /// Marcador de funcionalidad aún no implementada (scaffolding M0).
17 #[error("no implementado todavía: {0}")]
18 NotImplemented(&'static str),
19}
20
21/// Alias de resultado usado en toda la librería.
22pub type Result<T> = std::result::Result<T, SheafError>;