northroot_proof_engine/
lib.rs

1//! Engine v0.2.0 - LOCKED
2//! DO NOT MODIFY without version bump
3//! Last frozen: 2025-11-06
4//!
5//! Northroot Proof Engine v0.2 — Core proof computation and validation library
6//!
7//! This library provides the foundational cryptographic and validation primitives
8//! for the modular proof architecture (PoSH, PoX).
9//!
10//! # Architecture
11//!
12//! - **PoSH (Proof of Shape)**: Method transformation contracts
13//! - **PoX (Proof of Execution)**: Run evidence and commitments
14//!
15//! # Modules
16//!
17//! - `types`: v0.2 proof type definitions
18//! - `canonical`: Deterministic JSON canonicalization
19//! - `hash`: SHA-256 hash computation
20//! - `signature`: ed25519 signature handling
21//! - `validation`: Input validation functions
22//! - `data_shape`: Data shape hashing
23//! - `ids`: OTEL ID validation (legacy compatibility)
24
25pub mod canonical;
26pub mod data_shape;
27pub mod hash;
28pub mod ids;
29pub mod signature;
30pub mod types;
31pub mod validation;
32
33// Re-export commonly used types
34pub use types::{
35    ArtifactRef, Did, IsoTime, MethodRef, MethodShapeManifest, RuntimePins, Sha256, Signature,
36    SignedSpan, SpanCommitment, SpanMeta, SpanShape, SpanStatus, Trace, TraceRoots, Uri,
37};
38
39// Re-export canonicalization functions
40pub use canonical::{
41    canonicalize_method_shape, canonicalize_span_commitment, canonicalize_span_shape,
42    canonicalize_trace, canonicalize_trace_roots, normalize_timestamp, CanonicalError,
43};
44
45// Re-export hash functions
46pub use hash::{
47    compute_identity_root, compute_method_shape_hash, compute_method_shape_root, compute_sha256,
48    compute_span_commitment_hash, compute_span_shape_hash, compute_trace_hash,
49    compute_trace_roots_hash, compute_trace_seq_root, compute_trace_set_root, HashError,
50};
51
52// Re-export signature functions
53pub use signature::{
54    sign_message, sign_span_commitment, validate_signature_format, verify_signature,
55    verify_span_commitment_signature, SignatureError,
56};
57
58// Re-export validation functions
59pub use validation::{
60    validate_iso_time, validate_method_ref, validate_sha256_format, validate_span_commitment,
61    validate_span_id, validate_trace_id, ValidationError,
62};
63
64// Re-export data shape functions
65pub use data_shape::{compute_data_shape_hash, validate_data_shape_hash, DataShapeError};
66
67// Re-export ID validation (for OTEL compatibility)
68pub use ids::{
69    validate_span_id as validate_otel_span_id, validate_trace_id as validate_otel_trace_id,
70    OtelIdError,
71};