a11oy / pages /fabric.html
betterwithage's picture
deploy(hf): sync szl-holdings/a11oy@ac02db5a10e5b3d4c9b2260674111ff2335888bf derived COPY set
55e5019 verified
Raw
History Blame Contribute Delete
35.3 kB
<!DOCTYPE html>
<html lang="en"><head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>Governed Distributed Compute Fabric · a11oy</title>
<meta name="description" content="The Governed Distributed Compute Fabric — one unified system-of-systems view. Sovereign signal. Signed receipt. No node left dark. Sovereign GPU mesh under one governed router, honest TCP reachability, joules MEASURED per node, doctrine-locked. Terrestrial-proven core; orbital is a clearly-labeled ROADMAP frame. 0 runtime CDN.">
<!-- SZL Estate shared modules (byte-identical cross-app), served in-image at /static/shared (0 CDN). -->
<script src="/static/shared/szl_label_engine.js"></script>
<script src="/static/shared/szl_holo3d.js"></script>
<style>
:root{--bg:#0b0e14;--card:#121826;--ink:#e8eef7;--mut:#8aa0bf;--acc:#5ad1c0;--acc2:#7aa2ff;--line:#243149;--warn:#e0c060;--bad:#ff5c5c;--ok:#16c784;--orbit:#b07cff}
*{box-sizing:border-box}
body{margin:0;font:15px/1.55 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:1180px;margin:0 auto;padding:30px 20px 96px}
h1{font-size:28px;margin:0 0 4px;letter-spacing:.2px}
h2{font-size:18px;margin:34px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.sub{color:var(--mut);margin:0 0 14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:14px 0}
code{background:#0a1626;padding:1px 5px;border-radius:5px;color:var(--acc);font-size:12px}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
nav a{margin-right:14px;font-weight:600}
.note{color:var(--mut);font-size:13px}
.foot{margin-top:40px;color:var(--mut);font-size:12px;border-top:1px solid var(--line);padding-top:14px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:7px 9px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.kpi{background:#0e1422;border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.kpi .v{font:700 24px/1.1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--acc)}
.kpi .k{color:var(--mut);font-size:12px;margin-bottom:6px}
.kpi .l{margin-top:8px}
.holo{height:420px;width:100%;border-radius:12px;overflow:hidden;position:relative}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--mut)}
.legend .sw{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:6px;vertical-align:middle}
.nodegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:12px;margin-top:6px}
.nd{background:#0e1422;border:1px solid var(--line);border-radius:11px;padding:13px 15px}
.nd h3{margin:0 0 4px;font-size:15px}
.nd .ep{font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--mut);word-break:break-all}
.nd .row{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;align-items:center}
.nd .joule{margin-top:9px;font:12px/1.3 ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:6px}
.dot.up{background:var(--ok)}.dot.down{background:var(--bad)}
.sov{font-size:11px;font-weight:700;letter-spacing:.04em}
.orbit{background:linear-gradient(180deg,#150d28 0%,#0e0a1c 100%);border:1px solid #3a2a5e;border-radius:12px;padding:16px 18px;margin:14px 0}
.orbit h2{color:#cdb4ff;border-bottom-color:#3a2a5e}
.orbit .band{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.banner{display:inline-block;background:#2a1c47;border:1px solid #5a3fa0;color:#d9c6ff;font:800 12px/1 ui-monospace,Menlo,monospace;letter-spacing:.12em;padding:7px 12px;border-radius:8px;text-transform:uppercase}
.err{color:var(--bad);font-size:13px}
.muted-num{color:var(--mut)}
.hl{color:var(--acc2);font-weight:700}
.flow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;padding:8px 0}
.flow .node{background:#16264a;border:1px solid var(--line);border-radius:10px;padding:8px 13px;font-weight:700;color:var(--acc2);font-size:13px}
.flow .arr{color:var(--mut);font-size:18px}
.refresh{background:var(--acc2);color:#06101f;border:0;border-radius:8px;padding:7px 13px;font-weight:700;cursor:pointer;font-size:13px}
.stamp{font:12px/1.3 ui-monospace,Menlo,monospace;color:var(--mut)}
/* --- Live-work panel (the fabric DOES verifiable work) --- */
.work{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:12px;margin-top:6px}
.wk{background:#0e1422;border:1px solid var(--line);border-radius:11px;padding:14px 16px;display:flex;flex-direction:column}
.wk h3{margin:0 0 3px;font-size:15px}
.wk .cap{color:var(--mut);font-size:12px;margin:0 0 10px}
.wk .state{margin-top:auto}
.wk .big{font:700 22px/1.15 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--acc);word-break:break-word}
.wk .sub2{color:var(--mut);font-size:12px;margin-top:4px}
.wk .receipt{font:11px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--acc2);word-break:break-all;margin-top:7px}
.wk .pending{display:inline-block;background:#241c14;border:1px solid #4a3a1e;color:var(--warn);font:700 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.06em;padding:6px 10px;border-radius:7px;text-transform:uppercase}
.wk .pending .why{font-weight:400;letter-spacing:0;text-transform:none;color:var(--mut);display:block;margin-top:5px}
.wk .qa{display:flex;gap:7px;margin-top:8px}
.wk .qa input{flex:1;background:#0a1626;border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:7px 9px;font-size:13px}
.wk .qa button{background:var(--acc2);color:#06101f;border:0;border-radius:8px;padding:7px 12px;font-weight:700;cursor:pointer;font-size:13px}
.wk .qa button:disabled{opacity:.45;cursor:not-allowed}
.wk .ans{margin-top:9px;font-size:13px;color:var(--ink)}
.wk .cite{font:11px/1.4 ui-monospace,Menlo,Consolas,monospace;color:var(--mut);margin-top:6px;word-break:break-all}
.wk .lbls{margin-top:9px;display:flex;gap:6px;flex-wrap:wrap}
.wk hr{border:0;border-top:1px solid var(--line);margin:11px 0 0}
</style> <link rel="stylesheet" href="/assets/szl-flow.css" data-szl-flow-asset="style" />
<link rel="stylesheet" href="/assets/szl-holo-v2.css" data-szl-holo-asset="style-v2" />
</head>
<body><div class="wrap">
<nav class="note"><a href="/">home</a><a href="/mesh">/mesh</a><a href="/wires">/wires</a><a href="/observability">/observability</a><a href="/holo">/holo</a></nav>
<h1>Governed Distributed Compute Fabric</h1>
<p class="sub" style="font-weight:700;color:var(--acc);margin-bottom:6px">Sovereign signal. Signed receipt. No node left dark.</p>
<p class="sub">The <b>Governed Distributed Compute Fabric</b> as one unified system-of-systems view. Sovereign GPU mesh + honest TCP reachability + joules <b>MEASURED</b> per node + one governed OpenAI-compatible router + doctrine-locked provenance. <span class="hl">Terrestrial governed mesh is the proven core; orbital is a clearly-labeled ROADMAP frame.</span> Doctrine v11 · Λ = Conjecture 1 · 0 runtime CDN.</p>
<p class="note" style="margin:0 0 14px">The fabric unites your sovereign nodes — each request governed by the trust score (Λ), recorded in the signed-receipt ledger, and relayed under one governed router — into a single honest system-of-systems.</p>
<div class="card">
<div style="display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px">
<div class="note">Live sources (no fabrication): <code>/api/a11oy/v1/compute-pool-hardened</code> · <code>/api/a11oy/v1/energy/operator/status</code> · <code>/api/a11oy/v1/honest</code> · <code>/api/a11oy/provenance</code> · <span class="hl">live-work</span> (K-Verify · Govern-RAG · cheapest-watt, each probed independently, honestly PENDING until deployed)</div>
<button class="refresh" onclick="loadAll()">↻ refresh live</button>
</div>
<div class="stamp" id="stamp" style="margin-top:8px">loading live fabric state…</div>
</div>
<h2>1 · Fabric at a glance</h2>
<div class="card">
<div class="kpis" id="kpis"><div class="note"></div></div>
<p class="note" style="margin-top:14px">Every figure is honestly labeled. <b>Reachability</b> is a real TCP probe THIS sweep — a timeout/refusal is reachable=false with the reason, never fabricated. <b>Joules</b> are MEASURED only via the on-box exporter (nodes with no exporter read SAMPLE / 0). <b>Sovereign</b> is a property of owned hardware, passed through, never inferred from reachability.</p>
</div>
<h2>2 · Live work — the fabric DOES verifiable work</h2>
<div class="card">
<p class="note" style="margin:0 0 12px">The mesh does not just <i>prove it exists</i> — it does governed, receipted work. Three new capabilities surface here <b>as they go live</b>. Each tile probes its own endpoint independently via <code>Promise.allSettled</code>: a capability that is not yet deployed renders an honest <span style="color:var(--warn);font-weight:700">PENDING</span> with the reason — <b>never a fabricated result</b>.</p>
<div class="work" id="work">
<div class="wk" id="wk-kverify">
<h3>K-Verify · governed inference</h3>
<p class="cap">A signed inference run over <code>k-verify-benchmark-v1</code>: N items, pass-rate, joules MEASURED, and a receipt hash you can verify.</p>
<div class="state" id="kv-state"><span class="pending">PENDING<span class="why">probing live endpoint…</span></span></div>
</div>
<div class="wk" id="wk-rag">
<h3>Govern-RAG · ask the doctrine</h3>
<p class="cap">Ask a question; the fabric answers <b>only</b> from its own governed corpus, with citations. No corpus hit = honest "insufficient grounding," never a guess.</p>
<div class="qa" id="rag-qa" style="display:none">
<input id="rag-q" type="text" placeholder="e.g. How many formulas are locked, and at what kernel?" autocomplete="off">
<button id="rag-ask" type="button" onclick="askRag()">ask</button>
</div>
<div class="state" id="rag-state"><span class="pending">PENDING<span class="why">probing live endpoint…</span></span></div>
</div>
<div class="wk" id="wk-watt">
<h3>Cheapest-watt routing · last decision</h3>
<p class="cap">The governed router places each job on the lowest-€/MWh reachable node. Savings are labeled <b>honestly</b> — MEASURED only where a meter exists, else MODELED.</p>
<div class="state" id="watt-state"><span class="pending">PENDING<span class="why">probing live endpoint…</span></span></div>
</div>
</div>
<p class="note" style="margin-top:12px">Honesty contract: a tile only shows a <b>result</b> when its endpoint actually returned one this sweep. Joules are <b>MEASURED</b> only on the on-box exporter node; routing savings are <b>MEASURED</b> where a meter exists and <b>MODELED</b> (clearly labeled) otherwise. Receipts are <b>tamper-EVIDENT</b> (SHA3 hash-chain), not tamper-proof. No fused VRAM is implied by any "work" shown here — placement is horizontal.</p>
</div>
<h2>3 · System-of-systems mesh (3D)</h2>
<div class="card">
<div class="holo" id="holo"></div>
<div class="legend">
<span><span class="sw" style="background:#16c784"></span>reachable (LIVE TCP probe)</span>
<span><span class="sw" style="background:#ff5c5c"></span>unreachable this sweep (honest)</span>
<span><span class="sw" style="background:#7aa2ff"></span>sovereign owned GPU/CPU</span>
<span><span class="sw" style="background:#e0c060"></span>hosted-inference failover (non-sovereign)</span>
</div>
<p class="note" style="margin-top:12px"><b>Scaling model — honest:</b> nodes scale <span class="hl">horizontally (placement + load-balance)</span> under one governed router. VRAM does <b>NOT</b> merge across the network — there is <b>no fused/combined VRAM</b>. The router places each job on a reachable node; it does not pool memory across machines.</p>
</div>
<h2>4 · Nodes — honest per-node board</h2>
<div class="nodegrid" id="nodes"><div class="note"></div></div>
<h2>5 · Energy — joules MEASURED, climbing</h2>
<div class="card">
<div class="kpis" id="energy"><div class="note"></div></div>
<table id="byNode" style="margin-top:14px"><tr><th>node</th><th>jobs</th><th>tokens</th><th>joules</th><th>label</th></tr></table>
<p class="note" style="margin-top:12px">Joules are MEASURED via the on-box exporter (node <code id="expnode">betterwithage</code>). Nodes without a local exporter contribute SAMPLE jobs (joules unmeasured) — shown honestly, never imputed. Signed receipts fold into the signed-receipt ledger: <code>/api/a11oy/v1/energy/provenance</code>.</p>
</div>
<h2>6 · Governed router + provenance</h2>
<div class="card">
<div class="flow">
<span class="node">request</span><span class="arr"></span>
<span class="node">governed router</span><span class="arr"></span>
<span class="node">placement (Λ-gated)</span><span class="arr"></span>
<span class="node">sovereign node / failover</span><span class="arr"></span>
<span class="node">signed receipt → ledger</span>
</div>
<div id="prov" class="note" style="margin-top:8px"></div>
</div>
<div class="orbit">
<div class="band">
<span class="banner">Roadmap · orbital framing</span>
<span id="orbitBadge"></span>
</div>
<h2 style="margin-top:6px">7 · Orbital system-of-systems — ROADMAP / analogy (we do NOT run satellites)</h2>
<p class="note">The same governance primitives the terrestrial mesh PROVES on real metal — honest reachability, joules MEASURED per node, Λ-gated placement, signed-receipt provenance — are exactly what distributed / edge / <b>orbital</b> compute system-of-systems will require. <span style="color:#cdb4ff;font-weight:700">This band is the vision frame, clearly labeled ROADMAP.</span> SZL does <b>not</b> operate satellites; nothing in the mesh above is orbital. We prove on terrestrial metal what the orbital-architecture crowd only asserts.</p>
<div class="kpis" id="orbit">
<div class="kpi"><div class="k">Terrestrial governed mesh</div><div class="v" id="orbReach"></div><div class="l" id="orbReachL"></div></div>
<div class="kpi"><div class="k">Per-node energy accounting</div><div class="v">joules</div><div class="l" id="orbJ"></div></div>
<div class="kpi"><div class="k">Edge / orbital placement</div><div class="v">vision</div><div class="l" id="orbRm"></div></div>
</div>
</div>
<div class="foot" id="foot">
HONEST: all numbers above carry an explicit label — LIVE (real backend wired) · MEASURED (on-box exporter) · MODELED (deterministic, labeled) · ROADMAP (vision, not deployed). No fused/combined VRAM is claimed anywhere — nodes scale horizontally (placement + load-balance); memory does not merge across the network. The <b>live-work</b> tiles surface a capability only when its endpoint returns a real result this sweep; otherwise they render an honest PENDING and never fabricate. Orbital is analogy/ROADMAP; SZL does not run satellites. Reachability is a real TCP probe, never fabricated. trust &lt; 100% · tamper-EVIDENT not tamper-proof · Λ = Conjecture 1 · locked = 8 {F1,F4,F7,F11,F12,F18,F19,F22} @ kernel <code id="kernel">c7c0ba17</code> (749/14/163). SLSA L1 honest · L2 attested · L3 roadmap. Canonical numbers <a href="https://github.com/szl-holdings/.github/blob/main/.github/data/lean_numbers.json" target="_blank" rel="noopener">lean_numbers.json</a>.
</div>
</div>
<script>
"use strict";
var L = (window.SZLLabels && window.SZLLabels.badgeHTML) ? function(k,t){ return window.SZLLabels.badgeHTML(k, t?{label:t}:undefined); } : function(k,t){ return '<span class="szl-pill">'+(t||k)+'</span>'; };
function $(id){ return document.getElementById(id); }
function fmt(n){ if(n==null||isNaN(n)) return '—'; return Number(n).toLocaleString('en-US',{maximumFractionDigits:0}); }
function fmt1(n){ if(n==null||isNaN(n)) return '—'; return Number(n).toLocaleString('en-US',{maximumFractionDigits:1}); }
async function getJSON(url){ var r = await fetch(url, {headers:{'accept':'application/json'}}); if(!r.ok) throw new Error(url+' HTTP '+r.status); return r.json(); }
var holoScene = null;
function buildHolo(pool){
var mount = $('holo');
if(!window.SZLHolo || !window.SZLHolo.Scene){ mount.innerHTML = '<p class="note" style="padding:18px">3D kit unavailable — node board below carries the full honest state.</p>'; return; }
mount.innerHTML = '';
// λ here is a presentation parameter (Conjecture 1, <1.0), NOT a measured value.
holoScene = new window.SZLHolo.Scene(mount, { title: 'GOVERNED DISTRIBUTED COMPUTE FABRIC', lambda: 0.42, autoRotate: true });
var nodes = (pool.nodes||[]);
// hub = the governed router (the host running this service / hetzner-box-cpu self node anchors center)
var specNodes = [{ id:'router', label:'governed router', pos:[0,0,0], locked:true }];
var R = 1.15;
nodes.forEach(function(n, i){
var ang = (i / Math.max(1,nodes.length)) * Math.PI * 2;
var y = (n.kind === 'hosted-inference') ? 0.55 : -0.25; // failover ring sits above
specNodes.push({
id: n.name,
label: n.name + (n.reachable ? ' ✓' : ' ✕'),
pos: [R*Math.cos(ang), y, R*Math.sin(ang)],
// lower lambda => greener/larger (more trust); reachable+sovereign = most trusted
lambda: n.reachable ? (n.sovereign ? 0.22 : 0.40) : 0.80
});
});
var edges = nodes.map(function(n){ return { from:'router', to:n.name }; });
holoScene.addGraph({ nodes: specNodes, edges: edges });
// pulse the signed-receipt flow along the first reachable sovereign edge
holoScene.start();
// Override the SAMPLE HUD badge: this scene is bound to LIVE topology + MEASURED energy.
try {
var lbl = mount.querySelector('[data-szl-holo-labels]');
if(lbl){ lbl.innerHTML = L('LIVE','LIVE TOPOLOGY') + ' ' + L('MEASURED','JOULES MEASURED') + ' ' + L('ROADMAP','ORBITAL = ROADMAP'); }
} catch(e){}
}
function renderKpis(pool, energy){
var c = pool.counts || {};
var html = '';
html += kpi('Nodes total', fmt(c.nodes_total), L('LIVE'));
html += kpi('Reachable this sweep', fmt(c.nodes_reachable), L('LIVE','LIVE TCP PROBE'));
html += kpi('Sovereign GPU reachable', fmt(c.gpu_nodes_reachable), L('LIVE'));
html += kpi('Joules total', fmt(energy.joules_measured_total), L('MEASURED'));
html += kpi('Jobs completed', fmt(energy.jobs_completed||energy.jobs_done), L('MEASURED'));
html += kpi('Scaling', 'horizontal', L('MODELED','PLACEMENT + LB'));
$('kpis').innerHTML = html;
}
function kpi(k,v,label){ return '<div class="kpi"><div class="k">'+k+'</div><div class="v">'+v+'</div><div class="l">'+(label||'')+'</div></div>'; }
function renderNodes(pool, energy){
var byNode = energy.by_node || {};
var html = '';
(pool.nodes||[]).forEach(function(n){
var bn = byNode[n.name] || {};
var jmeas = bn.joules_measured;
var hasMeas = (typeof jmeas === 'number' && jmeas > 0);
var jLabel = hasMeas ? L('MEASURED') : L('SAMPLE','SAMPLE / NO EXPORTER');
var jVal = hasMeas ? (fmt1(jmeas)+' J') : '0 J (unmeasured)';
var sov = n.sovereign ? '<span class="sov" style="color:#7aa2ff">SOVEREIGN (owned)</span>' : '<span class="sov" style="color:#e0c060">HOSTED FAILOVER</span>';
var reach = n.reachable
? '<span><span class="dot up"></span>reachable</span> ' + L('LIVE','LIVE TCP')
: '<span><span class="dot down"></span>unreachable: '+(n.detail||'?')+'</span> ' + L('LIVE','HONEST');
html += '<div class="nd"><h3>'+n.name+'</h3>'+
'<div class="note">'+n.kind+'</div>'+
'<div class="ep">'+(n.endpoint||'')+'</div>'+
'<div class="row">'+reach+'</div>'+
'<div class="row">'+sov+'</div>'+
'<div class="joule">energy: '+jVal+' &nbsp;'+jLabel+
(bn.jobs!=null ? ' &nbsp;<span class="muted-num">· '+fmt(bn.jobs)+' jobs · '+fmt(bn.tokens)+' tok</span>' : '')+
'</div></div>';
});
$('nodes').innerHTML = html;
}
function renderEnergy(energy){
var html = '';
html += kpi('Joules MEASURED total', fmt(energy.joules_measured_total), L('MEASURED'));
html += kpi('Measured token-joules', fmt(energy.measured_token_joules), L('MEASURED'));
html += kpi('Measured jobs', fmt(energy.measured_jobs), L('MEASURED'));
html += kpi('Sample jobs (unmeasured)', fmt(energy.sample_jobs), L('SAMPLE'));
html += kpi('Grid price', fmt1(energy.grid_price_eur_mwh)+' €/MWh', L('LIVE'));
html += kpi('Power sample', fmt1(energy.power_w_sample)+' W', L('SAMPLE'));
$('energy').innerHTML = html;
if(energy.exporter_node) $('expnode').textContent = energy.exporter_node;
var bn = energy.by_node || {};
var rows = '<tr><th>node</th><th>jobs</th><th>tokens</th><th>joules</th><th>label</th></tr>';
Object.keys(bn).forEach(function(k){
var v = bn[k]; var has = (typeof v.joules_measured==='number' && v.joules_measured>0);
rows += '<tr><td><b>'+k+'</b></td><td>'+fmt(v.jobs)+'</td><td>'+fmt(v.tokens)+'</td><td>'+(has?fmt1(v.joules_measured)+' J':'0 (unmeasured)')+'</td><td>'+(has?L('MEASURED'):L('SAMPLE'))+'</td></tr>';
});
$('byNode').innerHTML = rows;
}
function renderProv(prov, honest){
var slsa = (honest && honest.footer) ? '' : '';
var dl = (honest && honest.doctrine_lock) || {};
var html = '';
html += '<p>SLSA: <b>'+(prov.slsa||'L1')+'</b> — L1 honest · L2 attested · L3 roadmap. '+L('LIVE')+' &nbsp; Λ = '+(dl.lambda||'Conjecture 1')+' '+L('LIVE','CONJECTURE 1')+'</p>';
if(prov.khipu_dsse){
html += '<p>Provenance per answer: signed-receipt substrate · keyid <code>'+(prov.khipu_dsse.keyid||'?')+'</code> · verify at <code>'+(prov.khipu_dsse.verify_endpoint||'/api/a11oy/v1/govern/verify')+'</code>. tamper-EVIDENT (SHA3-256 hash-chain), not tamper-proof.</p>';
}
if(dl.locked_formula_ids){
html += '<p>Doctrine lock: <code>'+(dl.declarations||749)+'/'+(dl.axioms||14)+'/'+(dl.sorries||163)+'</code> @ kernel <code>'+(dl.commit||'c7c0ba17')+'</code> · locked = '+(dl.locked_formula_count||8)+' {'+(dl.locked_formula_ids||[]).join(',')+'} '+L('LIVE')+'</p>';
if(dl.commit) $('kernel').textContent = dl.commit;
}
$('prov').innerHTML = html;
}
function renderOrbit(pool, energy){
var c = pool.counts || {};
$('orbitBadge').innerHTML = L('ROADMAP','VISION FRAME — NOT DEPLOYED');
$('orbReach').textContent = fmt(c.nodes_reachable) + '/' + fmt(c.nodes_total);
$('orbReachL').innerHTML = L('LIVE','PROVEN ON METAL');
$('orbJ').innerHTML = L('MEASURED','PER-NODE, REAL');
$('orbRm').innerHTML = L('ROADMAP','ANALOGY ONLY');
}
// ---- Live-work panel: probe each new capability honestly; render result OR honest PENDING ----
// Candidate endpoint lists — siblings (PowerD1-D4) may ship under any of these.
// We take the FIRST that returns valid JSON this sweep; if none do, we render PENDING.
var KV_EPS = ['/api/a11oy/v1/kverify/summary','/api/a11oy/v1/kverify/status','/api/a11oy/v1/k-verify/summary','/api/a11oy/v1/k-verify/status','/api/a11oy/v1/verify/run/last','/api/a11oy/v1/kverify/last'];
var RAG_EPS = ['/api/a11oy/v1/rag/status','/api/a11oy/v1/rag/last','/api/a11oy/v1/govern-rag/status','/api/a11oy/rag/status','/api/a11oy/v1/rag/health'];
var WATT_EPS = ['/api/a11oy/v1/energy/cheapest-watt','/api/a11oy/v1/routing/cheapest-watt','/api/a11oy/v1/energy/routing/last','/api/a11oy/v1/route/cheapest/last','/api/a11oy/v1/energy/routing/decision'];
var RAG_ASK_EPS = ['/api/a11oy/v1/rag/query','/api/a11oy/v1/rag/ask','/api/a11oy/v1/govern-rag/ask','/api/a11oy/rag/query'];
var RAG_ASK_URL = null; // resolved once a status probe identifies a live RAG surface
function pendingHTML(why){ return '<span class="pending">PENDING<span class="why">'+(why||'endpoint not yet live — shown honestly, not fabricated')+'</span></span>'; }
function shortHash(h){ if(!h) return null; h=String(h); return h.length>20 ? h.slice(0,10)+'…'+h.slice(-6) : h; }
// Try a list of endpoints; resolve with {url,data} of the first that returns ok JSON, else null.
async function firstLive(urls){
var settled = await Promise.allSettled(urls.map(function(u){ return getJSON(u).then(function(d){ return {url:u, data:d}; }); }));
for(var i=0;i<settled.length;i++){ if(settled[i].status==='fulfilled' && settled[i].value && settled[i].value.data) return settled[i].value; }
return null;
}
function renderKVerify(hit){
var el = $('kv-state');
if(!hit){ el.innerHTML = pendingHTML('K-Verify endpoint not live this sweep'); return false; }
var d = hit.data || {};
// Honest idle state: endpoint is LIVE but no run has executed yet this process.
// Surface that truthfully — never synthesize a zero-item "run" that didn't happen.
var runData = d.run || d.last_run || d.summary || d;
var hasRun = (d.ran === true) || (d.ran == null && (runData.n!=null || runData.count!=null || runData.items!=null || runData.total!=null || runData.pass!=null));
if(!hasRun){
el.innerHTML = '<div class="sub2"><b>endpoint live</b> '+L('LIVE','GOVERNED INFERENCE')+'</div>'+
'<div class="sub2">no run yet this process — a signed run posts N items, pass-rate, joules MEASURED + a receipt hash. Shown honestly: no fabricated run.</div>';
return true;
}
d = runData;
var n = (d.n!=null?d.n:(d.count!=null?d.count:(d.items!=null?d.items:(d.total!=null?d.total:null))));
var pass = (d.pass!=null?d.pass:(d.passed!=null?d.passed:(d.pass_count!=null?d.pass_count:null)));
var rate = (d.pass_rate!=null?d.pass_rate:(d.accuracy!=null?d.accuracy:null));
var joules= (d.joules_measured!=null?d.joules_measured:(d.joules!=null?d.joules:(d.measured_joules!=null?d.measured_joules:null)));
var jmeas = (d.joules_label==='MEASURED') || (typeof joules==='number' && joules>0 && d.joules_label!=='SAMPLE');
var rh = d.receipt_hash || d.receipt || d.digest || (d.receipt_digest) || ((d.khipu&&d.khipu.hash)||null);
var verify= d.verify_endpoint || d.receipt_verify_at || '/api/a11oy/khipu/verify';
if(rate==null && typeof pass==='number' && typeof n==='number' && n>0) rate = pass/n;
var passStr = (typeof pass==='number' && typeof n==='number') ? (fmt(pass)+'/'+fmt(n)) : (n!=null?fmt(n)+' items':'—');
var rateStr = (typeof rate==='number') ? (' · '+(rate*100).toFixed(1)+'% pass') : '';
var html = '<div class="big">'+passStr+'</div>';
html += '<div class="sub2">items run / passed'+rateStr+'</div>';
html += '<hr><div class="sub2">energy: <b>'+(joules!=null?fmt(joules)+' J':'—')+'</b> '+(jmeas?L('MEASURED'):L('SAMPLE'))+'</div>';
if(rh){ html += '<div class="receipt">receipt '+shortHash(rh)+'</div>'; html += '<div class="sub2">verify: <code>'+verify+'</code> '+L('LIVE')+'</div>'; }
html += '<div class="lbls">'+L('LIVE','GOVERNED INFERENCE')+'</div>';
el.innerHTML = html;
return true;
}
function renderRag(hit){
var el = $('rag-state'); var qa = $('rag-qa');
if(!hit){ qa.style.display='none'; el.innerHTML = pendingHTML('Govern-RAG endpoint not live this sweep — ask-box activates when it is'); RAG_ASK_URL=null; return false; }
var d = hit.data || {};
// Resolve an ask URL: explicit field, sibling of the status path, or default candidate.
RAG_ASK_URL = d.query_endpoint || d.ask_endpoint || hit.url.replace(/\/(status|health|last)$/,'/query') || RAG_ASK_EPS[0];
qa.style.display='flex';
var idx = d.index || {};
var chunks = idx.chunks || (d.corpus && d.corpus.chunks) || null;
var files = idx.files || null;
var repos = idx.repos || null;
var lastQ = d.last_question || (d.last && d.last.question) || null;
var lastA = d.last_answer || (d.last && d.last.answer) || d.answer || null;
var cites = d.citations || (d.last && d.last.citations) || d.sources || null;
var stat = [];
if(chunks!=null) stat.push(fmt(chunks)+' chunks');
if(files!=null) stat.push(fmt(files)+' files');
if(repos!=null) stat.push(fmt(repos)+' repos');
var html = '<div class="sub2">governed corpus indexed: <b>'+(stat.length?stat.join(' · '):'ready')+'</b> '+L('LIVE')+'</div>';
// Only show a 'last answer' if it carries a real grounded answer string (status citations are not answers).
if(lastA && typeof lastA==='string'){
html += '<div class="ans">'+(lastQ?'<b>Q:</b> '+escapeHTML(lastQ)+'<br>':'')+'<b>A:</b> '+escapeHTML(String(lastA))+'</div>';
if(cites && cites.length){ html += '<div class="cite">cited: '+cites.map(function(c){ return escapeHTML(typeof c==='string'?c:(c.citation||c.path||c.source||c.id||c.doc||JSON.stringify(c))); }).join(' · ')+'</div>'; }
html += '<div class="lbls">'+L('LIVE','GROUNDED + CITED')+'</div>';
} else {
html += '<div class="sub2">Ask the doctrine — answers come only from the governed corpus, with citations; off-corpus returns insufficient grounding.</div>';
}
el.innerHTML = html;
return true;
}
async function askRag(){
var q = ($('rag-q')||{}).value || ''; q = q.trim();
var btn = $('rag-ask'); var el = $('rag-state');
if(!q){ return; }
if(!RAG_ASK_URL){ el.innerHTML = pendingHTML('RAG query endpoint not live'); return; }
btn.disabled = true; var prev = el.innerHTML; el.innerHTML = '<div class="sub2">asking the governed corpus…</div>';
try {
var r = await fetch(RAG_ASK_URL, {method:'POST', headers:{'content-type':'application/json','accept':'application/json'}, body: JSON.stringify({question:q, query:q})});
if(!r.ok) throw new Error('HTTP '+r.status);
var d = await r.json();
var ans = d.answer || d.response || (d.last && d.last.answer) || null;
var cites = d.citations || d.sources || (d.last && d.last.citations) || null;
var grounded = (d.grounded!==false) && ans;
var html = '';
if(grounded){
html += '<div class="ans"><b>Q:</b> '+escapeHTML(q)+'<br><b>A:</b> '+escapeHTML(String(ans))+'</div>';
if(cites && cites.length){ html += '<div class="cite">cited: '+cites.map(function(c){ return escapeHTML(typeof c==='string'?c:(c.id||c.source||c.doc||JSON.stringify(c))); }).join(' · ')+'</div>'; }
html += '<div class="lbls">'+L('LIVE','GROUNDED + CITED')+'</div>';
} else {
html += '<div class="ans"><b>Q:</b> '+escapeHTML(q)+'<br><b>A:</b> insufficient grounding in the governed corpus — no answer returned.</div>';
html += '<div class="lbls">'+L('LIVE','HONEST: NO GUESS')+'</div>';
}
el.innerHTML = html;
} catch(e){
el.innerHTML = '<div class="err">RAG query error: '+escapeHTML(String(e))+'</div>';
} finally { btn.disabled = false; }
}
function renderWatt(hit){
var el = $('watt-state');
if(!hit){ el.innerHTML = pendingHTML('cheapest-watt routing endpoint not live this sweep'); return false; }
var d = hit.data || {};
// Real shape: latest_decision.decision (nested) -> recent_decisions[0] -> flat fallback.
var dec = (d.latest_decision && d.latest_decision.decision) || (d.recent_decisions && d.recent_decisions[0]) || d.decision || d.last || d;
if(typeof dec !== 'object' || dec === null) dec = d;
var node = dec.chosen_node || dec.node || dec.placed_on || dec.target || null;
var price = (dec.grid_price_eur_mwh!=null?dec.grid_price_eur_mwh:(dec.price_eur_mwh!=null?dec.price_eur_mwh:(dec.eur_mwh!=null?dec.eur_mwh:null)));
var priceL= dec.grid_price_label || 'MEASURED';
var save = (dec.saving!=null?dec.saving:(dec.savings_pct!=null?dec.savings_pct:(dec.savings_percent!=null?dec.savings_percent:null)));
var saveLabel = dec.saving_label || dec.savings_label || dec.label || null;
var reason = dec.reason || dec.detail || null;
var chHead = (d.chain && d.chain.head) || dec.receipt_hash || dec.receipt || dec.digest || null;
var html = '';
html += '<div class="big">'+(price!=null?fmt1(price)+' €/MWh':'—')+'</div>';
html += '<div class="sub2">live grid price at decision '+(priceL==='MEASURED'?L('MEASURED'):L('LIVE'))+'</div>';
if(node){
html += '<hr><div class="sub2">chosen node: <b>'+escapeHTML(node)+'</b> '+L('LIVE','LOWEST-€ REACHABLE')+'</div>';
if(save!=null){
var sv = (typeof save==='number') ? ((save<=1?(save*100):save).toFixed(1)+'%') : escapeHTML(String(save));
var lk = (saveLabel==='MEASURED') ? L('MEASURED') : L('MODELED','ROUTING LAW');
html += '<div class="sub2">honest savings vs most-expensive comparable: <b>'+sv+'</b> '+lk+'</div>';
}
} else {
// No placement this tick is an HONEST outcome, not a gap — surface the reason verbatim.
html += '<hr><div class="sub2"><b>no placement this tick</b> '+L('LIVE','HONEST: NO FABRICATED SAVING')+'</div>';
if(reason) html += '<div class="sub2">'+escapeHTML(reason)+'</div>';
}
if(chHead){ html += '<div class="receipt">receipt-chain '+shortHash(chHead)+(d.chain&&d.chain.length!=null?' · len '+fmt(d.chain.length):'')+'</div>'; }
el.innerHTML = html;
return true;
}
function escapeHTML(s){ return String(s).replace(/[&<>"']/g, function(c){ return {'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;'}[c]; }); }
async function loadWork(){
var probes = await Promise.allSettled([ firstLive(KV_EPS), firstLive(RAG_EPS), firstLive(WATT_EPS) ]);
var kv = probes[0].status==='fulfilled' ? probes[0].value : null;
var rag = probes[1].status==='fulfilled' ? probes[1].value : null;
var watt = probes[2].status==='fulfilled' ? probes[2].value : null;
var live = 0;
if(renderKVerify(kv)) live++;
if(renderRag(rag)) live++;
if(renderWatt(watt)) live++;
return live;
}
async function loadAll(){
$('stamp').textContent = 'fetching live fabric state…';
try {
var results = await Promise.allSettled([
getJSON('/api/a11oy/v1/compute-pool-hardened'),
getJSON('/api/a11oy/v1/energy/operator/status'),
getJSON('/api/a11oy/v1/honest'),
getJSON('/api/a11oy/provenance')
]);
var pool = results[0].status==='fulfilled' ? results[0].value : {counts:{},nodes:[]};
var energy = results[1].status==='fulfilled' ? results[1].value : {by_node:{}};
var honest = results[2].status==='fulfilled' ? results[2].value : {};
var prov = results[3].status==='fulfilled' ? results[3].value : {};
renderKpis(pool, energy);
buildHolo(pool);
renderNodes(pool, energy);
renderEnergy(energy);
renderProv(prov, honest);
renderOrbit(pool, energy);
// Live-work panel probes independently (never blocks/breaks the core view).
var workLive = 0;
try { workLive = await loadWork(); } catch(e){ /* tiles fall back to honest PENDING */ }
var errs = results.filter(function(r){return r.status==='rejected';});
var ts = pool.cached_at || new Date().toISOString();
$('stamp').innerHTML = 'live as of <code>'+ts+'</code> · '+L('LIVE','4 ENDPOINTS WIRED') +
' · live work: <b>'+workLive+'/3</b> capabilities surfaced'+(workLive<3?' <span class="note">('+(3-workLive)+' honestly PENDING)</span>':'') +
(errs.length ? ' <span class="err">· '+errs.length+' source(s) unavailable (shown honestly empty)</span>' : '');
} catch(e){
$('stamp').innerHTML = '<span class="err">fabric load error: '+e+'</span>';
}
}
loadAll();
</script>
<script src="/assets/szl-flow.js" defer data-szl-flow-asset="script"></script>
<script src="/assets/szl-holo-v2.js" defer data-szl-holo-asset="script-v2"></script>
</body></html>