Skip to main content

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, GraphRunId,
15//!   GraphCheckpointAttemptId, QueueJobId, BatchJobId, ConstraintId,
16//!   HyperedgeId, ResidualId, SyndromeId, WitnessId, CertificateId,
17//!   OracleSliceId, RefutationResultId, OperatorId, OperatorVersionId,
18//!   CalibrationReportId)
19//! - Scope representation (ScopeKey, Scope)
20//! - Trace context (TraceCtx, W3C trace-context helpers)
21//! - Content digest computation (canonical BLAKE3 digest)
22//!
23//! `stack-ids` is NOT authoritative for:
24//! - What data these IDs point to (owned by respective crates)
25//! - Storage schemas (owned by persistence crates)
26//! - Business logic or policy (owned by domain crates)
27//!
28//! ## Phase status: current / implemented now
29
30mod digest;
31mod ids;
32mod scope;
33mod status;
34mod trace;
35mod v25;
36
37pub use digest::*;
38pub use ids::*;
39pub use scope::*;
40pub use status::*;
41pub use trace::*;
42pub use v25::*;