stack_ids/lib.rs
1//! # stack-ids
2//!
3//! Shared identity, scope, and trace primitives for the local-first AI systems stack.
4//!
5//! This crate is the single source of truth for cross-crate identity types.
6//! No other crate in the stack should define competing ID newtypes for the
7//! same concepts.
8//!
9//! ## Authority
10//!
11//! `stack-ids` is authoritative for:
12//! - Opaque ID newtypes (EnvelopeId, ClaimId, ClaimVersionId, EntityId,
13//! EpisodeId, AttemptId, TrialId, ArtifactId, ProjectionId, RelationId,
14//! RelationVersionId, ImportBatchId, KernelRunId, ConstraintId,
15//! HyperedgeId, ResidualId, SyndromeId, WitnessId, CertificateId,
16//! OracleSliceId, RefutationResultId, OperatorId, OperatorVersionId,
17//! CalibrationReportId)
18//! - Scope representation (ScopeKey, Scope)
19//! - Trace context (TraceCtx, W3C trace-context helpers)
20//! - Content digest computation (canonical BLAKE3 digest)
21//!
22//! `stack-ids` is NOT authoritative for:
23//! - What data these IDs point to (owned by respective crates)
24//! - Storage schemas (owned by persistence crates)
25//! - Business logic or policy (owned by domain crates)
26//!
27//! ## Phase status: current / implemented now
28
29mod digest;
30mod ids;
31mod scope;
32mod status;
33mod trace;
34mod v25;
35
36pub use digest::*;
37pub use ids::*;
38pub use scope::*;
39pub use status::*;
40pub use trace::*;
41pub use v25::*;