YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
snapkitty-sovereign-addr
Non-recursive artifact addressing for the SnapKitty ecosystem. Same semantic artifact. Same canonical bytes. Same sovereign address. Same WORM receipt.
Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SNAPKITTY SOVEREIGN ADDRESSING β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββ ββββββββββββββββ βββββββββββββββββββββ β
β β Artifact βββββΆβ AdmissibilityβββββΆβ Unicode NFC β β
β β (JSON) β β Validator β β Normalization β β
β ββββββββββββ ββββββββββββββββ βββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β SnapCanonical JSON Serialization β β
β β (sorted keys, no whitespace, deterministic) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β SHA-256 Hashing β β
β β (64 lowercase hex chars) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β snapaddr:<64hex> Address β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β WORM Receipt β β
β β (SHA-256 sealed, timestamped) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Datalog Rules
artifact(A).
json_admissible(A).
nfc_ok(A, N).
snap_canonical(N, B).
sha256_digest(B, D).
snap_address(A, Addr) :-
artifact(A),
json_admissible(A),
nfc_ok(A, N),
snap_canonical(N, B),
sha256_digest(B, D),
concat("snapaddr:", D, Addr).
accepted(A, Addr) :-
snap_address(A, Addr),
not rejected(A, _).
rejected(A, "not_json_admissible") :-
artifact(A),
not json_admissible(A).
worm_receipt(A, Addr, Seal) :-
accepted(A, Addr),
receipt_bytes(A, Addr, R),
sha256_digest(R, Seal).
Quick Start
Install
cargo install snapkitty-sovereign-addr
CLI Usage
# Compute sovereign address from JSON file
echo '{"prime": 42, "name": "test"}' | snapaddr encode
# Output: snapaddr:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
# Generate WORM receipt
snapaddr receipt artifact.json
# Output: {"standard":"SNAPKITTY-SOVEREIGN-ADDR-1","algorithm":"snap-sha256-v1",...}
# Verify address
snapaddr verify artifact.json --address snapaddr:e3b0c442...
# Validate JSON admissibility
snapaddr validate artifact.json
Rust API
use snapkitty_sovereign_addr::{
sovereign_address,
sovereign_address_bytes,
canonical_bytes,
worm_receipt,
verify_address,
verify_receipt,
};
fn main() {
let value = serde_json::json!({
"prime": 42,
"name": "test_operator",
"metadata": {"version": "1.0"}
});
// Compute sovereign address
let addr = sovereign_address(&value).unwrap();
println!("Address: {}", addr);
// Output: snapaddr:e3b0c44298fc1c149afbf4c8996fb924...
// Compute raw address bytes
let bytes = sovereign_address_bytes(&value).unwrap();
println!("Bytes: {:?}", bytes);
// Generate WORM receipt
let receipt = worm_receipt(&value).unwrap();
println!("Receipt: {}", serde_json::to_string_pretty(&receipt).unwrap());
// Verify address
assert!(verify_address(&value, &addr).unwrap());
// Verify receipt
assert!(verify_receipt(&receipt).unwrap());
}
Interactive Demo
# Demo 1: Key ordering invariance
$ echo '{"b": 2, "a": 1}' | snapaddr encode
snapaddr:7819c7f8a8b...
$ echo '{"a": 1, "b": 2}' | snapaddr encode
snapaddr:7819c7f8a8b... # Same address!
# Demo 2: Unicode NFC equivalence
$ echo '{"name": "Γ©"}' | snapaddr encode
snapaddr:a1b2c3d4...
$ echo '{"name": "\u0065\u0301"}' | snapaddr encode
snapaddr:a1b2c3d4... # Same address!
# Demo 3: WORM receipt verification
$ snapaddr receipt test.json | jq .status
"accepted"
$ snapaddr receipt test.json | jq .seal
"snapaddr:e3b0c44298fc1c149afbf4c8996fb924..."
Algorithm
- Validate JSON admissibility β non-recursive staged traversal
- Normalize strings to Unicode NFC β canonical form
- Serialize canonical JSON β sorted keys, no whitespace
- Hash with SHA-256 β 64 lowercase hex chars
- Emit snapaddr:<digest> β sovereign address
- Generate WORM receipt β SHA-256 sealed, timestamped
Invariants
| Invariant | Description |
|---|---|
| No Recursion | All validation is staged traversal, never recursive |
| Deterministic | Same input always produces same output |
| WORM Sealed | Every artifact is write-once, read-many |
| Fail-Closed | Any error terminates processing |
| Observable | Every intermediate state is inspectable |
Testing
# Run all tests
cargo test
# Run property tests
cargo test properties
# Run with output
cargo test -- --nocapture
Receipt Shape
{
"standard": "SNAPKITTY-SOVEREIGN-ADDR-1",
"algorithm": "snap-sha256-v1",
"canonicalization": "snapcanonical-json+nfc",
"address": "snapaddr:e3b0c44298fc1c149afbf4c8996fb924...",
"status": "accepted",
"seal": "snapaddr:a1b2c3d4e5f6...",
"governance": "agent-review-pending"
}
License
Sovereign Source License β see SOVEREIGN.md
SNAPADDR-NONREC-001
Normalize. Canonicalize. Hash. Seal. Govern.
Same artifact. Same address.
No recursion. No borrowed thesis.
Citation
If you use this work, please cite:
@misc{snapkittywest2026sovereigncompute,
title = {SNAPKITTYWEST: Sovereign Compute Architecture with Linear Types, WORM Seals, and Goldilocks Field Arithmetic},
author = {SnapKitty Collective},
year = {2026},
doi = {10.5281/zenodo.21132094},
url = {https://doi.org/10.5281/zenodo.21132094}
}
Paper: https://doi.org/10.5281/zenodo.21132094 ORCID: https://orcid.org/0009-0006-1916-5245
Inference Providers NEW
This model isn't deployed by any Inference Provider. π Ask for provider support