betterwithage commited on
Commit
53a82fc
·
verified ·
1 Parent(s): 21f967d

chore(sync): mirror front-door files to Space (hf-sync)

Browse files

Automated front-door sync from szl-holdings/a11oy main via hf-sync.
Added/updated: cathedral.html, cathedral_genius.html, console/docs.html, console/index.html, console/pricing.html, console/throne-room.html, console/throne-room.js, live_wires.html, pages/api-keys.html, pages/audit.html, pages/ayni.html, pages/brain-dual.html, pages/brain-jack.html, pages/brain.html, pages/chaski.html, pages/codex-kernel.html, pages/company.html, pages/compliance.html, pages/console.html, pages/counter-uas.html, pages/cued-engagement.html, pages/docs.html, pages/energy-ops.html, pages/evidence.html, pages/fabric.html, pages/gap-report.html, pages/harvest.html, pages/hatun-mcp.html, pages/hub.html, pages/integrations.html, pages/landing.html, pages/mesh.html, pages/observability.html, pages/operator_organ.html, pages/pinn.html, pages/pnt.html, pages/pricing.html, pages/run-all.html, pages/sdk.html, pages/security.html, pages/status.html, pages/substrate.html, pages/superpowers.html, pages/throne-room.html, pages/throne-room.js, pages/uds.html, pages/upgrades.html, pages/wallpa.html, pages/warhacker.html, pages/wasi-rikuq.html, pages/wires.html, static/a11oy_cathedral.js, static/cathedral_app.js, static/shared/szl_codename_sanitizer.js, static/shared/szl_holo3d.js, static/shared/szl_label_engine.js, static/shared/szl_receipt_cosign.js, web/agent-loop.html, web/agentic-gpu.html, web/autoreview.html, web/console.html, web/console_index.html, web/constitution.html, web/defense-readiness.html, web/dns.html, web/elite_console.html, web/energy-holographic.html, web/energy.html, web/estate-hologram.html, web/fleet-c2.html, web/formulas.html, web/governance.html, web/holo.html, web/hologram.html, web/immune.html, web/index.html, web/living-anatomy.html, web/materials.html, web/nemo.html, web/operator.html, web/quant.html, web/restraint-bench.html, web/restraint.html, web/sda.html, web/signature-is-not-proof.html, web/v4_fleet_panel.html
Deleted (gone from GitHub main): (none)

Keeps the served front-door (pages/*.html, console/*.html) identical
to GitHub main so an HF factory rebuild never drops a GitHub edit or
keeps serving a page that was deleted on GitHub.

Files changed (1) hide show
  1. pages/warhacker.html +256 -26
pages/warhacker.html CHANGED
@@ -3,8 +3,8 @@
3
  <head>
4
  <meta charset="UTF-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6
- <title>a11oy — Mission Surfaces · SZL Holdings</title>
7
- <meta name="description" content="Five working a11oy mission surfaces: AI Oversight, Deploy Posture, Mission Health, Trajectory Picture, and Edge Run. Each runs live in-image and produces a real, signed, re-verifiable result."/>
8
  <!-- SOVEREIGN: 0 runtime CDN. Fonts self-hosted in-image, served same-origin at
9
  /vendor/fonts/*.woff2 (SAME pattern as the clean console). NO external font CDN. -->
10
  <style>
@@ -183,25 +183,107 @@
183
  .sub{font-family:var(--mono);font-size:10px;color:var(--teal);margin:.3rem 0 0;}
184
  .gap{height:.6rem;}
185
  </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  </head>
187
  <body>
188
- <div class="ribbon">
189
- <span class="live"><span class="live-dot"></span>a11oy</span>
190
- <span class="sep">·</span><span>Mission Surfaces</span>
191
- <span class="sep">·</span><span class="teal">in-image · signed · re-verifiable</span>
192
- <a href="/console">console →</a>
 
 
 
 
 
 
 
 
 
 
193
  </div>
194
 
195
  <section class="hero">
196
  <div class="grid-bg"></div>
197
  <div class="hero-inner">
198
- <span class="eyebrow"><span class="eyebrow-dot"></span><span class="eyebrow-text">Five working surfaces · live on this Space</span></span>
199
- <h1 class="headline">One platform.<br/><span class="accent">Five mission answers.</span></h1>
200
- <p class="support">Each surface below runs live inside this container and returns a real result &mdash;
201
- a governed decision with a signed, tamper-evident record you can re-verify on screen, a deployment
202
- package read live from the registry, a readiness dashboard, an instant trajectory picture, and the
203
- whole governed decision running on the device itself.</p>
204
- <button class="runall" id="runAll">▶ Run all five</button>
 
205
  <div class="stats">
206
  <div class="stat"><div class="k">Surfaces live</div><div class="v" id="stLive">0 / 5</div></div>
207
  <div class="stat"><div class="k">Records signed</div><div class="v teal" id="stSigned">0</div></div>
@@ -211,6 +293,77 @@
211
  </div>
212
  </section>
213
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  <div class="tabs-bar" id="tabsBar">
215
  <button class="tab-btn active" data-tab="oversight"><span class="dot" id="dot-oversight"></span>AI Oversight</button>
216
  <button class="tab-btn" data-tab="deploy"><span class="dot" id="dot-deploy"></span>Deploy Posture</button>
@@ -354,13 +507,18 @@ SAT-B 35786 3.07 0.0'></textarea>
354
 
355
  <div class="honest">
356
  <div class="honest-box" id="honestBox">
357
- <b>What is real here.</b> Every surface above runs live in this container. Governed decisions are sealed into
358
- real DSSE envelopes signed by an in-image ECDSA-P256 key (verifiable against
359
  <a href="/cosign.pub" style="color:var(--teal)">/cosign.pub</a>); change one byte and re-verify returns false.
360
- The advisory trust score (&Lambda;) is a research conjecture, not a pass/fail oracle. Deploy posture is read live
361
- from the public registry. Attestation is SLSA Build L2 on the organ images (honest L1 + L2) &mdash; not the bundle,
362
- not L3, not an ATO. Readiness and trajectory use clearly-labelled sample inputs over real logic; plug a real feed
363
- into the same shape and they are live.
 
 
 
 
 
364
  </div>
365
  </div>
366
 
@@ -399,13 +557,25 @@ SAT-B 35786 3.07 0.0'></textarea>
399
 
400
  // ---------- tab switching ----------
401
  var tabBtns = document.querySelectorAll(".tab-btn");
 
 
 
 
 
 
 
 
 
402
  tabBtns.forEach(function(b){
403
- b.addEventListener("click", function(){
404
- tabBtns.forEach(function(x){ x.classList.remove("active"); });
405
- b.classList.add("active");
406
- document.querySelectorAll(".panel").forEach(function(p){ p.classList.remove("active"); });
407
- $("panel-"+b.dataset.tab).classList.add("active");
408
- if(b.dataset.tab === "trajectory") drawTraj();
 
 
 
409
  });
410
  });
411
 
@@ -694,6 +864,66 @@ SAT-B 35786 3.07 0.0'></textarea>
694
  getJSON("/warhacker-tabs/index").then(function(r){
695
  if(r.json && r.json.ok){ /* surfaces present */ }
696
  }).catch(function(){});
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
697
  drawTraj();
698
  })();
699
  </script>
 
3
  <head>
4
  <meta charset="UTF-8"/>
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
6
+ <title>a11oy — Governed Mission Compute · WarHacker · SZL Holdings</title>
7
+ <meta name="description" content="a11oy is governed substrate for defense: code-as-action that is ALLOWED or BLOCKED and sealed into a signed, re-verifiable receipt. Army counter-UAS, Navy maritime, multi-domain joint compute — each a live in-image surface. Honest labels only."/>
8
  <!-- SOVEREIGN: 0 runtime CDN. Fonts self-hosted in-image, served same-origin at
9
  /vendor/fonts/*.woff2 (SAME pattern as the clean console). NO external font CDN. -->
10
  <style>
 
183
  .sub{font-family:var(--mono);font-size:10px;color:var(--teal);margin:.3rem 0 0;}
184
  .gap{height:.6rem;}
185
  </style>
186
+ <style>
187
+ /* --- LIVE STATUS RIBBON (real numbers pulled from live a11oy endpoints) --- */
188
+ .liveribbon{position:sticky;top:0;z-index:60;display:flex;align-items:stretch;gap:0;flex-wrap:wrap;
189
+ font-family:var(--mono);background:linear-gradient(90deg,#070707,#0c0c0c 60%,#070707);
190
+ border-bottom:1px solid var(--gold-line);overflow:hidden;}
191
+ .lr-brand{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-right:1px solid var(--gold-line);
192
+ font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:600;white-space:nowrap;}
193
+ .lr-cells{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:stretch;}
194
+ .lr-cell{display:flex;flex-direction:column;justify-content:center;gap:.1rem;padding:.4rem .9rem;
195
+ border-right:1px solid var(--gold-soft);min-width:auto;}
196
+ .lr-cell .lk{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
197
+ .lr-cell .lv{font-size:12.5px;color:var(--cream);font-weight:500;display:flex;align-items:center;gap:.35rem;}
198
+ .lr-cell .lv.teal{color:var(--teal);} .lr-cell .lv.gold{color:var(--gold);} .lr-cell .lv.err{color:var(--err);}
199
+ .lr-cell .lv.pending{color:var(--dim);}
200
+ .lr-tag{font-size:8px;letter-spacing:.1em;padding:.05rem .3rem;border-radius:3px;text-transform:uppercase;}
201
+ .lr-tag.measured{color:var(--live);border:1px solid rgba(90,138,110,.4);background:rgba(90,138,110,.1);}
202
+ .lr-tag.sample{color:var(--gold);border:1px solid var(--gold-line);background:var(--gold-soft);}
203
+ .lr-tag.nolive{color:var(--err);border:1px solid rgba(176,106,90,.4);background:rgba(176,106,90,.08);}
204
+ .lr-foot{display:flex;align-items:center;padding:.4rem 1rem;border-left:1px solid var(--gold-line);
205
+ font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);white-space:nowrap;margin-left:auto;}
206
+ .lr-foot a{color:var(--muted);text-decoration:none;} .lr-foot a:hover{color:var(--gold);}
207
+
208
+ /* --- WOW BANNER: governed code-as-action --- */
209
+ .wow{max-width:64rem;margin:1.5rem auto .5rem;padding:0 1.25rem;}
210
+ .wow-card{border:1px solid var(--gold-line);border-radius:14px;background:
211
+ radial-gradient(120% 140% at 0% 0%,rgba(95,179,163,.06),transparent 55%),var(--panel);
212
+ padding:1.4rem 1.5rem;}
213
+ .wow-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
214
+ .wow-h{font-size:clamp(1.3rem,3vw,1.9rem);font-weight:400;letter-spacing:-.02em;line-height:1.2;margin:0 0 .6rem;color:var(--cream);}
215
+ .wow-h b{font-weight:600;}
216
+ .wow-flow{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-family:var(--mono);font-size:12px;margin:.8rem 0;}
217
+ .wow-step{padding:.35rem .7rem;border-radius:7px;border:1px solid var(--gold-line);background:var(--panel2);color:var(--paragraph);}
218
+ .wow-step.allow{color:var(--live);border-color:rgba(90,138,110,.4);background:rgba(90,138,110,.08);}
219
+ .wow-step.block{color:var(--err);border-color:rgba(176,106,90,.4);background:rgba(176,106,90,.08);}
220
+ .wow-step.seal{color:var(--teal);border-color:var(--teal-line);background:var(--teal-soft);}
221
+ .wow-arr{color:var(--dim);}
222
+ .wow-sub{font-size:13px;line-height:1.6;color:var(--paragraph);margin:.3rem 0 0;max-width:46rem;}
223
+ .wow-ctas{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem;}
224
+ .wow-cta{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1.2rem;font-family:var(--mono);font-size:12px;
225
+ font-weight:500;border-radius:8px;cursor:pointer;text-decoration:none;letter-spacing:.04em;}
226
+ .wow-cta.primary{background:var(--gold);color:var(--ground);border:1px solid var(--gold);}
227
+ .wow-cta.primary:hover{background:var(--gold-bright);}
228
+ .wow-cta.ghost{background:transparent;color:var(--teal);border:1px solid var(--teal-line);}
229
+ .wow-cta.ghost:hover{background:var(--teal-soft);}
230
+
231
+ /* --- DOMAIN BAND: Army / Navy / Multi-domain --- */
232
+ .domains{max-width:64rem;margin:2rem auto 1rem;padding:0 1.25rem;}
233
+ .domains-h{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
234
+ text-align:center;margin-bottom:1rem;}
235
+ .dgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;}
236
+ .dcard{border:1px solid var(--gold-line);border-radius:12px;background:var(--panel);padding:1.1rem 1.2rem;
237
+ display:flex;flex-direction:column;text-decoration:none;transition:border-color .18s ease,transform .18s ease;}
238
+ .dcard:hover{border-color:rgba(201,183,135,.45);transform:translateY(-2px);}
239
+ .dcard .dtag{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.5rem;}
240
+ .dcard .dt{font-size:1.05rem;font-weight:500;color:var(--cream);margin-bottom:.4rem;letter-spacing:-.01em;}
241
+ .dcard .dd{font-size:12.5px;line-height:1.55;color:var(--paragraph);flex:1;}
242
+ .dcard .dlink{font-family:var(--mono);font-size:11px;color:var(--gold);margin-top:.8rem;}
243
+ .dcard .dlink::after{content:" →";}
244
+ .dcard .dmat{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.4rem;}
245
+
246
+ /* --- PROOF strip --- */
247
+ .proof{max-width:64rem;margin:1.5rem auto;padding:0 1.25rem;}
248
+ .proof-card{border:1px solid var(--teal-line);border-radius:12px;background:var(--teal-soft);padding:1.2rem 1.4rem;
249
+ display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap;}
250
+ .proof-card .pc-l{flex:1 1 320px;}
251
+ .proof-card .pc-h{font-size:1.05rem;font-weight:500;color:var(--cream);margin:0 0 .35rem;}
252
+ .proof-card .pc-h b{color:var(--teal);}
253
+ .proof-card .pc-d{font-size:12.5px;line-height:1.6;color:var(--paragraph);margin:0;}
254
+ .proof-card .pc-d code{color:var(--gold);font-family:var(--mono);font-size:11px;}
255
+ .proof-card .pc-r{display:flex;gap:.6rem;flex-wrap:wrap;}
256
+ </style>
257
  </head>
258
  <body>
259
+ <!-- LIVE STATUS RIBBON — every number below is pulled from a live a11oy endpoint
260
+ on this Space at page load; honest labels (MEASURED / SAMPLE / NO-LIVE-DATA),
261
+ never fabricated. -->
262
+ <div class="liveribbon" id="liveRibbon" aria-label="Live a11oy substrate status">
263
+ <span class="lr-brand"><span class="live-dot"></span>a11oy · governed substrate</span>
264
+ <div class="lr-cells">
265
+ <div class="lr-cell"><span class="lk">Energy operator</span><span class="lv pending" id="lrOp">probing…</span></div>
266
+ <div class="lr-cell"><span class="lk">Jobs done</span><span class="lv pending" id="lrJobs">—</span></div>
267
+ <div class="lr-cell"><span class="lk">Joules</span><span class="lv pending" id="lrJoules">—</span></div>
268
+ <div class="lr-cell"><span class="lk">Nodes computing</span><span class="lv pending" id="lrNodes">—</span></div>
269
+ <div class="lr-cell"><span class="lk">Substrate</span><span class="lv pending" id="lrSub">—</span></div>
270
+ <div class="lr-cell"><span class="lk">Λ trust</span><span class="lv gold">Conjecture 1 · advisory</span></div>
271
+ <div class="lr-cell"><span class="lk">Locked proofs</span><span class="lv teal" id="lrLocked">8</span></div>
272
+ </div>
273
+ <div class="lr-foot"><a href="/console">console →</a></div>
274
  </div>
275
 
276
  <section class="hero">
277
  <div class="grid-bg"></div>
278
  <div class="hero-inner">
279
+ <span class="eyebrow"><span class="eyebrow-dot"></span><span class="eyebrow-text">WarHacker · governed mission compute · live on this Space</span></span>
280
+ <h1 class="headline">Code is action.<br/><span class="accent">Govern it, or it governs you.</span></h1>
281
+ <p class="support">a11oy is the <b style="color:var(--cream)">governed substrate</b> beneath the mission:
282
+ every autonomous decision is checked against authorized limits, <span style="color:var(--live)">ALLOWED</span>
283
+ or <span style="color:var(--err)">BLOCKED</span> at the exact line it crosses, and sealed into a signed,
284
+ tamper-evident receipt you can re-verify on screen. Army counter-UAS, Navy maritime, multi-domain joint
285
+ compute &mdash; one governed core, every domain.</p>
286
+ <button class="runall" id="runAll">▶ Run all five mission surfaces</button>
287
  <div class="stats">
288
  <div class="stat"><div class="k">Surfaces live</div><div class="v" id="stLive">0 / 5</div></div>
289
  <div class="stat"><div class="k">Records signed</div><div class="v teal" id="stSigned">0</div></div>
 
293
  </div>
294
  </section>
295
 
296
+ <!-- THE WOW — governed code-as-action: ALLOW vs BLOCK -> signed receipt -->
297
+ <div class="wow">
298
+ <div class="wow-card">
299
+ <div class="wow-eyebrow">The wow · governed code-as-action</div>
300
+ <h2 class="wow-h">An AI tries to cross a line. <b>a11oy catches it at the line</b> &mdash; and signs the proof.</h2>
301
+ <div class="wow-flow">
302
+ <span class="wow-step">request</span><span class="wow-arr">→</span>
303
+ <span class="wow-step">read the rules</span><span class="wow-arr">→</span>
304
+ <span class="wow-step">policy gate</span><span class="wow-arr">→</span>
305
+ <span class="wow-step allow">ALLOW</span><span class="wow-arr">/</span><span class="wow-step block">BLOCK</span><span class="wow-arr">→</span>
306
+ <span class="wow-step seal">signed receipt</span>
307
+ </div>
308
+ <p class="wow-sub">The same deny-by-default governed run the platform uses everywhere. Pick a scenario,
309
+ watch it cross (or stay inside) an authorized parameter, then <b style="color:var(--cream)">Re-verify</b>
310
+ the sealed record and <b style="color:var(--cream)">Tamper test</b> it &mdash; a single flipped byte returns
311
+ <span class="mono" style="color:var(--err)">verified:false</span>.</p>
312
+ <div class="wow-ctas">
313
+ <a class="wow-cta primary" href="#panel-oversight" id="wowJump">▶ See ALLOW vs BLOCK</a>
314
+ <a class="wow-cta ghost" href="/signature-is-not-proof">Why a signature is not proof →</a>
315
+ </div>
316
+ </div>
317
+ </div>
318
+
319
+ <!-- DOMAIN BAND — Army / Navy / Multi-domain, each a live surface -->
320
+ <div class="domains">
321
+ <div class="domains-h">One governed core · every defense domain</div>
322
+ <div class="dgrid">
323
+ <a class="dcard" href="/counter-uas">
324
+ <span class="dtag">Army · Counter-UAS</span>
325
+ <span class="dt">Govern the engagement decision</span>
326
+ <span class="dd">A drone is inbound and an autonomous system wants to act. The governed gate holds any
327
+ engagement outside the authorized zone or without human authorization &mdash; and seals the held decision.</span>
328
+ <span class="dmat">LIVE surface · adversary catalog + legal/cyber boundary</span>
329
+ <span class="dlink">Open counter-UAS</span>
330
+ </a>
331
+ <a class="dcard" href="/cued-engagement">
332
+ <span class="dtag">Navy · Maritime</span>
333
+ <span class="dt">Cue, assess, and seal the track</span>
334
+ <span class="dd">Paste any maritime or orbital track and place it in an operational picture instantly &mdash;
335
+ assessed against real envelopes, anomalies flagged, no bespoke per-source integration.</span>
336
+ <span class="dmat">LIVE surface · cued-engagement + Trajectory Picture below</span>
337
+ <span class="dlink">Open cued engagement</span>
338
+ </a>
339
+ <a class="dcard" href="#panel-edge">
340
+ <span class="dtag">Joint · Multi-domain compute</span>
341
+ <span class="dt">Governed decisions at the disconnected edge</span>
342
+ <span class="dd">The whole governed run executes in-image with no uplink, the on-device router picks a tier,
343
+ and the same container is the UDS bundle that deploys cloud-to-edge with one command.</span>
344
+ <span class="dmat">LIVE surface · in-image Edge Run + Deploy Posture</span>
345
+ <span class="dlink">Run on the edge</span>
346
+ </a>
347
+ </div>
348
+ </div>
349
+
350
+ <!-- PROOF — signature is not proof / cosign -->
351
+ <div class="proof">
352
+ <div class="proof-card">
353
+ <div class="pc-l">
354
+ <h3 class="pc-h">A signature proves <b>who signed</b>, not <b>what is true</b>.</h3>
355
+ <p class="pc-d">a11oy seals every governed decision into a real DSSE envelope signed by an in-image
356
+ ECDSA-P256 key &mdash; verifiable against <code>/cosign.pub</code>, tamper-evident byte-for-byte. But a
357
+ green signature is not a green outcome: re-verification recomputes the hash chain independently, and the
358
+ advisory Λ trust score is a research conjecture, not a pass/fail oracle.</p>
359
+ </div>
360
+ <div class="pc-r">
361
+ <a class="wow-cta ghost" href="/signature-is-not-proof">Read the case study →</a>
362
+ <a class="wow-cta ghost" href="/cosign.pub">Fetch the public key →</a>
363
+ </div>
364
+ </div>
365
+ </div>
366
+
367
  <div class="tabs-bar" id="tabsBar">
368
  <button class="tab-btn active" data-tab="oversight"><span class="dot" id="dot-oversight"></span>AI Oversight</button>
369
  <button class="tab-btn" data-tab="deploy"><span class="dot" id="dot-deploy"></span>Deploy Posture</button>
 
507
 
508
  <div class="honest">
509
  <div class="honest-box" id="honestBox">
510
+ <b>What is real here (doctrine v11 · honest labels only).</b> Every surface above runs live in this container.
511
+ Governed decisions are sealed into real DSSE envelopes signed by an in-image ECDSA-P256 key (verifiable against
512
  <a href="/cosign.pub" style="color:var(--teal)">/cosign.pub</a>); change one byte and re-verify returns false.
513
+ The live status ribbon is pulled from real a11oy endpoints on this Space at load &mdash; energy figures carry a
514
+ <span class="lr-tag measured" style="display:inline">MEASURED</span> /
515
+ <span class="lr-tag sample" style="display:inline">SAMPLE</span> label straight from the operator, and a
516
+ <span class="lr-tag nolive" style="display:inline">NO-LIVE-DATA</span> label if an endpoint is unreachable. We never
517
+ fabricate a joule, a job count, or a 200. The advisory trust score (&Lambda;) is Conjecture 1 &mdash; a research
518
+ conjecture, not a pass/fail oracle. Locked-proven invariants = 8. Deploy posture is read live from the public
519
+ registry. Attestation is honest SLSA L1; the L2 build-provenance .att is emitted (not independently verified here);
520
+ L3 is roadmap &mdash; not the bundle, not an ATO. Mission Health and Trajectory Picture use clearly-labelled sample
521
+ inputs over real logic; plug a real feed into the same shape and they are live.
522
  </div>
523
  </div>
524
 
 
557
 
558
  // ---------- tab switching ----------
559
  var tabBtns = document.querySelectorAll(".tab-btn");
560
+ function activateTab(name){
561
+ var btn = document.querySelector('.tab-btn[data-tab="'+name+'"]');
562
+ if(!btn) return;
563
+ tabBtns.forEach(function(x){ x.classList.remove("active"); });
564
+ btn.classList.add("active");
565
+ document.querySelectorAll(".panel").forEach(function(p){ p.classList.remove("active"); });
566
+ var panel = $("panel-"+name); if(panel) panel.classList.add("active");
567
+ if(name === "trajectory") drawTraj();
568
+ }
569
  tabBtns.forEach(function(b){
570
+ b.addEventListener("click", function(){ activateTab(b.dataset.tab); });
571
+ });
572
+ // WOW + domain-band anchors jump to the right tab AND scroll the tab strip into view.
573
+ document.querySelectorAll('a[href^="#panel-"]').forEach(function(a){
574
+ a.addEventListener("click", function(e){
575
+ e.preventDefault();
576
+ var name = a.getAttribute("href").replace("#panel-","");
577
+ activateTab(name);
578
+ var bar = $("tabsBar"); if(bar) bar.scrollIntoView({behavior:"smooth", block:"start"});
579
  });
580
  });
581
 
 
864
  getJSON("/warhacker-tabs/index").then(function(r){
865
  if(r.json && r.json.ok){ /* surfaces present */ }
866
  }).catch(function(){});
867
+
868
+ // ========== LIVE STATUS RIBBON ==========
869
+ // Pulls REAL numbers from live a11oy endpoints. Honest labels only: energy
870
+ // figures carry the operator's own MEASURED/SAMPLE label; an unreachable
871
+ // endpoint shows NO-LIVE-DATA. No value is ever fabricated.
872
+ function lrSet(id, cls, html){ var e=$(id); if(!e) return; e.className = "lv "+(cls||""); e.innerHTML = html; }
873
+ function fmtJ(v){
874
+ v = Number(v)||0;
875
+ if(v >= 1e9) return (v/1e9).toFixed(2)+" GJ";
876
+ if(v >= 1e6) return (v/1e6).toFixed(2)+" MJ";
877
+ if(v >= 1e3) return (v/1e3).toFixed(2)+" kJ";
878
+ return v.toFixed(2)+" J";
879
+ }
880
+ function loadRibbon(){
881
+ // Energy operator: running?, jobs_done, joules_measured_total (+label), nodes_computing.
882
+ getJSON("/energy/operator/status").then(function(r){
883
+ var d = (r && r.json) || {};
884
+ if(!r || !r.ok || d.running === undefined){ throw new Error("no status"); }
885
+ var running = !!d.running;
886
+ lrSet("lrOp", running?"teal":"gold",
887
+ (running?'<span class="live-dot"></span>RUNNING':"STANDBY"));
888
+ lrSet("lrJobs", "teal", String(d.jobs_done!=null?d.jobs_done:0));
889
+ // Measured joules are the billable figure; show the operator's own label.
890
+ var jm = Number(d.joules_measured_total)||0;
891
+ var js = Number(d.joules_sample_total)||0;
892
+ if(jm > 0){
893
+ lrSet("lrJoules", "teal", fmtJ(jm)+' <span class="lr-tag measured">'+(d.joules_measured_label||"MEASURED")+'</span>');
894
+ } else if(js > 0){
895
+ lrSet("lrJoules", "gold", fmtJ(js)+' <span class="lr-tag sample">'+(d.joules_sample_label||"SAMPLE")+'</span>');
896
+ } else {
897
+ lrSet("lrJoules", "gold", '0 J <span class="lr-tag sample">none billed yet</span>');
898
+ }
899
+ var nc = (d.nodes_computing||[]).length;
900
+ lrSet("lrNodes", nc>0?"teal":"gold", String(nc));
901
+ lrSet("lrSub", running?"teal":"gold",
902
+ (d.stub_mode? 'in-image <span class="lr-tag sample">STUB</span>' : "live operator"));
903
+ }).catch(function(){
904
+ lrSet("lrOp","err",'<span class="lr-tag nolive">NO-LIVE-DATA</span>');
905
+ lrSet("lrJobs","pending","—"); lrSet("lrJoules","pending","—");
906
+ lrSet("lrNodes","pending","—"); lrSet("lrSub","pending","—");
907
+ });
908
+ // Locked proofs + doctrine: read the live healthz doctrine block to annotate the
909
+ // locked-proofs cell with the canonical 749/14/163 @ c7c0ba17 lock. Locked-proven
910
+ // count is the doctrine constant 8. Two shapes exist in the wild:
911
+ // in-process: {"lock":"749/14/163","commit":"c7c0ba17"}
912
+ // v1 proxy: {"doctrine":{"declarations":749,"axioms":14,"sorries":163,"replay_hash":"c7c0ba17"}}
913
+ getJSON("/healthz").then(function(r){
914
+ var j = (r && r.json) || {};
915
+ var lock = j.lock, commit = j.commit;
916
+ if(!lock && j.doctrine){
917
+ var d = j.doctrine;
918
+ if(d.declarations!=null){ lock = d.declarations+"/"+d.axioms+"/"+d.sorries; }
919
+ commit = commit || d.replay_hash;
920
+ }
921
+ var cell = $("lrLocked");
922
+ if(cell && lock){ cell.title = "doctrine v11 · "+lock+(commit?(" · replay "+commit):"")+" · Λ = Conjecture 1"; }
923
+ }).catch(function(){ /* locked=8 is the doctrine constant; leave the cell as-is */ });
924
+ }
925
+ loadRibbon();
926
+
927
  drawTraj();
928
  })();
929
  </script>