Spaces:
Running
chore(sync): mirror front-door files to Space (hf-sync)
Browse filesAutomated 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.
- pages/warhacker.html +256 -26
|
@@ -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
|
| 7 |
-
<meta name="description" content="
|
| 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 |
-
<
|
| 189 |
-
|
| 190 |
-
|
| 191 |
-
|
| 192 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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">
|
| 199 |
-
<h1 class="headline">
|
| 200 |
-
<p class="support">
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
|
| 204 |
-
|
|
|
|
| 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.
|
| 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
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 |
-
|
| 405 |
-
|
| 406 |
-
|
| 407 |
-
|
| 408 |
-
|
|
|
|
|
|
|
|
|
|
| 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 — 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> — 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 — 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 — 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 —
|
| 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 — 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 — 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 (Λ) is Conjecture 1 — 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 — 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>
|