gioser

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…

TOML 1483Shell 181Rust 107Markdown 963619 Definiciones

⎇ d797fc472d7c648b433d956ade3fe7713e4e93e4 crates/hammer-core/src/lib.rs Rust · 52 líneas · 1.5 KB Historia Quién tocó qué crudo

hash: el toolchain del lab entra en hash_inputs — el corpus entero se re-hashea 58d31618b · Sergio ·

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 caps;
9pub mod compat;
10pub mod differs;
11pub mod hash;
12pub mod installed;
13pub mod kernel;
14pub mod lab;
15pub mod proto;
16pub mod query;
17pub mod recipe;
18pub mod repo;
19pub mod sign;
20pub mod store;
21pub mod swm;
22
23pub use caps::{AgentCapsConfig, CapRule};
24pub use differs::{why_differs, Causa, Divergencia, Informe};
25pub use hash::ArtifactHash;
26pub use installed::{InstalledDb, InstalledPackage};
27pub use compat::Veredicto as CompatVeredicto;
28pub use recipe::{
29    CheckOutcome, Compiler, Deps, Evidence, EvidenceCheck, EvidenceKind, LinkMode, Phases, Recipe,
30    Slots, Source, SourceKind,
31};
32pub use repo::{PackageEntry, RepoIndex};
33pub use sign::{KeyPair, SigStatus, TrustStore};
34pub use store::Store;
35pub use swm::{Base, BaseCompat, BaseRef, Mutation, PinDiff, Signature, Swm, SwmBuild};
36
37/// Error común del ecosistema hammer.
38#[derive(Debug, thiserror::Error)]
39pub enum Error {
40    #[error("io: {0}")]
41    Io(#[from] std::io::Error),
42    #[error("serialización: {0}")]
43    Serde(String),
44    #[error("receta inválida: {0}")]
45    Recipe(String),
46    #[error("store: {0}")]
47    Store(String),
48    #[error(transparent)]
49    Other(#[from] anyhow::Error),
50}
51
52pub type Result<T> = std::result::Result<T, Error>;