sergio/takana
> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…
⎇ 5ec7a81e876d4669ecc29c1e857a1ce3532569cf
crates/hammer-core/src/lib.rs
Historia
Quién tocó qué
crudo
Fase 4: firma Ed25519 del .swm + TrustStore local
1//! Tipos núcleo de hammer, compartidos por el lab, la CLI y el daemon.
2//!
3//! Ver `docs/01-architecture.md` y siguientes. Esto es el esqueleto de Fase 0: los tipos y
4//! contratos están definidos; la lógica pesada (sandbox, fanotify, bus) vive en los otros
5//! crates y se irá rellenando por fase.
6
7pub mod apply;
8pub mod hash;
9pub mod proto;
10pub mod query;
11pub mod recipe;
12pub mod sign;
13pub mod store;
14pub mod swm;
15
16pub use hash::ArtifactHash;
17pub use recipe::{Compiler, LinkMode, Phases, Recipe, Source, SourceKind};
18pub use sign::{KeyPair, SigStatus, TrustStore};
19pub use store::Store;
20pub use swm::{Base, BaseCompat, BaseRef, Mutation, PinDiff, Signature, Swm, SwmBuild};
21
22/// Error común del ecosistema hammer.
23#[derive(Debug, thiserror::Error)]
24pub enum Error {
25 #[error("io: {0}")]
26 Io(#[from] std::io::Error),
27 #[error("serialización: {0}")]
28 Serde(String),
29 #[error("receta inválida: {0}")]
30 Recipe(String),
31 #[error("store: {0}")]
32 Store(String),
33 #[error(transparent)]
34 Other(#[from] anyhow::Error),
35}
36
37pub type Result<T> = std::result::Result<T, Error>;