File size: 1,644 Bytes
103262d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# SOVEREIGN.md β€” snapkitty-sovereign-addr Covenant

## Sovereign Addressing Standard

**SNAPKITTY-SOVEREIGN-ADDR-1**

This crate implements non-recursive artifact addressing for the SnapKitty ecosystem.

## Core Thesis

```

Same semantic artifact.

Same canonical bytes.

Same sovereign address.

Same WORM receipt.

```

## Algorithm

1. Validate JSON admissibility (non-recursive staged traversal)
2. Normalize all strings to Unicode NFC
3. Serialize canonical JSON (sorted keys, no whitespace)
4. Hash canonical bytes with SHA-256
5. Emit snapaddr:<64hex>
6. Generate WORM receipt
7. Never recurse in validation rules

## Invariants

1. **No Recursion**: All validation is staged traversal, never recursive
2. **Deterministic**: Same input always produces same output
3. **WORM Sealed**: Every artifact is write-once, read-many
4. **Fail-Closed**: Any error terminates processing
5. **Observable**: Every intermediate state is inspectable

## Rules

- `artifact(A)` β€” Any JSON value is an artifact
- `json_admissible(A)` β€” Artifact passes admissibility checks
- `nfc_ok(A, N)` β€” All strings normalized to NFC
- `snap_canonical(N, B)` β€” Canonical bytes produced
- `sha256_digest(B, D)` β€” SHA-256 of canonical bytes
- `snap_address(A, Addr)` β€” Sovereign address computed
- `accepted(A, Addr)` β€” Artifact accepted
- `rejected(A, Reason)` β€” Artifact rejected with reason
- `worm_receipt(A, Addr, Seal)` β€” WORM receipt generated

## Seal

```

SNAPADDR-NONREC-001

Normalize. Canonicalize. Hash. Seal. Govern.

Same artifact. Same address.

No recursion. No borrowed thesis.

```