pacr-types
The PACR 6-tuple — physically annotated causal records for AI agents.
Part of the Aevum physics kernel.
What It Is
pacr-types defines the PACR 6-tuple — the immutable schema that every Aevum record must satisfy:
R = (ι, Π, Λ, Ω, Γ, P)
| Symbol | Name | Type | Physical Origin |
|---|---|---|---|
| ι | Causal Identity | CausalId (128-bit ULID) |
Logical identity |
| Π | Predecessor Set | SmallVec<[CausalId; 4]> |
Special relativity causal order |
| Λ | Landauer Cost | Estimate<f64> (joules) |
Landauer's principle |
| Ω | Resource Triple | ResourceTriple (E, T, S) |
Conservation + Margolus-Levitin |
| Γ | Cognitive Split | CognitiveSplit (S_T, H_T) |
CSSR ε-machine |
| P | Opaque Payload | bytes::Bytes |
Completeness axiom |
Key Properties
- Zero dependencies on non-std crates except
serde,smallvec,bytes,thiserror #![forbid(unsafe_code)]— trust root; zero toleranceEstimate<T>wraps every physical measurement with{ point, lower, upper }— uncertainty at the protocol levelΩ.energy ≥ Λalways enforced — actual cost cannot be less than Landauer floor- No self-reference in Π — a record cannot be its own causal predecessor
Usage
use ;
use Bytes;
let record = new
.landauer
.resources
.cognitive
.payload
.build?;
assert!;
Invariants
Estimate<T>:lower ≤ point ≤ upperalways.Estimate::new()is fallible;Estimate::exact()sets all three to the same value.Ω.energy ≥ Λ— actual energy cost ≥ Landauer floor (validated byPacrRecord::validate()).- Schema is append-only — existing fields never change semantics.
License
Apache-2.0 — see LICENSE.