Spaces:
Running
Running
File size: 20,487 Bytes
7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 2c6a7ef 7153e35 e97df21 7153e35 2c6a7ef 7153e35 | 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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 | <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>a11oy — Agentic GPU Operator · SZL Holdings</title>
<meta name="description" content="Live operator view of the SZL Agentic GPU engine (RTX 5000 @ betterwithage): sovereign-inference posture, reactive-vs-proactive scheduler activity, energy window, and served-by tier. Honest by design — sovereign:true only when the local box actually serves; energy figures are MODELED until a real meter is wired."/>
<!-- SOVEREIGN: 0 runtime CDN. Fonts self-hosted in-image, served same-origin at
/vendor/fonts/*.woff2 (SAME pattern as the clean console). NO external font CDN. -->
<style>
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url('/vendor/fonts/SpaceGrotesk.woff2') format('woff2');}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 500;font-display:swap;src:url('/vendor/fonts/JetBrainsMono.woff2') format('woff2');}
</style>
<style>
:root{
--ground:#0a0a0a; --panel:#0e0e0e; --panel2:#080808; --rail:#0b0b0b;
--gold:#c9b787; --gold-bright:#d6c69a;
--teal:#5fb3a3; --teal-soft:rgba(95,179,163,0.10);
--cream:#f5f5f5; --paragraph:#9a9a9a; --muted:#888; --dim:#555;
--gold-line:rgba(201,183,135,0.15); --gold-soft:rgba(201,183,135,0.04);
--teal-line:rgba(95,179,163,0.22);
--live:#5a8a6e; --err:#b06a5a; --warn:#c9a05f;
--green:#39d98a; --yellow:#f5c451; --red:#ff6a5a; --blue:#5bc8ff;
--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,monospace;
--display:'Space Grotesk',Georgia,serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--ground);color:var(--cream);font-family:var(--display);-webkit-font-smoothing:antialiased;}
.mono{font-family:var(--mono);}
a{color:inherit;text-decoration:none;}
.topbar{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.5rem 1.1rem;background:rgba(10,10,10,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--gold-line);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);}
.topbar .sep{color:var(--dim);}
.topbar .live{display:inline-flex;align-items:center;gap:.4rem;color:var(--cream);}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--live);box-shadow:0 0 6px var(--live);animation:pulse 2.2s ease-in-out infinite;}
.live-dot.idle{background:var(--warn);box-shadow:0 0 6px var(--warn);}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.switcher{margin-left:auto;display:flex;align-items:center;gap:.3rem;}
.flag{padding:.22rem .55rem;border-radius:6px;border:1px solid transparent;color:var(--muted);transition:.15s;}
.flag:hover{color:var(--cream);border-color:var(--gold-line);background:var(--gold-soft);}
.flag.active{color:var(--ground);background:var(--gold);border-color:var(--gold);font-weight:600;}
.wrap{max-width:1320px;margin:0 auto;padding:1.6rem 1.4rem 4rem;}
h1{font-size:1.7rem;font-weight:600;margin:.2rem 0 .3rem;letter-spacing:-.01em;}
.badge{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border:1px solid var(--teal-line);background:var(--teal-soft);padding:.25rem .6rem;border-radius:5px;margin-left:.4rem;vertical-align:middle;}
.lede{color:var(--paragraph);font-size:.95rem;line-height:1.65;max-width:1180px;margin:.6rem 0 1rem;}
.lede b{color:var(--cream);font-weight:600;}
.econ{border:1px solid var(--gold-line);background:var(--gold-soft);border-radius:8px;padding:.7rem 1rem;margin:.4rem 0 1.2rem;font-family:var(--mono);font-size:12px;color:var(--paragraph);line-height:1.7;}
.econ .k{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:10px;}
.econ .hi{color:var(--teal);}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:0 0 1.2rem;}
.card{border:1px solid var(--gold-line);background:var(--panel);border-radius:8px;padding:.85rem 1rem;}
.card .lbl{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);}
.card .big{font-size:1.5rem;font-weight:600;margin:.35rem 0 .15rem;color:var(--teal);}
.card .sub{font-family:var(--mono);font-size:10.5px;color:var(--muted);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.panel{border:1px solid var(--gold-line);background:var(--panel);border-radius:10px;padding:1rem 1.1rem;}
.panel h2{font-size:1.05rem;font-weight:600;margin:0 0 .2rem;display:flex;align-items:center;justify-content:space-between;}
.panel h2 .meta{font-family:var(--mono);font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em;}
.kv{font-family:var(--mono);font-size:12px;color:var(--paragraph);line-height:1.9;margin-top:.5rem;}
.kv .row{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px dashed var(--gold-soft);padding:.15rem 0;}
.kv .k{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;}
.kv .v{color:var(--cream);text-align:right;word-break:break-all;}
.pill{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .5rem;border-radius:5px;border:1px solid var(--gold-line);}
.pill.ok{color:var(--green);border-color:rgba(57,217,138,.35);background:rgba(57,217,138,.07);}
.pill.warn{color:var(--yellow);border-color:rgba(245,196,81,.35);background:rgba(245,196,81,.07);}
.pill.bad{color:var(--red);border-color:rgba(255,106,90,.35);background:rgba(255,106,90,.07);}
.pill.cool{color:var(--blue);border-color:rgba(91,200,255,.35);background:rgba(91,200,255,.07);}
.queues{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.7rem;}
.qbox{border:1px solid var(--gold-line);border-radius:8px;padding:.7rem .85rem;background:var(--panel2);}
.qbox .qlbl{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);}
.qbox .qn{font-size:1.8rem;font-weight:600;margin:.2rem 0;}
.qbox.reactive .qn{color:var(--red);}
.qbox.proactive .qn{color:var(--blue);}
.qbox .qsub{font-family:var(--mono);font-size:10px;color:var(--muted);}
.bar{height:6px;border-radius:3px;background:#161616;overflow:hidden;margin-top:.4rem;}
.bar > i{display:block;height:100%;border-radius:3px;}
.simnote{border:1px solid var(--warn);background:rgba(201,160,95,.06);border-radius:8px;padding:.7rem .9rem;margin-top:.8rem;font-family:var(--mono);font-size:11px;color:#d8c39a;line-height:1.65;}
.simnote b{color:var(--warn);}
.receipt{margin-top:.7rem;font-family:var(--mono);font-size:11px;color:var(--paragraph);white-space:pre-wrap;word-break:break-all;line-height:1.6;border-top:1px solid var(--gold-line);padding-top:.6rem;}
.empty{font-family:var(--mono);font-size:11.5px;color:var(--muted);line-height:1.7;border:1px dashed var(--gold-line);border-radius:8px;padding:.8rem 1rem;margin-top:.6rem;}
.empty b{color:var(--warn);}
.footnote{margin-top:1.6rem;font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.7;border-top:1px solid var(--gold-line);padding-top:.9rem;}
.footnote b{color:var(--cream);}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,1fr);}.grid2{grid-template-columns:1fr;}.queues{grid-template-columns:1fr 1fr;}}
</style>
</head>
<body>
<div class="topbar">
<span>SZL HOLDINGS</span><span class="sep">/</span><span>a11oy</span><span class="sep">/</span><span>AGENTIC GPU OPERATOR</span>
<span class="sep">/</span><span class="live"><span class="live-dot" id="livedot"></span><span id="livelbl">PROBING…</span></span>
<span class="switcher">
<a class="flag" href="/fleet-c2">Fleet C2</a>
<a class="flag" href="/living-anatomy">Living Anatomy</a>
<a class="flag active" href="/agentic-gpu">Agentic GPU</a>
<a class="flag" href="/code">Code</a>
</span>
</div>
<div class="wrap">
<h1>Agentic GPU — Operator View<span class="badge">RTX 5000 @ betterwithage · reactive ⇄ proactive · energy-gated</span></h1>
<p class="lede">The <b>operator console</b> for the resident agentic GPU engine. One GPU runs a <b>reactive lane</b> (Chaski/Code turns, Priority 0) that <b>preempts</b> a <b>proactive lane</b> (background agenda, Priority 1) — proactive throughput <b>never starves</b> reactive latency (Agent.xpu pattern, arXiv:2506.24045). Proactive dispatch is <b>energy-gated</b>: heavy background work only fires in a <b>cheap / surplus</b> power window. This view reads the <b>real</b> <span class="mono">/code/healthz</span> sovereign posture live, and degrades honestly when the energy-budget and scheduler-status endpoints are not yet wired.</p>
<div class="econ"><span class="k">Why it matters:</span> a resident engine that <span class="hi">harvests wasted surplus power</span> for background work while <span class="hi">guaranteeing interactive latency</span> turns an idle box into a sovereign compute asset — and the <span class="hi">sovereign:true flag is honest</span>: it is asserted ONLY when this node actually serves the turn locally.</div>
<div class="cards">
<div class="card"><div class="lbl">Sovereign posture</div><div class="big" id="c_sov">standby</div><div class="sub" id="c_sov_sub">probing /code/healthz</div></div>
<div class="card"><div class="lbl">Served-by tier</div><div class="big" id="c_served" style="color:var(--blue)">standby</div><div class="sub" id="c_served_sub">inference path</div></div>
<div class="card"><div class="lbl">Energy window</div><div class="big" id="c_window" style="color:var(--gold)">standby</div><div class="sub" id="c_window_sub">cheap / normal / dear</div></div>
<div class="card"><div class="lbl">Last preemption</div><div class="big" id="c_preempt" style="color:var(--yellow)">standby</div><div class="sub">reactive over proactive</div></div>
</div>
<div class="grid2">
<div class="panel">
<h2>GPU node & sovereign inference<span class="meta">/code/healthz · live</span></h2>
<div class="kv" id="nodekv">
<div class="row"><span class="k">probing…</span><span class="v">standby</span></div>
</div>
<div class="simnote" id="sovnote"><b>Honest posture gate:</b> <span class="mono">sovereign:true</span> is reported ONLY when the local box endpoint actually answers this process; otherwise turns serve via the HF Router and the flag stays <span class="mono">false</span> (the half-state — banner "sovereign" while the router serves — is the one unacceptable outcome).</div>
</div>
<div class="panel">
<h2>Scheduler — reactive ⇄ proactive<span class="meta">Agent.xpu · single-GPU co-schedule</span></h2>
<div class="queues">
<div class="qbox reactive">
<div class="qlbl">Reactive queue · P0</div>
<div class="qn" id="q_reactive">standby</div>
<div class="qsub">Chaski / Code turns · preempts</div>
<div class="bar"><i id="q_reactive_bar" style="width:0;background:var(--red)"></i></div>
</div>
<div class="qbox proactive">
<div class="qlbl">Proactive queue · P1</div>
<div class="qn" id="q_proactive">standby</div>
<div class="qsub">background agenda · energy-gated</div>
<div class="bar"><i id="q_proactive_bar" style="width:0;background:var(--blue)"></i></div>
</div>
</div>
<div class="kv" id="schedkv"></div>
<div class="empty" id="schedempty" style="display:none"><b>Scheduler-status endpoint not wired yet.</b> The resident daemon + gate (<span class="mono">agentic/scheduler.py</span>, PR #357) run nowhere live yet — no <span class="mono">/v1/scheduler/status</span> route is registered. Queue depths and preemption counters will populate once the daemon is deployed on the box. Honest empty-state, no fabricated counters.</div>
</div>
</div>
<div class="grid2" style="margin-top:1rem">
<div class="panel">
<h2>Energy window & budget ledger<span class="meta">/v1/energy/budget · MODELED</span></h2>
<div class="kv" id="energykv"></div>
<div class="empty" id="energyempty" style="display:none"><b>Energy-budget endpoint not wired yet.</b> <span class="mono">GET /v1/energy/budget</span> (Bekenstein-gated receipt + ledger, PR #328) is not registered on this server. The only honest live signal today is the off-peak clock; no power meter is wired, so all joules would be <span class="mono">MODELED</span>. This panel populates once the budget layer is registered.</div>
<div class="simnote"><b>MODELED:</b> no real power meter is wired (doctrine v11/v12). Every joule / price figure shown is an estimate until a physical meter feeds the ledger. NO free-energy or perpetual-motion claim is made — the engine harvests <i>wasted</i> surplus and proves <i>bounded</i> information work.</div>
</div>
<div class="panel">
<h2>Posture receipt<span class="meta">raw probe tape</span></h2>
<div class="receipt" id="receipt">probing…</div>
</div>
</div>
<div class="footnote">
<b>Honest by design.</b> Sovereign posture, inference path, and served-by tier are read <b>live</b> from <span class="mono">/api/a11oy/code/healthz</span>; <span class="mono">sovereign:true</span> is asserted <b>only</b> when the local endpoint actually serves the turn (mirrors the serving path — no overclaim). The <b>scheduler-status</b> and <b>energy-budget</b> panels <b>degrade gracefully</b> with a labeled empty-state when their endpoints are absent (they are not yet deployed on the box). All energy figures are <b>MODELED</b> — no power meter is wired. <b>No free-energy claim.</b> Λ = Conjecture 1 (advisory). 0 runtime CDN.
</div>
</div>
<script>
const A="/api/a11oy";
const $=id=>document.getElementById(id);
async function getJSON(u,opt){try{const r=await fetch(u,opt);if(!r.ok)return null;return await r.json();}catch(e){return null;}}
function esc(s){return String(s==null?'':s).replace(/[&<>"']/g,function(c){return({'&':'&','<':'<','>':'>','"':'"',"'":'''}[c]||c);});}
function row(k,v){return `<div class="row"><span class="k">${esc(k)}</span><span class="v">${v}</span></div>`;}
function pill(txt,cls){return `<span class="pill ${cls}">${esc(txt)}</span>`;}
// honest energy-window classifier from an off-peak clock when no budget feed.
// Returns {window, label, source}. Conservative: only "cheap" when clearly off-peak.
function clockWindow(){
const h=new Date().getHours();
// off-peak (cheap) overnight 23:00–07:00; peak (dear) 17:00–21:00; else normal.
if(h>=23||h<7) return {window:'cheap', cls:'cool', source:'off-peak clock (local)'};
if(h>=17&&h<21) return {window:'dear', cls:'warn', source:'off-peak clock (local)'};
return {window:'normal', cls:'ok', source:'off-peak clock (local)'};
}
async function load(){
// 1) ALWAYS-LIVE: sovereign posture from /code/healthz
const h=await getJSON(A+"/code/healthz");
const sov = h && h.sovereign === true;
if(h){
$('livedot').className='live-dot'+(sov?'':' idle');
$('livelbl').textContent = sov ? 'SOVEREIGN · LOCAL' : 'ROUTER · NOT SOVEREIGN';
$('c_sov').textContent = sov ? 'SOVEREIGN' : 'ROUTER';
$('c_sov').style.color = sov ? 'var(--green)' : 'var(--yellow)';
$('c_sov_sub').textContent = esc(h.mode||'')+' · '+esc(h.backend||'');
const inf = h.inference||'—';
$('c_served').textContent = inf==='self-hosted-gpu' ? 'GPU' : (inf||'—').toUpperCase().slice(0,10);
$('c_served_sub').textContent = esc(inf);
const gpu = h.gpu || h.configured_gpu_label || null;
let nrows = [
row('node', gpu ? pill(esc(gpu),'cool') : pill('RTX 5000 @ betterwithage (label not set)','warn')),
row('sovereign', sov ? pill('true · local serves','ok') : pill('false · router serves','warn')),
row('inference', esc(h.inference||'—')),
row('mode', esc(h.mode||'—')),
row('backend', esc(h.backend||'—')),
row('base_url', esc((h.base_url||'').replace(/^https?:\/\//,''))),
row('doctrine', esc(h.doctrine||'—')),
row('agentic loaded', h.agentic ? pill('true','ok') : pill('false','warn')),
];
if(h.configured_local_base) nrows.push(row('configured local', esc(h.configured_local_base.replace(/^https?:\/\//,''))));
if(h.honest_note) nrows.push(row('honest_note', `<span style="color:var(--warn)">${esc(h.honest_note)}</span>`));
$('nodekv').innerHTML = nrows.join('');
$('receipt').textContent = [
`probe: GET ${A}/code/healthz`,
`status: ${esc(h.status||'—')} · component: ${esc(h.component||'—')}`,
`sovereign: ${sov} ${sov?'(local box serves this turn)':'(HF Router serves — NOT sovereign)'}`,
`inference: ${esc(h.inference||'—')} · mode: ${esc(h.mode||'—')} · backend: ${esc(h.backend||'—')}`,
`gpu_label: ${esc(gpu||'(unset — A11OY_GPU_LABEL not configured)')}`,
`tiers: ${esc((h.tiers||[]).join(', ')||'—')}`,
`built_by: ${esc(h.built_by||'—')}`,
`ts(local): ${new Date().toISOString()}`,
].join('\n');
} else {
$('livedot').className='live-dot idle';
$('livelbl').textContent='HEALTHZ UNREACHABLE';
$('c_sov').textContent='—'; $('c_sov').style.color='var(--red)';
$('c_sov_sub').textContent='/code/healthz unreachable';
$('nodekv').innerHTML = row('error', `<span style="color:var(--red)">/code/healthz unreachable — cannot assert posture</span>`);
$('receipt').textContent='probe failed: '+A+'/code/healthz unreachable';
}
// 2) BEST-EFFORT: scheduler status (endpoint not deployed yet -> honest empty-state)
const sched = await getJSON(A+"/v1/scheduler/status");
if(sched){
const rq = sched.reactive_depth ?? sched.reactive ?? 0;
const pq = sched.proactive_depth ?? sched.proactive ?? 0;
const mx = Math.max(1, rq, pq, 8);
$('q_reactive').textContent = rq;
$('q_proactive').textContent = pq;
$('q_reactive_bar').style.width = Math.round(100*rq/mx)+'%';
$('q_proactive_bar').style.width = Math.round(100*pq/mx)+'%';
const lastP = sched.last_preemption || sched.last_preempt_ts;
$('c_preempt').textContent = lastP ? 'YES' : '0';
$('c_preempt').style.color = lastP ? 'var(--yellow)' : 'var(--muted)';
$('schedkv').innerHTML = [
row('preemptions', esc(sched.preemptions ?? '—')),
row('reactive_done', esc(sched.reactive_done ?? '—')),
row('proactive_done', esc(sched.proactive_done ?? '—')),
row('last_preemption', esc(lastP || '—')),
row('proactive_gated', sched.proactive_gated ? pill('paused (energy)','warn') : pill('eligible','ok')),
].join('');
$('schedempty').style.display='none';
} else {
$('q_reactive').textContent='—';
$('q_proactive').textContent='—';
$('q_reactive_bar').style.width='0';
$('q_proactive_bar').style.width='0';
$('c_preempt').textContent='—';
$('schedkv').innerHTML='';
$('schedempty').style.display='block';
}
// 3) BEST-EFFORT: energy budget + window (endpoint not registered on main yet)
const bud = await getJSON(A+"/v1/energy/budget");
if(bud){
const win = bud.window || bud.energy_window || null;
const cls = win==='cheap'?'cool':(win==='dear'?'warn':'ok');
$('c_window').textContent = win ? win.toUpperCase() : '—';
$('c_window_sub').textContent = win ? 'from budget feed' : 'cheap / normal / dear';
$('energykv').innerHTML = [
row('window', win ? pill(esc(win),cls) : '—'),
row('task_count', esc(bud.task_count ?? '—')),
row('Σ shannon_bits', esc(bud.total_shannon_bits ?? '—')),
row('Σ bekenstein_bits', esc(bud.total_bekenstein_bound_bits ?? '—')),
row('all_within_bound', bud.all_within_bound===false ? pill('VIOLATION','bad') : (bud.all_within_bound===true?pill('true','ok'):'—')),
row('Σ joules_est', `${esc(bud.total_joules_est ?? 'standby')} <span style="color:var(--warn)">MODELED</span>`),
row('gate', `<span style="font-size:10px">${esc(bud.gate||'—')}</span>`),
].join('');
$('energyempty').style.display='none';
} else {
// honest fallback window from an off-peak clock — clearly labeled as a clock estimate.
const w = clockWindow();
$('c_window').textContent = w.window.toUpperCase();
$('c_window_sub').textContent = w.source;
$('energykv').innerHTML='';
$('energyempty').style.display='block';
}
}
load();
setInterval(load,30000);
</script>
</body>
</html>
|