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/assurance.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-console.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/verify.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/determinacy.html, web/dns.html, web/elite_console.html, web/energy-3d.html, web/energy-harvest.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/assurance.html +59 -0
|
@@ -471,6 +471,26 @@
|
|
| 471 |
<span class="chip chip-modeled">MODELED</span> model-derived ·
|
| 472 |
<span class="chip chip-roadmap">ROADMAP</span> planned / not yet delivered
|
| 473 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 474 |
</section>
|
| 475 |
|
| 476 |
<!-- =====================================================================
|
|
@@ -952,6 +972,45 @@ async function checkFit() {
|
|
| 952 |
}
|
| 953 |
}
|
| 954 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 955 |
/* ---- boot ---- */
|
| 956 |
window.addEventListener('DOMContentLoaded', function() {
|
| 957 |
loadMatrix();
|
|
|
|
| 471 |
<span class="chip chip-modeled">MODELED</span> model-derived ·
|
| 472 |
<span class="chip chip-roadmap">ROADMAP</span> planned / not yet delivered
|
| 473 |
</div>
|
| 474 |
+
|
| 475 |
+
<!-- Auditor Evidence Pack: one signed, offline-verifiable JSON bundling the
|
| 476 |
+
assurance matrix + khipu organ chain heads + lake health + doctrine snapshot,
|
| 477 |
+
self-hashed (sha3_256) so an auditor can re-verify offline. -->
|
| 478 |
+
<div style="margin-top:20px;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;background:var(--bg-card);">
|
| 479 |
+
<div style="font-weight:700;font-size:14px;margin-bottom:4px;">Auditor Evidence Pack</div>
|
| 480 |
+
<div style="font-size:12px;color:var(--text-dim);margin-bottom:12px;">
|
| 481 |
+
One signed, offline-verifiable JSON bundling the assurance matrix, khipu chain heads
|
| 482 |
+
(re-walked <code>links_intact</code>), the lake health snapshot, and the doctrine
|
| 483 |
+
snapshot — self-hashed with <strong>sha3_256</strong> so an auditor re-verifies offline.
|
| 484 |
+
Honest: integrity is COMPUTED, not asserted; signature is the demo key (NOT production cosign).
|
| 485 |
+
</div>
|
| 486 |
+
<div class="btn-row">
|
| 487 |
+
<button class="btn btn-primary" id="evidence-pack-btn" onclick="downloadEvidencePack()">
|
| 488 |
+
Download Evidence Pack
|
| 489 |
+
</button>
|
| 490 |
+
<a class="btn" href="/api/a11oy/v1/assurance/evidence-pack" target="_blank">View JSON →</a>
|
| 491 |
+
</div>
|
| 492 |
+
<div id="evidence-pack-status" class="status-line"></div>
|
| 493 |
+
</div>
|
| 494 |
</section>
|
| 495 |
|
| 496 |
<!-- =====================================================================
|
|
|
|
| 972 |
}
|
| 973 |
}
|
| 974 |
|
| 975 |
+
/* ==================================================================
|
| 976 |
+
SECTION B' — Download Auditor Evidence Pack (sha3_256 self-verifiable)
|
| 977 |
+
================================================================== */
|
| 978 |
+
async function downloadEvidencePack() {
|
| 979 |
+
var btn = el('evidence-pack-btn');
|
| 980 |
+
if (btn) btn.disabled = true;
|
| 981 |
+
setStatus('evidence-pack-status', 'Assembling evidence pack from live surfaces…', true);
|
| 982 |
+
try {
|
| 983 |
+
var resp = await fetch('/api/a11oy/v1/assurance/evidence-pack');
|
| 984 |
+
var data = await resp.json();
|
| 985 |
+
var text = JSON.stringify(data, null, 2);
|
| 986 |
+
|
| 987 |
+
var blob = new Blob([text], { type: 'application/json' });
|
| 988 |
+
var url = URL.createObjectURL(blob);
|
| 989 |
+
var a = document.createElement('a');
|
| 990 |
+
var stamp = (data.generated_at || new Date().toISOString()).replace(/[:.]/g, '-');
|
| 991 |
+
a.href = url;
|
| 992 |
+
a.download = 'a11oy-evidence-pack-' + stamp + '.json';
|
| 993 |
+
document.body.appendChild(a);
|
| 994 |
+
a.click();
|
| 995 |
+
document.body.removeChild(a);
|
| 996 |
+
setTimeout(function(){ URL.revokeObjectURL(url); }, 4000);
|
| 997 |
+
|
| 998 |
+
// We do NOT recompute sha3_256 in-browser (WebCrypto has no SHA3, and shipping a
|
| 999 |
+
// hand-rolled hash would risk a false result — honesty over a fake green check).
|
| 1000 |
+
// The digest + exact canonicalization are in the pack so an auditor re-verifies
|
| 1001 |
+
// offline with a trusted sha3_256 tool. We only surface what the server reported.
|
| 1002 |
+
var sig = (data.signature || {});
|
| 1003 |
+
var sigMsg = sig.signed ? (' · signed [' + (sig.keyid || 'demo') + ']') : ' · honest-unsigned (DSSE_PLACEHOLDER)';
|
| 1004 |
+
setStatus('evidence-pack-status',
|
| 1005 |
+
'✓ Downloaded. sha3_256=' + String(data.pack_sha3_256 || '').substring(0, 24) + '…' + sigMsg +
|
| 1006 |
+
' · re-verify offline per the pack’s digest_canonicalization note.', false);
|
| 1007 |
+
} catch(e) {
|
| 1008 |
+
setStatus('evidence-pack-status', '⚠ Could not assemble evidence pack: ' + e.message, false);
|
| 1009 |
+
} finally {
|
| 1010 |
+
if (btn) btn.disabled = false;
|
| 1011 |
+
}
|
| 1012 |
+
}
|
| 1013 |
+
|
| 1014 |
/* ---- boot ---- */
|
| 1015 |
window.addEventListener('DOMContentLoaded', function() {
|
| 1016 |
loadMatrix();
|