mirror of
https://github.com/allaunthefox/Research-Stack.git
synced 2026-07-31 03:05:21 +00:00
125 lines
4.2 KiB
Python
125 lines
4.2 KiB
Python
#!/usr/bin/env python3
|
|
# ==============================================================================
|
|
# COPYRIGHT NO ONE EVERYWHERE LLC (WYOMING HOLDING COMPANY)
|
|
# PROJECT: SOVEREIGN STACK
|
|
# This artifact is entirely proprietary and cryptographically proven.
|
|
# Open-Source usage requires explicit permission from Brandon Scott Schneider.
|
|
# ==============================================================================
|
|
"""
|
|
Judge Observer — passive witness to organism trials across the tailnet.
|
|
|
|
Polls each node via omnitoken transport (self-assembling, transport-agnostic).
|
|
Appends observations to a JSONL log. No intervention. Pure observation.
|
|
|
|
Nodes watched:
|
|
- racknerd-atl:8446 homeostasis dashboard (compression organism)
|
|
- racknerd-atl:8443 attestation witness
|
|
- racknerd-atl:8449 warden metrics
|
|
- architect:8447 warden metrics
|
|
"""
|
|
|
|
import json
|
|
import time
|
|
import hashlib
|
|
import os
|
|
import sys
|
|
from datetime import datetime, timezone
|
|
|
|
# Add parent dir to path for omni_resolver import
|
|
sys.path.insert(0, os.path.expanduser("~/omni_stack"))
|
|
|
|
try:
|
|
import omni_resolver
|
|
except ImportError:
|
|
omni_resolver = None
|
|
|
|
LOG_PATH = os.path.expanduser("~/omni_stack/organism_trials.jsonl")
|
|
INTERVAL = 60 # seconds between observation rounds
|
|
|
|
# Omnitoken URIs — transport-agnostic, self-assembling across any network
|
|
ENDPOINTS = [
|
|
{"node": "racknerd-atl", "role": "homeostasis", "omni": "omni://racknerd:8446/stats"},
|
|
{"node": "racknerd-atl", "role": "attestation", "omni": "omni://racknerd:8443/status"},
|
|
{"node": "racknerd-atl", "role": "warden", "omni": "omni://racknerd:8449/metrics"},
|
|
{"node": "architect", "role": "warden", "omni": "omni://warden:8447/metrics"},
|
|
]
|
|
|
|
_last_hash = ""
|
|
_tick = 0
|
|
|
|
|
|
def _fetch_omni(omni_uri: str, timeout: float = 5.0):
|
|
"""Fetch via omnitoken transport — self-assembles across UDP/TCP/Tailscale."""
|
|
if omni_resolver is None:
|
|
return None, "omni_resolver not available"
|
|
try:
|
|
result = omni_resolver.omni_request(omni_uri)
|
|
if result is None:
|
|
return None, "null response"
|
|
return result, None
|
|
except Exception as e:
|
|
return None, str(e)
|
|
|
|
|
|
def observe():
|
|
global _last_hash, _tick
|
|
_tick += 1
|
|
ts = datetime.now(timezone.utc).isoformat()
|
|
|
|
snapshot = {"tick": _tick, "timestamp": ts, "observations": []}
|
|
|
|
for ep in ENDPOINTS:
|
|
data, err = _fetch_omni(ep["omni"])
|
|
obs = {
|
|
"node": ep["node"],
|
|
"role": ep["role"],
|
|
"omni": ep["omni"],
|
|
"status": "ok" if data is not None else "unreachable",
|
|
}
|
|
if data is not None:
|
|
obs["data"] = data
|
|
if err:
|
|
obs["error"] = err
|
|
snapshot["observations"].append(obs)
|
|
|
|
# Hash chain
|
|
entry_str = json.dumps({k: v for k, v in snapshot.items() if k != "hash"}, sort_keys=True)
|
|
snapshot["parent"] = _last_hash
|
|
snapshot["hash"] = hashlib.sha256((_last_hash + entry_str).encode()).hexdigest()
|
|
_last_hash = snapshot["hash"]
|
|
|
|
with open(LOG_PATH, "a") as f:
|
|
f.write(json.dumps(snapshot) + "\n")
|
|
|
|
reachable = sum(1 for o in snapshot["observations"] if o["status"] == "ok")
|
|
print(f"[judge] tick={_tick} ts={ts} reachable={reachable}/{len(ENDPOINTS)} hash={snapshot['hash'][:12]}...")
|
|
|
|
|
|
def main():
|
|
print(f"[judge] observer starting — log={LOG_PATH} interval={INTERVAL}s")
|
|
print(f"[judge] watching {len(ENDPOINTS)} omni endpoints across {len(set(e['node'] for e in ENDPOINTS))} nodes")
|
|
print(f"[judge] transport: omnitoken (self-assembling across UDP/TCP/Tailscale)")
|
|
|
|
# Load last hash from existing log if present
|
|
global _last_hash, _tick
|
|
if os.path.exists(LOG_PATH):
|
|
with open(LOG_PATH) as f:
|
|
for line in f:
|
|
try:
|
|
e = json.loads(line)
|
|
_last_hash = e.get("hash", _last_hash)
|
|
_tick = e.get("tick", _tick)
|
|
except Exception:
|
|
pass
|
|
print(f"[judge] resumed from tick={_tick} hash={_last_hash[:12]}...")
|
|
|
|
while True:
|
|
try:
|
|
observe()
|
|
except Exception as e:
|
|
print(f"[judge] observe error: {e}")
|
|
time.sleep(INTERVAL)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|