Spaces:
Running
Running
File size: 8,628 Bytes
a6a5d8e 5684452 55e5019 5684452 a6a5d8e 5684452 55e5019 5684452 | 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 | <!DOCTYPE html>
<!-- SPDX-License-Identifier: Apache-2.0 © 2026 Lutar, Stephen P. — SZL Holdings · Doctrine v10 -->
<!-- ADDITIVE moat surface — shipped via HfApi.create_commit (never GitHub Actions). -->
<html lang="en"><head>
<meta charset="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>a11oy · Ouroboros Run-All — 32 module self-tests</title>
<style>:root{--bg:#0b0d12;--panel:#12151d;--ink:#e7ecf3;--mut:#8a93a6;--acc:#7cc4ff;--ok:#54d18c;--warn:#ffcf5c;--bad:#ff6b6b;--line:#222838;--mono:'SF Mono',ui-monospace,'JetBrains Mono',Menlo,Consolas,monospace}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
a{color:var(--acc)}
.wrap{max-width:1080px;margin:0 auto;padding:28px 20px 80px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:16px}
.brand{font-weight:700;letter-spacing:.5px}
.tag{font-size:12px;color:var(--mut)}
.nav a{margin-left:14px;font-size:13px;text-decoration:none;color:var(--mut)}
.nav a:hover{color:var(--acc)}
h1{font-size:26px;margin:24px 0 6px}
h2{font-size:18px;margin:28px 0 10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.sub{color:var(--mut);margin:0 0 18px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:820px){.grid,.grid3{grid-template-columns:1fr}}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px}
.card h3{margin:0 0 8px;font-size:14px;letter-spacing:.4px;text-transform:uppercase;color:var(--mut)}
.pill{display:inline-block;font-size:11px;padding:2px 8px;border-radius:20px;border:1px solid var(--line);color:var(--mut);margin:2px 4px 2px 0}
.pill.ok{color:var(--ok);border-color:#1f5a3c}
.pill.warn{color:var(--warn);border-color:#5a4a1f}
.pill.bad{color:var(--bad);border-color:#5a1f1f}
.pill.acc{color:var(--acc);border-color:#1f3a5a}
textarea,pre{width:100%;background:#0a0c11;color:var(--ink);border:1px solid var(--line);border-radius:8px;font-family:var(--mono);font-size:12.5px;padding:10px}
pre{overflow:auto;max-height:340px;white-space:pre-wrap;word-break:break-word}
button{background:var(--acc);color:#06121f;border:0;border-radius:8px;padding:9px 16px;font-weight:600;cursor:pointer;font-size:13px}
button.ghost{background:transparent;color:var(--acc);border:1px solid var(--acc)}
button:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0;align-items:center}
.k{color:var(--acc)} .v{color:var(--ink)}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px;font-family:var(--mono)}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.tbl th{color:var(--mut);font-weight:600}
.st-PROVEN{color:var(--ok);font-weight:700}
.st-AXIOM{color:var(--acc);font-weight:700}
.st-CONJECTURE{color:var(--warn);font-weight:700}
.st-SORRY{color:var(--bad);font-weight:700}
.mut{color:var(--mut)}
.honest{background:#0e1117;border:1px solid #2a2030;border-left:3px solid var(--warn);border-radius:10px;padding:14px 16px;margin:22px 0;font-size:13px}
.honest b{color:var(--warn)}
.disc{background:#160e12;border:1px solid #4a2030;border-left:3px solid var(--bad);border-radius:10px;padding:14px 16px;margin:22px 0;font-size:13px}
.disc b{color:var(--bad)}
code{font-family:var(--mono);color:var(--acc);font-size:12.5px}
.bar{height:14px;background:#0a0c11;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:8px 0}
.bar>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--ok));transition:width .25s}
.modgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;font-family:var(--mono);font-size:11.5px}
.mod{border:1px solid var(--line);border-radius:6px;padding:6px 8px;display:flex;justify-content:space-between;gap:6px}
.mod .s{font-weight:700}
.mono{font-family:var(--mono);font-size:12px}
footer{margin-top:34px;border-top:1px solid var(--line);padding-top:14px;color:var(--mut);font-size:12px}</style> <link rel="stylesheet" href="/assets/szl-flow.css" data-szl-flow-asset="style" />
<link rel="stylesheet" href="/assets/szl-holo-v2.css" data-szl-holo-asset="style-v2" />
</head><body><div class="wrap">
<div class="top">
<div><span class="brand">a11oy</span> <span class="tag">· Governance Substrate · Doctrine v10</span></div>
<div class="nav">
<a href="/">home</a><a href="/wires">wires</a><a href="/codex-kernel">codex-kernel</a>
<a href="/substrate">substrate</a><a href="/evidence">evidence</a><a href="/run-all">run-all</a>
</div>
</div>
<h1>Ouroboros Run-All — 32 module self-tests</h1>
<p class="sub">Wraps <code>OUROBOROS_RUN_ALL.py</code> (szl-holdings/ouroboros) to be callable from this HF Space.
Stdlib-only · zero pip installs · each module is base64-embedded in the runner. Exit 0 = all GREEN.</p>
<div class="row">
<button id="runbtn" onclick="runAll()">▶ Run all 32 module self-tests</button>
<button class="ghost" onclick="loadList()">List modules</button>
<span id="status" class="mut">— idle —</span>
</div>
<div class="bar"><i id="prog"></i></div>
<div class="row">
<span class="pill ok" id="p-green">GREEN: —</span>
<span class="pill bad" id="p-red">RED/ERR: —</span>
<span class="pill acc" id="p-total">modules: —</span>
<span class="pill" id="p-dur">duration: —</span>
</div>
<h2>Per-module result</h2>
<div class="modgrid" id="modgrid"><div class="mut">click Run to execute the suite live on this Space.</div></div>
<h2>Runner JSON</h2>
<pre id="out">— results appear here —</pre>
<div class="honest"><b>What is honest right now.</b> The button POSTs to
<code>/api/a11oy/internal/run-all</code>, which executes the real <code>OUROBOROS_RUN_ALL.py</code> runner in a subprocess on the
Space and returns the genuine pass/fail JSON (module name · GREEN/RED · per-module duration · total duration · exit code).
The runner header historically advertised "25 modules"; the actual embedded count is <b>32</b> (count drift, tracked).
This proves the 32 self-test suites run end-to-end; it does <b>not</b> assert any Lean theorem is closed — see <a href="/evidence">/evidence</a> for proof status.</div>
<footer>SZL Holdings · Apache-2.0 · ORCID <a href="https://orcid.org/0009-0001-0110-4173">0009-0001-0110-4173</a> ·
Doctrine v10 (749 declarations · 14 unique axioms · 163 tracked sorries · lutar-v18.0.0 @ c7c0ba17).
Shipped additively via HfApi.create_commit.</footer>
</div><script>
const $=id=>document.getElementById(id);
function setBar(p){$('prog').style.width=Math.max(0,Math.min(100,p))+'%';}
async function loadList(){
$('status').textContent='loading module list…';
try{const r=await fetch('/api/a11oy/internal/run-all?list=1');const j=await r.json();
$('modgrid').innerHTML=(j.modules||[]).map(m=>`<div class="mod"><span>${m}</span><span class="s mut">·</span></div>`).join('');
$('status').textContent=`${(j.modules||[]).length} modules embedded`;}
catch(e){$('status').textContent='list failed: '+e;}
}
async function runAll(){
$('runbtn').disabled=true;$('status').textContent='running 32 self-test suites…';
setBar(8);$('modgrid').innerHTML='<div class="mut">executing…</div>';
let tick=8;const iv=setInterval(()=>{tick=Math.min(92,tick+3);setBar(tick);},800);
try{
const r=await fetch('/api/a11oy/internal/run-all',{method:'POST'});
const j=await r.json();clearInterval(iv);setBar(100);
$('p-green').textContent='GREEN: '+(j.green??'—');
$('p-red').textContent='RED/ERR: '+(j.red??'—');
$('p-total').textContent='modules: '+(j.total??'—');
$('p-dur').textContent='duration: '+((j.duration_s??0).toFixed(2))+'s';
$('status').textContent=j.verdict==='GREEN'?'✓ GREEN — all modules pass (exit 0)':'✗ '+(j.verdict||'done');
$('modgrid').innerHTML=(j.results||[]).map(m=>{
const ok=(m.status||'').indexOf('GREEN')>=0;
return `<div class="mod"><span>${m.name}</span><span class="s ${ok?'st-PROVEN':'st-SORRY'}">${m.status}</span></div>`;}).join('');
$('out').textContent=JSON.stringify(j,null,2);
}catch(e){clearInterval(iv);$('status').textContent='run failed: '+e;$('runbtn').disabled=false;}
$('runbtn').disabled=false;
}
</script> <script src="/assets/szl-flow.js" defer data-szl-flow-asset="script"></script>
<script src="/assets/szl-holo-v2.js" defer data-szl-holo-asset="script-v2"></script>
</body></html> |