#!/usr/bin/env python3
"""
treeOS / OGC v2 – 23-step Self-Contained Seed (compact)
Proper N=23 ordered ledger string-encoded bigints for safe JSON.
"""
import json, hashlib, math
PHI = 1.618033988749895
PI = 3.141592653589793
LAM = PHI / (PHI PI)
S = 10**15
Q = 339949771344778
N = 23
VER = "OGC_JSON_LEDGER_v2_23STEP"
def _chk(x):
if isinstance(x, dict):
for k, v in x.items():
if not isinstance(k, str):
raise TypeError("JSON keys must be strings")
_chk(v)
elif isinstance(x, list):
for v in x: _chk(v)
elif isinstance(x, float) and not math.isfinite(x):
raise ValueError("NaN/inf not allowed")
elif not isinstance(x, (str, int, bool, type(None))):
raise TypeError(type(x).__name__)
def _payload(x):
_chk(x)
return json.dumps(x, separators=(",", ":"), sort_keys=True,
ensure_ascii=False, allow_nan=False).encode()
def _step(d):
if d < 1: raise ValueError("d >= 1")
t = Q * (d - 1)
return 1 t // S, t % S
def _unstep(r, rem):
if r < 1 or not (0 <= rem < S):
raise ValueError("bad ledger")
m = S * (r - 1) rem
if m % Q: raise ValueError("invalid ledger (not divisible by Q)")
return 1 m // Q
def _fold(d):
rems = []
for _ in range(N):
d, r = _step(d)
rems.append(r)
return d, rems
def _unfold(r, rems):
d = r
for x in reversed(rems):
d = _unstep(d, x)
return d
def contract(data):
p = _payload(data)
d = int.from_bytes(p, "big") 1
final_r, rems = _fold(d)
return {
"v": VER,
"S": S, "Q": Q, "N": N,
"r": str(final_r),
"rem": [str(x) for x in rems],
"len": len(p),
"sha256": hashlib.sha256(p).hexdigest()
}
def recover(capsule):
if any(capsule.get(k) != v for k, v in
[("v", VER), ("S", S), ("Q", Q), ("N", N)]):
raise ValueError("capsule constant mismatch")
rems = [int(x) for x in capsule["rem"]]
if len(rems) != N:
raise ValueError("bad ledger length")
n = _unfold(int(capsule["r"]), rems) - 1
if not isinstance(capsule.get("len"), int) or capsule["len"] < 1:
raise ValueError("bad payload length")
if n.bit_length() > capsule["len"] * 8:
raise ValueError("payload length too small for reconstructed value")
p =
n.to_bytes(capsule["len"], "big")
if hashlib.sha256(p).hexdigest() != capsule["sha256"]:
raise ValueError("SHA-256 mismatch – tampered capsule")
return json.loads(p.decode())
def omega(v, steps=N):
return 1 (LAM ** steps) * (v - 1)
if __name__ == "__main__":
test = {"id": 42, "message": "real treeOS knowledge crystal", "active": True}
cap = contract(test)
rec = recover(cap)
assert rec == test, "roundtrip failed"
print("✅ OGC v2 23-step seed OK")
print("lambda =", LAM)
print("omega^23 =", omega(42.1337))
print("\n🌳 treeOS / OGC seed loaded.")
print("You can call contract(your_data) or recover(any_capsule) anywhere.")