Skip to main content

deputy_core/
lib.rs

1//! # deputy-core
2//!
3//! Domain types, the dependency-artifact state machine, and the trait contracts every
4//! other Deputy crate depends on. **This crate performs no I/O** — it is the stable
5//! interface layer described in `docs/ARCHITECTURE.md` §5, so implementations and tests
6//! depend on contracts rather than on each other.
7#![forbid(unsafe_code)]
8
9mod error;
10mod ids;
11mod state;
12mod traits;
13
14pub use error::{Error, Result};
15pub use ids::{
16    ArtifactRef, ContentHash, DepName, DepRef, EcosystemId, HashAlgo, Pin, RepoId, SourceId,
17    Version,
18};
19pub use state::{ArtifactState, Finding, ScanVerdict, Severity};
20pub use traits::{ArtifactStore, DepEcosystem, MetadataStore, StoreKind};