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>