tawasuyu

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 1555Shell 203Rust 109Markdown 993728 Sutichaykuna

⎇ 1fc8c97617199b1704363aa2d9bc7f70b391a425 crates/hammer-core/src/lib.rs Rust · 32 siq'ikuna · 929 B Ñawpa willay Pi imata llamkarqan ch'uya

Fase 0+1 cerradas: GNU grep 3.12 real construido e hidratado 1fc8c9761 · 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 hash;
8pub mod recipe;
9pub mod store;
10pub mod swm;
11
12pub use hash::ArtifactHash;
13pub use recipe::{Compiler, LinkMode, Phases, Recipe, Source, SourceKind};
14pub use store::Store;
15pub use swm::Swm;
16
17/// Error común del ecosistema hammer.
18#[derive(Debug, thiserror::Error)]
19pub enum Error {
20    #[error("io: {0}")]
21    Io(#[from] std::io::Error),
22    #[error("serialización: {0}")]
23    Serde(String),
24    #[error("receta inválida: {0}")]
25    Recipe(String),
26    #[error("store: {0}")]
27    Store(String),
28    #[error(transparent)]
29    Other(#[from] anyhow::Error),
30}
31
32pub type Result<T> = std::result::Result<T, Error>;