betterwithage commited on
Commit
6d65e6a
·
verified ·
1 Parent(s): 2e7798e

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: a11oy_landing.html, cathedral.html, cathedral_genius.html, console/docs.html, console/index.html, console/pricing.html, console/throne-room.html, console/throne-room.js, govern_showcase.html, 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/a11oy_landing.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.

Files changed (1) hide show
  1. console/index.html +43 -5
console/index.html CHANGED
@@ -558,6 +558,13 @@ trustspace:{title:'Trust Space',badge:'3D POINT-CLOUD',sub:'Every trust dimensio
558
  <details class="raw"><summary>raw signed envelope + public key</summary><pre class="out" id="rc-env">\u2014</pre></details></div>
559
  <div class="card"><div class="card-h"><span class="card-t">Receipt activity</span><span class="card-ep">live</span></div><div class="chartbox" style="height:200px"><canvas id="rc-line"></canvas></div></div>
560
  <div class="card"><div class="card-h"><span class="card-t">Audit trail</span><span class="card-ep">hash-chained</span></div><div id="rc-host"><div class="row mono dim">loading\u2026</div></div></div>
 
 
 
 
 
 
 
561
  <div class="honesty"><b>Verify it yourself.</b> a11oy signs receipts with its own in-image ECDSA P-256 key. Fetch the public key at <span class="mono">/cosign.pub</span> and a signed envelope at <span class="mono">/api/a11oy/v1/receipt/export</span>, then verify the signature \u2014 here, in your browser, or offline with openssl. A single tampered byte fails verification. The key is ephemeral and resets on every rebuild.</div>`;window.receipts_load();}},
562
 
563
  /* PROOF-BINDING (cite-in-code-only): the Knowledge Ontology entity-link graph
@@ -890,7 +897,30 @@ async function receipts_load(){try{const d=await orgGet('core','/api/a11oy/v1/op
890
  }catch(e){setHTML('rc-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}
891
  try{const cl=await orgGet('core','/api/a11oy/v2/operator/command-log');setTxt('rc-chain',cl.chain_verified?('verified \u00b7 depth '+(cl.depth||'')):'\u2014');}catch(e){setTxt('rc-chain','\u2014');}
892
  // auto-verify a real signed receipt against a11oy's own in-image key
893
- window.receipts_verify(false,true);}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
894
 
895
  // Fetch a11oy's own public key + a signed DSSE envelope, verify locally in browser.
896
  // tamper=true flips a payload byte to demonstrate verification FAILS.
@@ -1511,9 +1541,13 @@ async function lineage_load(){
1511
  setHTML('ln-detail','<div class="row mono dim">knowledge unavailable: '+esc(e.message)+'</div>');
1512
  }
1513
  }
1514
- function lineage_export(){
1515
- loadKnowledge().then(kb=>{
 
1516
  const ps=kb.proof_summary||{};
 
 
 
1517
  const aibom={
1518
  format:'a11oy-provenance-AIBOM/1.0',
1519
  generated_at:new Date().toISOString(),
@@ -1524,12 +1558,13 @@ function lineage_export(){
1524
  axioms: (kb.axioms||[]).length,
1525
  theorems: (kb.theorems||[]).length,
1526
  dois: (kb.dois||[]).map(d=>d.doi),
 
1527
  build_provenance:'SLSA L1 honest · L2 build-attested (Rekor) · L3+ roadmap (in-toto v1, cosign keyless, Rekor evidence)',
1528
  note:'Λ (trust-score uniqueness) is Conjecture 1, advisory — not a proven theorem.'
1529
  };
1530
  const blob=new Blob([JSON.stringify(aibom,null,2)],{type:'application/json'});
1531
  const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download='a11oy_provenance_aibom.json'; a.click();
1532
- });
1533
  }
1534
  window.lineage_load=lineage_load; window.lineage_export=lineage_export;
1535
 
@@ -1608,11 +1643,14 @@ async function replay_run(){
1608
  const decision = (pr.decision || r.decision || '—');
1609
  const sev = r.severity_evaluated || '—';
1610
  const lam = (pr.lambda_score!=null?pr.lambda_score:(r.lambda_score!=null?r.lambda_score:null));
 
 
1611
  const decTeal = String(decision).toLowerCase()==='allow';
1612
  setHTML('rp-answer',
1613
  `<div class="row"><span class="badge b-live">grounded</span><span class="badge b-gold">cited · runtime gate</span></div>`
1614
  +`<div class="row" style="font-size:13px;line-height:1.5">${esc(rationale)||'(no rationale returned)'}</div>`
1615
  +`<div class="row mono dim" style="margin-top:.4rem">gate: <b>${esc(gateName)}</b> · severity: <b>${esc(sev)}</b> · decision: <b style="color:${decTeal?'#5fb3a3':'#c9a05f'}">${esc(String(decision).toUpperCase())}</b>${lam!=null?` · Λ score: <b>${esc(String(lam))}</b> <span style="color:#c9a05f">(conjecture)</span>`:''}</div>`
 
1616
  +(r.doctrine?`<div class="row mono dim" style="font-size:10px">${esc(r.doctrine)}</div>`:''));
1617
  // build a run-tree DAG from the real reasoning structure (gate → policy → decision → receipt)
1618
  const nodes=[{id:'q',name:'Question',color:'#c9b787',val:8}];
@@ -1651,7 +1689,7 @@ async function replay_run(){
1651
  gauge('rp-cov', 0, 'coverage', '#5fb3a3'); gauge('rp-cons',0,'consistency','#c9b787');
1652
  setHTML('rp-halluc','<span class="v dim">—</span>');
1653
  }
1654
- setHTML('rp-receipt', `<span class="badge" style="border:1px solid #c9a05f;color:#c9a05f">UNSIGNED · hash-chained (no key — honest)</span>`);
1655
  }catch(e){
1656
  setHTML('rp-answer','<div class="row mono dim">reasoning endpoint unavailable: '+esc(e.message)+'</div>');
1657
  }
 
558
  <details class="raw"><summary>raw signed envelope + public key</summary><pre class="out" id="rc-env">\u2014</pre></details></div>
559
  <div class="card"><div class="card-h"><span class="card-t">Receipt activity</span><span class="card-ep">live</span></div><div class="chartbox" style="height:200px"><canvas id="rc-line"></canvas></div></div>
560
  <div class="card"><div class="card-h"><span class="card-t">Audit trail</span><span class="card-ep">hash-chained</span></div><div id="rc-host"><div class="row mono dim">loading\u2026</div></div></div>
561
+ <div class="card"><div class="card-h"><span class="card-t">Public transparency-log anchor \u2014 Sigstore Rekor</span><span class="card-ep">live root \u00b7 RFC 6962 Merkle</span></div>
562
+ <div class="kpis"><div class="kpi"><div class="k">Rekor tree size</div><div class="v teal" id="rk-size">\u2014</div><div class="d">public good-instance</div></div>
563
+ <div class="kpi"><div class="k">Root hash</div><div class="v mono" id="rk-root" style="font-size:13px">\u2014</div><div class="d">live signed tree head</div></div>
564
+ <div class="kpi"><div class="k">Reachable</div><div class="v live" id="rk-reach">\u2014</div></div></div>
565
+ <div class="row"><button class="btn" onclick="window.rekor_verify()">Verify a real Rekor inclusion proof</button></div>
566
+ <div id="rk-vout" style="margin-top:.6rem"><div class="row mono dim">Recomputes the Merkle root from a real public entry's leaf + audit path (RFC 6962) \u2014 never trusting the server's verdict.</div></div>
567
+ <div class="brain-note">Adapts Sigstore/Chainguard transparency UX. The root shown is the <b>live, independently-verifiable</b> public Rekor log (1.9B+ entries). Honest: a11oy's own receipts use its in-image DSSE+khipu chain; public-log submission of a11oy receipts is <b>ROADMAP</b>. Merkle math mirrors Lean F15.</div></div>
568
  <div class="honesty"><b>Verify it yourself.</b> a11oy signs receipts with its own in-image ECDSA P-256 key. Fetch the public key at <span class="mono">/cosign.pub</span> and a signed envelope at <span class="mono">/api/a11oy/v1/receipt/export</span>, then verify the signature \u2014 here, in your browser, or offline with openssl. A single tampered byte fails verification. The key is ephemeral and resets on every rebuild.</div>`;window.receipts_load();}},
569
 
570
  /* PROOF-BINDING (cite-in-code-only): the Knowledge Ontology entity-link graph
 
897
  }catch(e){setHTML('rc-host','<div class="row mono dim">retry: '+esc(e.message)+'</div>');}
898
  try{const cl=await orgGet('core','/api/a11oy/v2/operator/command-log');setTxt('rc-chain',cl.chain_verified?('verified \u00b7 depth '+(cl.depth||'')):'\u2014');}catch(e){setTxt('rc-chain','\u2014');}
899
  // auto-verify a real signed receipt against a11oy's own in-image key
900
+ window.receipts_verify(false,true);
901
+ // live public transparency-log root (Sigstore Rekor) \u2014 server-side fetch w/ honest fallback
902
+ window.rekor_log_load();}
903
+
904
+ // Live Rekor public-log tree state (treeSize + root + reachability) \u2014 read-only, honest.
905
+ async function rekor_log_load(){try{const d=await getJSON(API+'/v1/rekor/log');const l=d.log||{};
906
+ if(l.reachable){setTxt('rk-size',(l.tree_size!=null?Number(l.tree_size).toLocaleString():'\u2014'));setTxt('rk-root',String(l.root_hash||'').slice(0,12)+'\u2026');setHTML('rk-reach','<span class="live">live \u00b7 '+esc(l.freshness||'')+'</span>');}
907
+ else{setTxt('rk-size','\u2014');setTxt('rk-root','unreachable');setHTML('rk-reach','<span class="warn">egress blocked (honest)</span>');}
908
+ }catch(e){setHTML('rk-reach','<span class="warn">\u2014</span>');}}
909
+
910
+ // Verify a REAL public Rekor inclusion proof: server recomputes the Merkle root from
911
+ // the entry's leaf + audit path (RFC 6962). Picks an entry index inside the live tree.
912
+ async function rekor_verify(){const out=el('rk-vout');if(out)out.innerHTML='<div class="row mono dim">fetching a public entry + recomputing Merkle root\u2026</div>';
913
+ try{let idx=1;try{const lg=await getJSON(API+'/v1/rekor/log');const ts=(lg.log||{}).tree_size;if(ts)idx=Math.max(1,Math.floor(Number(ts)*0.5));}catch(e){}
914
+ const d=await getJSON(API+'/v1/rekor/verify/'+idx);const r=d.result||{};
915
+ if(r.verified===true){out.innerHTML=`<div class="row"><span class="badge b-live">VERIFIED</span><span>Merkle root recomputed locally matches the public Rekor root</span></div>`+
916
+ `<div class="row"><span>Log index</span><span class="spacer mono dim">${esc(r.log_index)} \u00b7 tree ${esc(Number(r.tree_size).toLocaleString())}</span></div>`+
917
+ `<div class="row"><span>Audit path</span><span class="spacer mono dim">${esc(r.audit_path_len)} hashes</span></div>`+
918
+ `<div class="row"><span>Computed root</span><span class="spacer mono dim">${esc(String(r.computed_root).slice(0,24))}\u2026</span></div>`+
919
+ `<div class="row mono dim">${esc(r.method||'')}</div>`;}
920
+ else if(r.verified===false){out.innerHTML=`<div class="row"><span class="badge b-err">MISMATCH</span><span>${esc(r.reason||'root mismatch')}</span></div>`;}
921
+ else{out.innerHTML=`<div class="row"><span class="badge b-gold">UNREACHABLE</span><span>${esc(r.reason||'public Rekor unreachable from this host (egress)')} \u2014 honest, not faked</span></div>`;}
922
+ }catch(e){if(out)out.innerHTML='<div class="row"><span class="badge b-err">error</span><span>'+esc(e.message)+'</span></div>';}}
923
+ window.rekor_log_load=rekor_log_load;window.rekor_verify=rekor_verify;
924
 
925
  // Fetch a11oy's own public key + a signed DSSE envelope, verify locally in browser.
926
  // tamper=true flips a payload byte to demonstrate verification FAILS.
 
1541
  setHTML('ln-detail','<div class="row mono dim">knowledge unavailable: '+esc(e.message)+'</div>');
1542
  }
1543
  }
1544
+ async function lineage_export(){
1545
+ const kb=await loadKnowledge();
1546
+ {
1547
  const ps=kb.proof_summary||{};
1548
+ // attach the LIVE public transparency-log root (Sigstore Rekor) as an external witness
1549
+ let rekor={anchoring:'ROADMAP — a11oy receipt → public Rekor submission'};
1550
+ try{const d=await getJSON(API+'/v1/rekor/log');const l=d.log||{};rekor={source:l.source,reachable:!!l.reachable,tree_size:l.tree_size,root_hash:l.root_hash,label:l.label,verify_endpoint:'/api/a11oy/v1/rekor/verify/{logIndex}',anchoring:'ROADMAP — a11oy receipt → public Rekor submission; in-image DSSE+khipu chain is live',merkle_formula:'F15 (structural)'};}catch(e){}
1551
  const aibom={
1552
  format:'a11oy-provenance-AIBOM/1.0',
1553
  generated_at:new Date().toISOString(),
 
1558
  axioms: (kb.axioms||[]).length,
1559
  theorems: (kb.theorems||[]).length,
1560
  dois: (kb.dois||[]).map(d=>d.doi),
1561
+ transparency_log: rekor,
1562
  build_provenance:'SLSA L1 honest · L2 build-attested (Rekor) · L3+ roadmap (in-toto v1, cosign keyless, Rekor evidence)',
1563
  note:'Λ (trust-score uniqueness) is Conjecture 1, advisory — not a proven theorem.'
1564
  };
1565
  const blob=new Blob([JSON.stringify(aibom,null,2)],{type:'application/json'});
1566
  const a=document.createElement('a'); a.href=URL.createObjectURL(blob); a.download='a11oy_provenance_aibom.json'; a.click();
1567
+ }
1568
  }
1569
  window.lineage_load=lineage_load; window.lineage_export=lineage_export;
1570
 
 
1643
  const decision = (pr.decision || r.decision || '—');
1644
  const sev = r.severity_evaluated || '—';
1645
  const lam = (pr.lambda_score!=null?pr.lambda_score:(r.lambda_score!=null?r.lambda_score:null));
1646
+ // the POLICY VERSION that applied to this decision (Chainguard/in-toto provenance feature)
1647
+ const polVer = r.policy_version || pr.policy_version || r.kernel_commit || pr.kernel_commit || r.doctrine_version || (r.doctrine?'doctrine v11':null);
1648
  const decTeal = String(decision).toLowerCase()==='allow';
1649
  setHTML('rp-answer',
1650
  `<div class="row"><span class="badge b-live">grounded</span><span class="badge b-gold">cited · runtime gate</span></div>`
1651
  +`<div class="row" style="font-size:13px;line-height:1.5">${esc(rationale)||'(no rationale returned)'}</div>`
1652
  +`<div class="row mono dim" style="margin-top:.4rem">gate: <b>${esc(gateName)}</b> · severity: <b>${esc(sev)}</b> · decision: <b style="color:${decTeal?'#5fb3a3':'#c9a05f'}">${esc(String(decision).toUpperCase())}</b>${lam!=null?` · Λ score: <b>${esc(String(lam))}</b> <span style="color:#c9a05f">(conjecture)</span>`:''}</div>`
1653
+ +(polVer?`<div class="row mono dim" style="font-size:10px">policy version applied: <b style="color:#5fb3a3">${esc(String(polVer))}</b> · re-run reproduces this verdict under the same policy</div>`:'')
1654
  +(r.doctrine?`<div class="row mono dim" style="font-size:10px">${esc(r.doctrine)}</div>`:''));
1655
  // build a run-tree DAG from the real reasoning structure (gate → policy → decision → receipt)
1656
  const nodes=[{id:'q',name:'Question',color:'#c9b787',val:8}];
 
1689
  gauge('rp-cov', 0, 'coverage', '#5fb3a3'); gauge('rp-cons',0,'consistency','#c9b787');
1690
  setHTML('rp-halluc','<span class="v dim">—</span>');
1691
  }
1692
+ setHTML('rp-receipt', `<span class="badge" style="border:1px solid #c9a05f;color:#c9a05f">UNSIGNED · hash-chained (no key — honest)</span> <span class="dim mono" style="font-size:10px">· external witness: <a href="#receipts" onclick="go('receipts');return false;" style="color:#5fb3a3">public Rekor log</a> (a11oy submission ROADMAP)</span>`);
1693
  }catch(e){
1694
  setHTML('rp-answer','<div class="row mono dim">reasoning endpoint unavailable: '+esc(e.message)+'</div>');
1695
  }