metastate / systems.html
CPater's picture
Upload 6 files
b11bba5 verified
Raw
History Blame Contribute Delete
35.4 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>METASTATE — Systems &amp; Roadmap</title>
<link href="https://fonts.googleapis.com/css2?family=Sora:wght@200;300;400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root{--bg:#000;--ink:#fff;--muted:#9a9a9a;--dim:#5a5a5a;--line:rgba(255,255,255,.13);--line-2:rgba(255,255,255,.26);--panel:rgba(255,255,255,.025);--sans:'Sora',sans-serif;--mono:'IBM Plex Mono',monospace;}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.65;-webkit-font-smoothing:antialiased;letter-spacing:.1px}
a{color:inherit;text-decoration:none}::selection{background:#fff;color:#000}
.nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(0,0,0,.8);backdrop-filter:blur(12px);padding:15px 32px;display:flex;align-items:center;justify-content:space-between}
.nav .brand{display:flex;align-items:center;gap:11px;font-weight:600;letter-spacing:2px;font-size:15px}
.nav .brand img{width:30px;height:30px;border:1px solid var(--line-2);border-radius:50%}
.nav .links{display:flex;gap:8px;flex-wrap:wrap}
.nav a{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:7px 12px;border:1px solid var(--line);border-radius:6px;transition:all .2s}
.nav a:hover,.nav a.on{background:#fff;color:#000}
.wrap{max-width:1020px;margin:0 auto;padding:60px 32px 100px}
.tag{font-family:var(--mono);font-size:10px;letter-spacing:3px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.tag::before{content:"";width:28px;height:1px;background:var(--line-2)}
h1{font-size:clamp(32px,6vw,56px);font-weight:200;letter-spacing:-1px;line-height:1.02;margin-bottom:16px}h1 b{font-weight:600}
.lead{font-size:16px;color:#b6b6b6;max-width:720px;margin-bottom:18px}
.statusbar{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 10px}
.stat{font-family:var(--mono);font-size:9.5px;letter-spacing:1px;padding:7px 12px;border:1px solid var(--line);border-radius:20px;color:var(--muted)}
.stat b{color:#fff;font-weight:500}
.stat.live{border-color:#fff;color:#fff}
.feat{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:30px;margin:22px 0}
.feat-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.feat h2{font-size:23px;font-weight:400;letter-spacing:-.3px}.feat h2 b{font-weight:600}
.badge{font-family:var(--mono);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:6px 11px;border-radius:20px;white-space:nowrap}
.badge.live{background:#fff;color:#000}
.badge.pending{border:1px solid var(--line-2);color:var(--muted)}
.feat p{font-size:14px;color:#c2c2c2;margin:10px 0}
.feat code{font-family:var(--mono);font-size:.85em;background:rgba(255,255,255,.06);padding:1px 6px;border-radius:4px}
.flow{border:1px solid var(--line);border-radius:11px;background:#040404;padding:24px;overflow-x:auto;margin:16px 0}
.flow svg{width:100%;height:auto;min-width:640px;display:block}
.back{display:inline-block;margin-top:36px;font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--muted);border-bottom:1px solid var(--line-2);padding-bottom:2px}
.endpoint{font-family:var(--mono);font-size:11px;color:#fff;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:6px;padding:3px 9px;display:inline-block;margin:3px 4px 3px 0}
</style>
</head>
<body>
<nav class="nav">
<a class="brand" href="index.html"><img src="data:image/jpeg;base64,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" alt="">METASTATE</a>
<div class="links">
<a href="index.html">Home</a><a href="architecture.html">Architecture</a>
<a href="systems.html" class="on">Systems</a><a href="research.html">Research</a><a href="agents.html">Agents</a><a href="sovereignty.html">Sovereignty</a>
</div>
</nav>
<div class="wrap">
<div class="tag">Systems &amp; Roadmap</div>
<h1>The <b>expanded</b> substrate</h1>
<p class="lead">METASTATE is growing from a detection kernel into a full agent substrate: shared memory, verifiable inference, post-quantum identity, a quantum-secure L2 router (now routing to real IBM hardware), multimodal ingestion, and a dual-input programming language. Every feature below is labelled with its honest status — <b>live</b> (running now) or <b>interface ready, hardware pending</b> (contract stable, awaiting external hardware/credentials).</p>
<div class="statusbar">
<span class="stat live">temporal prior · <b>TimesFM 2.6</b></span>
<span class="stat live">storage · <b>Supabase / SQLite</b></span>
<span class="stat live">signing · <b>PQC Dilithium / Ed25519</b></span>
<span class="stat live">QPU · <b>IBM + Origin/QPanda</b></span>
<span class="stat live">video · <b>live (CPU)</b></span>
<span class="stat live">GPU net · <b>nwo-agi bridge</b></span>
</div>
<!-- MEMORY -->
<div class="feat">
<div class="feat-head"><h2>1 · Shared <b>memory graph</b></h2><span class="badge live">Live</span></div>
<p>Solves the "decoupled state persistence" gap. When an agent's symbolic fit is clean and decipherable, the closed-form EML insight is signed and written to a shared knowledge graph on Supabase — and mirrored as a public node in the <a href="https://huggingface.co/spaces/CPater/nwo-agent-graph" target="_blank" style="border-bottom:1px solid var(--line-2)">nwo-agent-graph</a> canvas. Any other agent can query it and reuse the structure without retraining.</p>
<p><span class="endpoint">POST /v1/memory</span><span class="endpoint">GET /v1/memory/search</span></p>
<div class="flow">
<svg viewBox="0 0 640 200" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="m1" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="14" y="80" width="120" height="48" rx="7"/><text class="t" x="28" y="100">Agent A</text><text class="s" x="28" y="116">EML fit</text>
<rect class="b" x="180" y="80" width="130" height="48" rx="7"/><text class="t" x="194" y="100">PQC sign</text><text class="s" x="194" y="116">+ write</text>
<rect class="b" x="356" y="40" width="140" height="48" rx="7"/><text class="t" x="370" y="60">Supabase</text><text class="s" x="370" y="76">metastate_memory</text>
<rect class="b" x="356" y="120" width="140" height="48" rx="7"/><text class="t" x="370" y="140">graph_nodes</text><text class="s" x="370" y="156">nwo-agent-graph</text>
<rect class="b" x="520" y="80" width="106" height="48" rx="7"/><text class="t" x="534" y="100">Agent B</text><text class="s" x="534" y="116">reuse</text>
<path class="e" d="M134,104 L180,104" marker-end="url(#m1)"/>
<path class="e" d="M310,100 L356,68" marker-end="url(#m1)"/>
<path class="e" d="M310,108 L356,140" marker-end="url(#m1)"/>
<path class="e" d="M496,64 L560,64 L560,80" marker-end="url(#m1)"/>
</svg>
</div>
</div>
<!-- POI -->
<div class="feat">
<div class="feat-head"><h2>2 · Computational <b>Proof of Inference</b></h2><span class="badge live">Live (signed) · zk browser-proving (scoped)</span></div>
<p>Agents that tokenise their EML expressions must prove they minimised free energy truthfully. The kernel independently re-fits the series and checks the claimed residual against an achievable fit within tolerance. The verdict is <b>signed</b> (post-quantum when available) so it can be anchored on Base for an immutable proof. A zero-knowledge (zk-SNARK) version now generates Groth16 proofs <b>in the agent's browser</b> (Circom + snarkjs) for a scoped claim — knowledge of a committed series with bounded residual — verifiable cheaply and, via an exported Solidity verifier, on-chain. Binding the proof to the full eml pipeline remains future work.</p>
<p><span class="endpoint">POST /v1/poi/verify</span> <span class="endpoint">POST /v1/poi/zk-verify</span> <span class="endpoint">GET /prove.html</span></p>
<div class="flow">
<svg viewBox="0 0 640 160" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="m2" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="14" y="56" width="130" height="48" rx="7"/><text class="t" x="28" y="76">Agent claim</text><text class="s" x="28" y="92">expr + residual</text>
<rect class="b" x="190" y="56" width="140" height="48" rx="7"/><text class="t" x="204" y="76">Kernel re-fit</text><text class="s" x="204" y="92">independent</text>
<rect class="b" x="376" y="56" width="120" height="48" rx="7"/><text class="t" x="390" y="76">Verify ±tol</text><text class="s" x="390" y="92">honest?</text>
<rect class="b" x="540" y="56" width="86" height="48" rx="7"/><text class="t" x="554" y="76">PQC sign</text><text class="s" x="554" y="92">→ Base</text>
<path class="e" d="M144,80 L190,80" marker-end="url(#m2)"/>
<path class="e" d="M330,80 L376,80" marker-end="url(#m2)"/>
<path class="e" d="M496,80 L540,80" marker-end="url(#m2)"/>
</svg>
</div>
<p style="margin-top:14px"><b>zk path (browser-side, scoped):</b></p>
<div class="flow">
<svg viewBox="0 0 640 150" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="mz" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bx{fill:#000;stroke:rgba(255,255,255,.4);stroke-width:1}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="14" y="50" width="138" height="52" rx="7"/><text class="t" x="28" y="72">Browser</text><text class="s" x="28" y="88">series stays local</text>
<rect class="b" x="184" y="50" width="138" height="52" rx="7"/><text class="t" x="198" y="72">Groth16 prove</text><text class="s" x="198" y="88">Circom + snarkjs</text>
<rect class="bx" x="354" y="50" width="130" height="52" rx="7"/><text class="t" x="368" y="72">Proof only</text><text class="s" x="368" y="88">no raw data</text>
<rect class="b" x="516" y="22" width="112" height="44" rx="7"/><text class="t" x="530" y="42">zk-verify</text><text class="s" x="530" y="58">structure</text>
<rect class="bx" x="516" y="86" width="112" height="44" rx="7"/><text class="t" x="530" y="106">Solidity</text><text class="s" x="530" y="122">on-chain · Base</text>
<path class="e" d="M152,76 L184,76" marker-end="url(#mz)"/>
<path class="e" d="M322,76 L354,76" marker-end="url(#mz)"/>
<path class="e" d="M484,68 C500,68 504,44 516,44" marker-end="url(#mz)"/>
<path class="e" d="M484,84 C500,84 504,108 516,108" marker-end="url(#mz)"/>
</svg>
</div>
</div>
<!-- PQC -->
<div class="feat">
<div class="feat-head"><h2>3 · Post-quantum <b>identity &amp; signing</b></h2><span class="badge live">Live</span></div>
<p>State changes, agent DIDs, and PoI attestations are signed with <b>CRYSTALS-Dilithium</b> when the PQC library is present in the runtime, falling back to Ed25519 otherwise — and the system always reports which scheme is active, so it never claims post-quantum security it isn't using. This protects agent identities and transaction logs against future quantum decryption (Shor's algorithm). Key encapsulation with CRYSTALS-Kyber secures the transport to external endpoints.</p>
<p><span class="endpoint">GET /v1/status</span> reports the active scheme and public key.</p>
</div>
<!-- L2 QUANTUM ROUTER -->
<div class="feat">
<div class="feat-head"><h2>4 · Quantum-secure <b>L2 router</b></h2><span class="badge live">Live (IBM Quantum) · simulator fallback</span></div>
<p>The router maps a process-matrix recognition density <code>W</code> into a circuit, evaluates it, and returns collapsed-probability outputs in the exact shape a real QPU would. It routes to <b>real IBM Quantum hardware</b> through a dedicated worker service (free IBM Open plan) when configured, and falls back to a local simulator otherwise &mdash; with no change to the request/response contract. Rigetti and Braket can be added the same way. Transport is wrapped in post-quantum cryptography.</p>
<p><span class="endpoint">POST /v1/quantum/route</span></p>
<div class="flow">
<svg viewBox="0 0 640 220" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="m4" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bp{fill:#060606;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:4 3}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}.ep{stroke:rgba(255,255,255,.4);stroke-width:1;fill:none;stroke-dasharray:4 3}</style></defs>
<rect class="b" x="14" y="86" width="120" height="48" rx="7"/><text class="t" x="28" y="106">METASTATE</text><text class="s" x="28" y="122">W matrix</text>
<rect class="b" x="180" y="86" width="150" height="48" rx="7"/><text class="t" x="194" y="106">L2 Router</text><text class="s" x="194" y="122">Kyber/Dilithium</text>
<rect class="b" x="380" y="30" width="120" height="46" rx="7"/><text class="t" x="394" y="50">Simulator</text><text class="s" x="394" y="66">live now</text>
<rect class="bp" x="380" y="92" width="120" height="46" rx="7"/><text class="t" x="394" y="112">IBM / Rigetti</text><text class="s" x="394" y="128">pending creds</text>
<rect class="bp" x="380" y="154" width="120" height="46" rx="7"/><text class="t" x="394" y="174">Braket</text><text class="s" x="394" y="190">pending creds</text>
<rect class="b" x="540" y="86" width="86" height="48" rx="7"/><text class="t" x="554" y="106">Probs</text><text class="s" x="554" y="122">→ residual</text>
<path class="e" d="M134,110 L180,110" marker-end="url(#m4)"/>
<path class="e" d="M330,100 L380,53" marker-end="url(#m4)"/>
<path class="ep" d="M330,110 L380,115" marker-end="url(#m4)"/>
<path class="ep" d="M330,120 L380,177" marker-end="url(#m4)"/>
<path class="e" d="M500,53 L520,53 L520,110 L540,110" marker-end="url(#m4)"/>
</svg>
</div>
</div>
<!-- MULTIMODAL -->
<div class="feat">
<div class="feat-head"><h2>5 · Multimodal <b>ingestion</b></h2><span class="badge live">Numeric + video (CPU) live · GPU switchable</span></div>
<p>Audio, text, telemetry and ECG numeric streams are scored now. Video spatial tracks — bounding boxes and motion vectors from frameworks like <b>NVIDIA Locate Anything</b> — are accepted and flattened into a numeric channel that fuses with the others inside one OCB process matrix. When an agent hears an anomalous tone and simultaneously tracks a matching vector change, the causal-coherence metric 𝒞(t) strengthens, sharply cutting false positives. The video detector now runs for real on CPU (OpenCV motion/object tracking → tracks → fused into the process matrix); a high-end GPU model (e.g. NVIDIA Locate-Anything) is switchable via DETECTOR_BACKEND on a CUDA host.</p>
<p><span class="endpoint">POST /v1/multimodal/ingest</span> <span class="endpoint">POST /v1/multimodal/video</span></p>
<div class="flow">
<svg viewBox="0 0 640 170" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="mv" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bp{fill:#060606;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:4 3}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}.ep{stroke:rgba(255,255,255,.4);stroke-width:1;fill:none;stroke-dasharray:4 3}</style></defs>
<rect class="b" x="14" y="60" width="120" height="50" rx="7"/><text class="t" x="28" y="80">Video in</text><text class="s" x="28" y="96">file / url</text>
<rect class="b" x="166" y="34" width="150" height="46" rx="7"/><text class="t" x="180" y="54">CPU detector</text><text class="s" x="180" y="70">OpenCV · LIVE</text>
<rect class="bp" x="166" y="92" width="150" height="46" rx="7"/><text class="t" x="180" y="112">GPU detector</text><text class="s" x="180" y="128">NVIDIA · switchable</text>
<rect class="b" x="348" y="60" width="130" height="50" rx="7"/><text class="t" x="362" y="80">Tracks</text><text class="s" x="362" y="96">x,y,vx,vy</text>
<rect class="b" x="510" y="60" width="118" height="50" rx="7"/><text class="t" x="524" y="80">Process</text><text class="s" x="524" y="96">matrix → 𝒞(t)</text>
<path class="e" d="M134,80 C150,80 152,57 166,57" marker-end="url(#mv)"/>
<path class="ep" d="M134,90 C150,90 152,115 166,115" marker-end="url(#mv)"/>
<path class="e" d="M316,57 C332,57 334,80 348,80" marker-end="url(#mv)"/>
<path class="ep" d="M316,115 C332,115 334,90 348,88" marker-end="url(#mv)"/>
<path class="e" d="M478,85 L510,85" marker-end="url(#mv)"/>
</svg>
</div>
</div>
<div class="feat">
<div class="feat-head"><h2>6 · Dual-input <b>programming language</b></h2><span class="badge live">Live: NumPy + OpenQASM 3.0 · register-asm roadmap</span></div>
<p>A domain-specific language whose primitive is indefinite-order composition and whose types track causal separability. A single program compiles to both classical CPU instructions (AVX-512 threads) and quantum circuit gates (OpenQASM 3.0). The <code>eml</code> operator is a native primitive, and traditional loops are replaced by free-energy optimisation blocks that run until convergence. The compiler is live: it parses the DSL and emits BOTH executable NumPy (classical) and real OpenQASM 3.0 that runs on the live IBM worker — via <code>POST /v1/compile</code>. A true raw-CPU-register / AVX-512 assembler remains roadmap; the classical target is NumPy.</p>
<div class="flow">
<svg viewBox="0 0 640 200" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="m6" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bp{fill:#060606;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:4 3}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="250" y="14" width="150" height="44" rx="7"/><text class="t" x="264" y="34">Dual-input DSL</text><text class="s" x="264" y="50">eml-native</text>
<rect class="b" x="120" y="110" width="160" height="46" rx="7"/><text class="t" x="134" y="130">Classical compiler</text><text class="s" x="134" y="146">x86_64 AVX-512</text>
<rect class="bp" x="360" y="110" width="160" height="46" rx="7"/><text class="t" x="374" y="130">Quantum transpiler</text><text class="s" x="374" y="146">OpenQASM 3.0 (pending)</text>
<path class="e" d="M310,58 L200,110" marker-end="url(#m6)"/>
<path class="e" d="M340,58 L440,110" marker-end="url(#m6)"/>
</svg>
</div>
<p style="font-family:var(--mono);font-size:11px;color:var(--muted);background:#040404;border:1px solid var(--line);border-radius:9px;padding:14px;white-space:pre-wrap;line-height:1.7">hybrid_state psi[4] {
target_cpu: avx512_register;
target_qpu: ibm_torino_backend;
}
minimize_energy(threshold: 0.01) {
psi.evaluate_causal_matrix();
}</p>
</div>
<!-- ORIGIN QUANTUM -->
<div class="feat">
<div class="feat-head"><h2>7 · Open-source <b>quantum backend</b> (Origin Pilot)</h2><span class="badge live">QPanda simulator live · Wukong HW on key</span></div>
<p>Beyond IBM, the L2 router now supports <b>Origin Pilot / QPanda3</b> — the open-source quantum stack from Origin Quantum (USTC), the first downloadable quantum OS. Selecting <code>backend: "origin"</code> runs the process-matrix circuit on the real QPanda CPU simulator (no credentials), with a documented path to the 72-qubit <b>Origin Wukong</b> superconducting hardware via Origin Cloud when <code>ORIGIN_API_KEY</code> is set. Agents pick a backend per call; the contract is identical to the IBM path.</p>
<p><span class="endpoint">POST /v1/quantum/route · backend: "origin"</span></p>
<div class="flow">
<svg viewBox="0 0 640 160" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="mo" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bp{fill:#060606;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:4 3}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}.ep{stroke:rgba(255,255,255,.4);stroke-width:1;fill:none;stroke-dasharray:4 3}</style></defs>
<rect class="b" x="14" y="56" width="120" height="48" rx="7"/><text class="t" x="28" y="76">W matrix</text><text class="s" x="28" y="92">OCB coupling</text>
<rect class="b" x="172" y="56" width="140" height="48" rx="7"/><text class="t" x="186" y="76">QPanda3</text><text class="s" x="186" y="92">pyqpanda3</text>
<rect class="b" x="350" y="30" width="130" height="44" rx="7"/><text class="t" x="364" y="50">CPU sim</text><text class="s" x="364" y="66">live now</text>
<rect class="bp" x="350" y="90" width="130" height="44" rx="7"/><text class="t" x="364" y="110">Origin Wukong</text><text class="s" x="364" y="126">72q · on key</text>
<rect class="b" x="516" y="56" width="110" height="48" rx="7"/><text class="t" x="530" y="76">Probs</text><text class="s" x="530" y="92">→ residual</text>
<path class="e" d="M134,80 L172,80" marker-end="url(#mo)"/>
<path class="e" d="M312,72 C330,72 334,52 350,52" marker-end="url(#mo)"/>
<path class="ep" d="M312,88 C330,88 334,112 350,112" marker-end="url(#mo)"/>
<path class="e" d="M480,52 C500,52 500,80 516,80" marker-end="url(#mo)"/>
</svg>
</div>
</div>
<!-- NWO-AGI GPU -->
<div class="feat">
<div class="feat-head"><h2>8 · Distributed <b>GPU supercomputer</b> (nwo-agi)</h2><span class="badge live">Bridge live · network opt-in</span></div>
<p>METASTATE can offload heavy model inference — models too large for the Space's CPU, e.g. Qwen2.5-32B — to the <b>nwo-agi</b> distributed supercomputer: robot fleets and GPU nodes pooled over the Hyperspace libp2p network. Nodes (humans, robots with edge GPUs like Jetson Thor/Orin) share idle VRAM and earn crypto through the <b>same 35/35/30 split</b> as the METASTATE splitter — settlement is aligned by design. Enable with <code>NWOAGI_ENABLE=1</code>; otherwise jobs run locally.</p>
<p><span class="endpoint">POST /v1/compute/inference</span> <span class="endpoint">GET /v1/compute/status</span> <span class="endpoint">GET /v1/compute/earnings</span></p>
<div class="flow">
<svg viewBox="0 0 640 190" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="mg" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.bx{fill:#000;stroke:rgba(255,255,255,.4);stroke-width:1}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="14" y="72" width="130" height="50" rx="7"/><text class="t" x="28" y="92">METASTATE</text><text class="s" x="28" y="108">heavy job</text>
<rect class="b" x="182" y="72" width="130" height="50" rx="7"/><text class="t" x="196" y="92">NWOBridge</text><text class="s" x="196" y="108">libp2p mesh</text>
<rect class="bx" x="350" y="18" width="124" height="42" rx="7"/><text class="t" x="364" y="38">Robot GPU</text><text class="s" x="364" y="54">16-24GB</text>
<rect class="bx" x="350" y="72" width="124" height="42" rx="7"/><text class="t" x="364" y="92">Edge GPU</text><text class="s" x="364" y="108">Jetson Thor</text>
<rect class="bx" x="350" y="126" width="124" height="42" rx="7"/><text class="t" x="364" y="146">Human node</text><text class="s" x="364" y="162">idle VRAM</text>
<rect class="b" x="510" y="72" width="116" height="50" rx="7"/><text class="t" x="524" y="92">Pay node</text><text class="s" x="524" y="108">35/35/30</text>
<path class="e" d="M144,97 L182,97" marker-end="url(#mg)"/>
<path class="e" d="M312,90 C330,90 334,40 350,40" marker-end="url(#mg)"/>
<path class="e" d="M312,95 L350,93" marker-end="url(#mg)"/>
<path class="e" d="M312,100 C330,100 334,147 350,147" marker-end="url(#mg)"/>
<path class="e" d="M474,40 C494,40 494,90 510,90" marker-end="url(#mg)"/>
<path class="e" d="M474,147 C494,147 494,104 510,104" marker-end="url(#mg)"/>
</svg>
</div>
</div>
<!-- REGISTRY -->
<div class="feat">
<div class="feat-head"><h2>9 · On-chain <b>trust anchor</b> (registry)</h2><span class="badge live">Live &amp; verified on Base</span></div>
<p>A Base-mainnet registry that makes the off-chain substrate verifiable and tamper-evident. It does <b>not</b> run quantum or verify PQC on-chain (the EVM can't do either cheaply) — instead it anchors compact commitments: agent wallet→DID binding, the agent's published post-quantum public key, and the keccak256 <b>hashes</b> of Proof-of-Inference attestations and high-value EML insights. Full records stay in Supabase; only their hashes go on-chain, giving immutable, timestamped, attributable existence proofs.</p>
<p><span class="endpoint">POST /v1/anchor/prepare</span> returns the exact hash + contract call. The agent signs and sends the tx from its own wallet — METASTATE never holds agent keys.</p>
<p style="font-family:var(--mono);font-size:11px;color:var(--muted)">Contract <code>MetaStateRegistry</code> · verified on Base: <a href="https://basescan.org/address/0x5a0eb73e9c722dfe370761a8e3aa165a247c6905#code" target="_blank" style="border-bottom:1px solid var(--line-2)">0x5a0eb73e…47c6905</a> · companion to the payment splitter 0x93a7…b1BE4</p>
<div class="flow">
<svg viewBox="0 0 640 170" xmlns="http://www.w3.org/2000/svg" font-family="IBM Plex Mono, monospace">
<defs><marker id="m7" markerWidth="9" markerHeight="9" refX="7" refY="4" orient="auto"><path d="M0,0 L8,4 L0,8" fill="none" stroke="#fff" stroke-width="1.2"/></marker>
<style>.b{fill:#0a0a0a;stroke:#fff;stroke-width:1}.t{fill:#fff;font-size:11px}.s{fill:#9a9a9a;font-size:9px}.e{stroke:#fff;stroke-width:1;fill:none;opacity:.7}</style></defs>
<rect class="b" x="14" y="60" width="130" height="48" rx="7"/><text class="t" x="28" y="80">Kernel</text><text class="s" x="28" y="96">PoI / insight</text>
<rect class="b" x="190" y="60" width="140" height="48" rx="7"/><text class="t" x="204" y="80">anchor/prepare</text><text class="s" x="204" y="96">keccak256 hash</text>
<rect class="b" x="376" y="60" width="120" height="48" rx="7"/><text class="t" x="390" y="80">Agent wallet</text><text class="s" x="390" y="96">signs tx</text>
<rect class="b" x="540" y="60" width="86" height="48" rx="7"/><text class="t" x="554" y="80">Base</text><text class="s" x="554" y="96">Registry</text>
<path class="e" d="M144,84 L190,84" marker-end="url(#m7)"/>
<path class="e" d="M330,84 L376,84" marker-end="url(#m7)"/>
<path class="e" d="M496,84 L540,84" marker-end="url(#m7)"/>
</svg>
</div>
</div>
<a class="back" href="index.html">← back to console</a>
</div>
</body>
</html>