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 815Rust 56Shell 37Markdown 291229 Sutichaykuna

⎇ 42288230f9560814e356586d8b9eeb36747b95fc crates/hammer-core/src/lib.rs Rust · 39 siq'ikuna · 1.1 KB Ñawpa willay Pi imata llamkarqan ch'uya

Fase 5: política de caps del bus desde agent-caps.toml 42288230f · 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 hash;
10pub mod proto;
11pub mod query;
12pub mod recipe;
13pub mod sign;
14pub mod store;
15pub mod swm;
16
17pub use caps::{AgentCapsConfig, CapRule};
18pub use hash::ArtifactHash;
19pub use recipe::{Compiler, LinkMode, Phases, Recipe, Source, SourceKind};
20pub use sign::{KeyPair, SigStatus, TrustStore};
21pub use store::Store;
22pub use swm::{Base, BaseCompat, BaseRef, Mutation, PinDiff, Signature, Swm, SwmBuild};
23
24/// Error común del ecosistema hammer.
25#[derive(Debug, thiserror::Error)]
26pub enum Error {
27    #[error("io: {0}")]
28    Io(#[from] std::io::Error),
29    #[error("serialización: {0}")]
30    Serde(String),
31    #[error("receta inválida: {0}")]
32    Recipe(String),
33    #[error("store: {0}")]
34    Store(String),
35    #[error(transparent)]
36    Other(#[from] anyhow::Error),
37}
38
39pub type Result<T> = std::result::Result<T, Error>;