Spaces:
Running
Running
deploy(hf): sync szl-holdings/a11oy@80cfbb5e89fbeab9022cbce70b8c177fa80cceb7 derived COPY set
Browse filesReusable Dockerfile-COPY-derived deploy from szl-holdings/a11oy 80cfbb5e89fbeab9022cbce70b8c177fa80cceb7.
Files: 1156 Pruned: 0
Derived from Dockerfile COPY sources (NO hand-maintained allowlist).
Signed-off-by: SZL Holdings <noreply@szlholdings.ai>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- pages/console.html +65 -39
pages/console.html
CHANGED
|
@@ -112,9 +112,10 @@ a{color:inherit;text-decoration:none;}
|
|
| 112 |
.nav-group.mod-proofs{color:#a09cc0;border-left-color:rgba(160,156,192,.3);}
|
| 113 |
.nav-group.mod-lake{color:var(--gold-bright);border-left-color:rgba(214,198,154,.3);}
|
| 114 |
.nav-group.mod-api{color:var(--muted);border-left-color:rgba(136,136,136,.25);}
|
| 115 |
-
.nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border-radius:7px;cursor:pointer;color:var(--paragraph);font:13.5px var(--display);text-align:left;transition:.15s;border:1px solid transparent;background:transparent;}
|
| 116 |
.nav-item:hover{background:var(--gold-soft);color:var(--cream);}
|
| 117 |
.nav-item.active{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line);}
|
|
|
|
| 118 |
.nav-item .ico{width:16px;text-align:center;opacity:.8;font-size:12px;}
|
| 119 |
.side-foot{margin-top:1.2rem;padding:.7rem .6rem;border-top:1px solid var(--gold-line);font-family:var(--mono);font-size:9.5px;color:var(--dim);line-height:1.7;}
|
| 120 |
|
|
@@ -721,56 +722,56 @@ details.raw[open] summary{color:var(--muted);}
|
|
| 721 |
|
| 722 |
<!-- ── 1 · HOME ─────────────────────────────────────────────────────── -->
|
| 723 |
<div class="nav-group mod-home">Home</div>
|
| 724 |
-
<
|
| 725 |
-
<
|
| 726 |
|
| 727 |
<!-- ── 2 · OPERATE ──────────────────────────────────────────────────── -->
|
| 728 |
<div class="nav-group mod-operate">Operate</div>
|
| 729 |
-
<
|
| 730 |
-
<
|
| 731 |
-
<
|
| 732 |
-
<
|
| 733 |
|
| 734 |
<!-- ── 3 · BUILD ────────────────────────────────────────────────────── -->
|
| 735 |
<div class="nav-group mod-build">Build</div>
|
| 736 |
-
<
|
| 737 |
-
<
|
| 738 |
-
<
|
| 739 |
-
<
|
| 740 |
-
<
|
| 741 |
-
<
|
| 742 |
|
| 743 |
<!-- ── 4 · OBSERVE ──────────────────────────────────────────────────── -->
|
| 744 |
<!-- Khipu receipt lake + recorded eval/replay. Chain is the proof-of-governance hero. -->
|
| 745 |
<div class="nav-group mod-observe">Observe</div>
|
| 746 |
-
<
|
| 747 |
-
<
|
| 748 |
-
<
|
| 749 |
-
<
|
| 750 |
|
| 751 |
<!-- ── 5 · GOVERN ───────────────────────────────────────────────────── -->
|
| 752 |
<!-- DOCTRINE: Λ = Conjecture 1 (never theorem, never 1.0). 8 locked-proven {F1,F4,F7,F11,F12,F18,F19,F22}. -->
|
| 753 |
<div class="nav-group mod-govern">Govern</div>
|
| 754 |
-
<
|
| 755 |
-
<
|
| 756 |
-
<
|
| 757 |
-
<
|
| 758 |
|
| 759 |
<!-- ── 6 · RESEARCH ─────────────────────────────────────────────────── -->
|
| 760 |
<div class="nav-group mod-research">Research</div>
|
| 761 |
-
<
|
| 762 |
-
<
|
| 763 |
-
<
|
| 764 |
-
<
|
| 765 |
|
| 766 |
<!-- ── 7 · MORE ─────────────────────────────────────────────────────── -->
|
| 767 |
<!-- DOCTRINE: energy_joules UNAVAILABLE until sovereign GPU + meter online; UI says
|
| 768 |
UNAVAILABLE, never fakes watts. SCI = (E × I + M) / R per ISO 21031:2024. -->
|
| 769 |
<div class="nav-group mod-more">More ▾</div>
|
| 770 |
-
<
|
| 771 |
-
<
|
| 772 |
-
<
|
| 773 |
-
<
|
| 774 |
|
| 775 |
<div class="side-foot">Trust score (Λ) = Conjecture 1 (+conditional-proven)<br>8 locked-proven + 80+ experimental CI-green<br>SLSA L1 honest; L2 .att emitted (not independently verified) · L3 roadmap · 5 services<br>Verifiable receipts · honest by design</div>
|
| 776 |
</aside>
|
|
@@ -2426,7 +2427,21 @@ function go(view){
|
|
| 2426 |
if(!VIEWS[view]){ console.warn('unknown tab: '+view); return; }
|
| 2427 |
// tear down ALL live visuals (Chart.js, ECharts, 3d-force-graph, globe.gl, cytoscape) before switching
|
| 2428 |
tearDownAll();
|
| 2429 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2430 |
const v=VIEWS[view];const c=el('content');
|
| 2431 |
// Stash the requested view key (which may carry a deep-linked sub-tab, e.g.
|
| 2432 |
// 'vdefense/decision') BEFORE render. vertPack reads this to open the correct
|
|
@@ -11769,9 +11784,10 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 11769 |
var SHA='baf483be3c832b64da47161b558e283d68da6650';
|
| 11770 |
var SHORT='baf483b';
|
| 11771 |
var BRANCH='putnam-2025-canonical-set';
|
|
|
|
| 11772 |
var COMPUTED='2026-06-15';
|
| 11773 |
-
var TREE='https://github.com/szl-holdings/lutar-lean/tree/'+
|
| 11774 |
-
var BASE='https://github.com/szl-holdings/lutar-lean/blob/'+
|
| 11775 |
var TEAL='#3ddc97', GOLD='#c9b787', DIM='#8a8f98';
|
| 11776 |
// Embedded fallback snapshot (matches the live loader exactly), used if the API is unreachable.
|
| 11777 |
var FB_PROBS=[
|
|
@@ -11803,7 +11819,7 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 11803 |
var pb=j.putnam||{}, sb=j.szl_originals||{};
|
| 11804 |
var probs=(pb.problems||[]).map(function(p){ return {id:p.id,file:p.file,url:p.url||(BASE+p.file),status:p.status,note:p.note}; });
|
| 11805 |
var szl=(sb.items||[]).map(function(s){ return {id:s.id,file:s.file,url:s.url||(BASE+s.file),status:s.status,note:s.note,theorems:s.theorems||[]}; });
|
| 11806 |
-
return { live:true, sha:j.sha||SHA, short:j.short||SHORT, branch:j.branch||BRANCH, computed:j.computed||COMPUTED, tree:j.tree||TREE,
|
| 11807 |
probs:probs, szl:szl,
|
| 11808 |
real:(pb.real!=null?pb.real:probs.filter(function(p){return p.status==='REAL';}).length),
|
| 11809 |
demo:(pb.demo!=null?pb.demo:probs.filter(function(p){return p.status==='DEMO';}).length),
|
|
@@ -11813,7 +11829,7 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 11813 |
function fromFallback(){
|
| 11814 |
var probs=FB_PROBS.map(function(p){ return {id:p[0],file:p[1],url:BASE+p[1],status:p[2],note:p[3]}; });
|
| 11815 |
var szl=FB_SZL.map(function(s){ return {id:s[0],file:s[1],url:BASE+s[1],status:s[2],note:s[3],theorems:[]}; });
|
| 11816 |
-
return { live:false, sha:SHA, short:SHORT, branch:BRANCH, computed:COMPUTED, tree:TREE,
|
| 11817 |
probs:probs, szl:szl,
|
| 11818 |
real:probs.filter(function(p){return p.status==='REAL';}).length,
|
| 11819 |
demo:probs.filter(function(p){return p.status==='DEMO';}).length,
|
|
@@ -11828,12 +11844,12 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 11828 |
if(m.live){
|
| 11829 |
H+='<div style="font-family:var(--mono,monospace);font-size:11px;color:'+TEAL+';margin:0 0 14px;">'
|
| 11830 |
+'\u25c9 LIVE \u00b7 doctrine-v11 kernel verdict served from this organ\u2019s /api/'+esc(NS)+'/v1/putnam, '
|
| 11831 |
-
+'transcribed from <a href="'+esc(m.tree)+'" target="_blank" rel="noopener" style="color:'+TEAL+';">lutar-lean '+esc(m.branch)+' @'+esc(m.short)+'</a>'
|
| 11832 |
+' \u00b7 '+esc(m.computed)+'.</div>';
|
| 11833 |
} else {
|
| 11834 |
H+='<div style="font-family:var(--mono,monospace);font-size:11px;color:'+GOLD+';margin:0 0 14px;">'
|
| 11835 |
+'\u25c8 CACHED SNAPSHOT \u00b7 doctrine-v11 kernel verdict from '
|
| 11836 |
-
+'<a href="'+esc(m.tree)+'" target="_blank" rel="noopener" style="color:'+GOLD+';">lutar-lean '+esc(m.branch)+' @'+esc(m.short)+'</a>'
|
| 11837 |
+' \u00b7 '+esc(m.computed)+' \u2014 live loader unreachable; embedded numbers match the pinned commit; re-deploy to refresh.</div>';
|
| 11838 |
}
|
| 11839 |
// bridge paragraph VERBATIM
|
|
@@ -15977,8 +15993,7 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 15977 |
try{
|
| 15978 |
var cur = (location.hash||'#command').slice(1).split('/')[0];
|
| 15979 |
var act = side.querySelector('.nav-item[data-view="'+cur+'"]');
|
| 15980 |
-
if(act) act.classList.add('active');
|
| 15981 |
-
else { var c = side.querySelector('.nav-item[data-view="command"]'); if(c) c.classList.add('active'); }
|
| 15982 |
}catch(e){}
|
| 15983 |
return true;
|
| 15984 |
}
|
|
@@ -16129,11 +16144,22 @@ window.warboard_init=warboard_init; window.warboard_all=warboard_all;
|
|
| 16129 |
var host=document.getElementById('pinned-host'); if(!host) return;
|
| 16130 |
var p=getPins().filter(function(k){ return window.VIEWS&&window.VIEWS[k]; });
|
| 16131 |
if(!p.length){ host.innerHTML=''; return; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16132 |
var h='<div class="nav-group mod-pinned">★ Pinned</div>';
|
| 16133 |
p.forEach(function(k){
|
| 16134 |
-
h+='<
|
| 16135 |
});
|
| 16136 |
host.innerHTML=h;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16137 |
}
|
| 16138 |
window.__a11oyRenderPins=renderPins;
|
| 16139 |
|
|
|
|
| 112 |
.nav-group.mod-proofs{color:#a09cc0;border-left-color:rgba(160,156,192,.3);}
|
| 113 |
.nav-group.mod-lake{color:var(--gold-bright);border-left-color:rgba(214,198,154,.3);}
|
| 114 |
.nav-group.mod-api{color:var(--muted);border-left-color:rgba(136,136,136,.25);}
|
| 115 |
+
.nav-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border-radius:7px;cursor:pointer;color:var(--paragraph);font:13.5px var(--display);text-align:left;transition:.15s;border:1px solid transparent;background:transparent;appearance:none;}
|
| 116 |
.nav-item:hover{background:var(--gold-soft);color:var(--cream);}
|
| 117 |
.nav-item.active{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line);}
|
| 118 |
+
.nav-item:focus-visible{outline:2px solid var(--teal);outline-offset:2px;color:var(--cream);}
|
| 119 |
.nav-item .ico{width:16px;text-align:center;opacity:.8;font-size:12px;}
|
| 120 |
.side-foot{margin-top:1.2rem;padding:.7rem .6rem;border-top:1px solid var(--gold-line);font-family:var(--mono);font-size:9.5px;color:var(--dim);line-height:1.7;}
|
| 121 |
|
|
|
|
| 722 |
|
| 723 |
<!-- ── 1 · HOME ─────────────────────────────────────────────────────── -->
|
| 724 |
<div class="nav-group mod-home">Home</div>
|
| 725 |
+
<button type="button" class="nav-item active" data-view="command" aria-current="page" onclick="go('command')"><span class="ico">◎</span>Command Center</button>
|
| 726 |
+
<button type="button" class="nav-item" data-view="mesh" onclick="go('mesh')"><span class="ico">⊹</span>Live System Map</button>
|
| 727 |
|
| 728 |
<!-- ── 2 · OPERATE ──────────────────────────────────────────────────── -->
|
| 729 |
<div class="nav-group mod-operate">Operate</div>
|
| 730 |
+
<button type="button" class="nav-item" data-view="launcher" onclick="go('launcher')"><span class="ico">▦</span>App Launcher</button>
|
| 731 |
+
<button type="button" class="nav-item" data-view="ask" onclick="go('ask')"><span class="ico">✦</span>Ask & Act</button>
|
| 732 |
+
<button type="button" class="nav-item" data-view="demo" onclick="go('demo')"><span class="ico">⊞</span>Run a Demo</button>
|
| 733 |
+
<button type="button" class="nav-item" data-view="decision" onclick="go('decision')"><span class="ico">◈</span>Governed Decision</button>
|
| 734 |
|
| 735 |
<!-- ── 3 · BUILD ────────────────────────────────────────────────────── -->
|
| 736 |
<div class="nav-group mod-build">Build</div>
|
| 737 |
+
<button type="button" class="nav-item" data-view="llm" onclick="go('llm')"><span class="ico">⚇</span>Model Router</button>
|
| 738 |
+
<button type="button" class="nav-item" data-view="alloy" onclick="go('alloy')"><span class="ico">⚗</span>Open-Weight Alloy</button>
|
| 739 |
+
<button type="button" class="nav-item" data-view="mcp" onclick="go('mcp')"><span class="ico">⚙</span>Agent Tools</button>
|
| 740 |
+
<button type="button" class="nav-item" data-view="knowledge" onclick="go('knowledge')"><span class="ico">⬡</span>Knowledge Ontology</button>
|
| 741 |
+
<button type="button" class="nav-item" data-view="genome" onclick="go('genome')"><span class="ico">⬢</span>Genome</button>
|
| 742 |
+
<button type="button" class="nav-item" data-view="kbformulas" onclick="go('kbformulas')"><span class="ico">∑</span>Formulas</button>
|
| 743 |
|
| 744 |
<!-- ── 4 · OBSERVE ──────────────────────────────────────────────────── -->
|
| 745 |
<!-- Khipu receipt lake + recorded eval/replay. Chain is the proof-of-governance hero. -->
|
| 746 |
<div class="nav-group mod-observe">Observe</div>
|
| 747 |
+
<button type="button" class="nav-item" data-view="chain" onclick="go('chain')"><span class="ico">⛓</span>Receipt Chain</button>
|
| 748 |
+
<button type="button" class="nav-item" data-view="evidence" onclick="go('evidence')"><span class="ico">⬡</span>Evidence Ledger</button>
|
| 749 |
+
<button type="button" class="nav-item" data-view="replay" onclick="go('replay')"><span class="ico">◷</span>Reasoning Replay</button>
|
| 750 |
+
<button type="button" class="nav-item" data-view="arena" onclick="go('arena')"><span class="ico">⊜</span>Eval Arena</button>
|
| 751 |
|
| 752 |
<!-- ── 5 · GOVERN ───────────────────────────────────────────────────── -->
|
| 753 |
<!-- DOCTRINE: Λ = Conjecture 1 (never theorem, never 1.0). 8 locked-proven {F1,F4,F7,F11,F12,F18,F19,F22}. -->
|
| 754 |
<div class="nav-group mod-govern">Govern</div>
|
| 755 |
+
<button type="button" class="nav-item" data-view="lambda" onclick="go('lambda')"><span class="ico">◔</span>Trust Score (Λ)</button>
|
| 756 |
+
<button type="button" class="nav-item" data-view="gates" onclick="go('gates')"><span class="ico">⊠</span>Safety Gates</button>
|
| 757 |
+
<button type="button" class="nav-item" data-view="govern" onclick="go('govern')"><span class="ico">✓</span>Readiness & Compliance</button>
|
| 758 |
+
<button type="button" class="nav-item" data-view="honest" onclick="go('honest')"><span class="ico">⊘</span>What We Claim</button>
|
| 759 |
|
| 760 |
<!-- ── 6 · RESEARCH ─────────────────────────────────────────────────── -->
|
| 761 |
<div class="nav-group mod-research">Research</div>
|
| 762 |
+
<button type="button" class="nav-item" data-view="publications" onclick="go('publications')"><span class="ico">▤</span>Publications</button>
|
| 763 |
+
<button type="button" class="nav-item" data-view="frontier" onclick="go('frontier')"><span class="ico">◈</span>Frontier Pipeline</button>
|
| 764 |
+
<button type="button" class="nav-item" data-view="labs" onclick="go('labs')"><span class="ico">⚛</span>Labs<span class="lab-chip">EXPERIMENTAL</span></button>
|
| 765 |
+
<button type="button" class="nav-item" data-view="labsintro" onclick="go('labsintro')"><span class="ico">⊹</span>Labs · what we extend<span class="lab-chip">EXPERIMENTAL</span></button>
|
| 766 |
|
| 767 |
<!-- ── 7 · MORE ─────────────────────────────────────────────────────── -->
|
| 768 |
<!-- DOCTRINE: energy_joules UNAVAILABLE until sovereign GPU + meter online; UI says
|
| 769 |
UNAVAILABLE, never fakes watts. SCI = (E × I + M) / R per ISO 21031:2024. -->
|
| 770 |
<div class="nav-group mod-more">More ▾</div>
|
| 771 |
+
<button type="button" class="nav-item" data-view="energy" onclick="go('energy')"><span class="ico">⚡</span>Energy Telemetry</button>
|
| 772 |
+
<button type="button" class="nav-item" data-view="energySci" onclick="go('energySci')"><span class="ico">♻</span>SCI Scores</button>
|
| 773 |
+
<button type="button" class="nav-item" data-view="energyReceipts" onclick="go('energyReceipts')"><span class="ico">⎙</span>Energy Receipts</button>
|
| 774 |
+
<button type="button" class="nav-item" data-view="energyGrid" onclick="go('energyGrid')"><span class="ico">⊟</span>Grid Settings</button>
|
| 775 |
|
| 776 |
<div class="side-foot">Trust score (Λ) = Conjecture 1 (+conditional-proven)<br>8 locked-proven + 80+ experimental CI-green<br>SLSA L1 honest; L2 .att emitted (not independently verified) · L3 roadmap · 5 services<br>Verifiable receipts · honest by design</div>
|
| 777 |
</aside>
|
|
|
|
| 2427 |
if(!VIEWS[view]){ console.warn('unknown tab: '+view); return; }
|
| 2428 |
// tear down ALL live visuals (Chart.js, ECharts, 3d-force-graph, globe.gl, cytoscape) before switching
|
| 2429 |
tearDownAll();
|
| 2430 |
+
var canonicalCurrent=null;
|
| 2431 |
+
var pinnedCurrent=null;
|
| 2432 |
+
document.querySelectorAll('.nav-item').forEach(function(n){
|
| 2433 |
+
if(n.dataset.view===view){
|
| 2434 |
+
if(!pinnedCurrent && n.closest('#pinned-host')){ pinnedCurrent=n; }
|
| 2435 |
+
if(!canonicalCurrent && !n.closest('#pinned-host')){ canonicalCurrent=n; }
|
| 2436 |
+
}
|
| 2437 |
+
});
|
| 2438 |
+
canonicalCurrent=canonicalCurrent||pinnedCurrent;
|
| 2439 |
+
document.querySelectorAll('.nav-item').forEach(function(n){
|
| 2440 |
+
var active=n.dataset.view===view;
|
| 2441 |
+
n.classList.toggle('active',active);
|
| 2442 |
+
if(n===canonicalCurrent){ n.setAttribute('aria-current','page'); }
|
| 2443 |
+
else { n.removeAttribute('aria-current'); }
|
| 2444 |
+
});
|
| 2445 |
const v=VIEWS[view];const c=el('content');
|
| 2446 |
// Stash the requested view key (which may carry a deep-linked sub-tab, e.g.
|
| 2447 |
// 'vdefense/decision') BEFORE render. vertPack reads this to open the correct
|
|
|
|
| 11784 |
var SHA='baf483be3c832b64da47161b558e283d68da6650';
|
| 11785 |
var SHORT='baf483b';
|
| 11786 |
var BRANCH='putnam-2025-canonical-set';
|
| 11787 |
+
var REF=SHA;
|
| 11788 |
var COMPUTED='2026-06-15';
|
| 11789 |
+
var TREE='https://github.com/szl-holdings/lutar-lean/tree/'+REF+'/Lutar/Putnam';
|
| 11790 |
+
var BASE='https://github.com/szl-holdings/lutar-lean/blob/'+REF+'/Lutar/Putnam/';
|
| 11791 |
var TEAL='#3ddc97', GOLD='#c9b787', DIM='#8a8f98';
|
| 11792 |
// Embedded fallback snapshot (matches the live loader exactly), used if the API is unreachable.
|
| 11793 |
var FB_PROBS=[
|
|
|
|
| 11819 |
var pb=j.putnam||{}, sb=j.szl_originals||{};
|
| 11820 |
var probs=(pb.problems||[]).map(function(p){ return {id:p.id,file:p.file,url:p.url||(BASE+p.file),status:p.status,note:p.note}; });
|
| 11821 |
var szl=(sb.items||[]).map(function(s){ return {id:s.id,file:s.file,url:s.url||(BASE+s.file),status:s.status,note:s.note,theorems:s.theorems||[]}; });
|
| 11822 |
+
return { live:true, sha:j.sha||SHA, short:j.short||SHORT, branch:j.branch||BRANCH, ref:j.canonical_ref||j.sha||REF, computed:j.computed||COMPUTED, tree:j.tree||TREE,
|
| 11823 |
probs:probs, szl:szl,
|
| 11824 |
real:(pb.real!=null?pb.real:probs.filter(function(p){return p.status==='REAL';}).length),
|
| 11825 |
demo:(pb.demo!=null?pb.demo:probs.filter(function(p){return p.status==='DEMO';}).length),
|
|
|
|
| 11829 |
function fromFallback(){
|
| 11830 |
var probs=FB_PROBS.map(function(p){ return {id:p[0],file:p[1],url:BASE+p[1],status:p[2],note:p[3]}; });
|
| 11831 |
var szl=FB_SZL.map(function(s){ return {id:s[0],file:s[1],url:BASE+s[1],status:s[2],note:s[3],theorems:[]}; });
|
| 11832 |
+
return { live:false, sha:SHA, short:SHORT, branch:BRANCH, ref:REF, computed:COMPUTED, tree:TREE,
|
| 11833 |
probs:probs, szl:szl,
|
| 11834 |
real:probs.filter(function(p){return p.status==='REAL';}).length,
|
| 11835 |
demo:probs.filter(function(p){return p.status==='DEMO';}).length,
|
|
|
|
| 11844 |
if(m.live){
|
| 11845 |
H+='<div style="font-family:var(--mono,monospace);font-size:11px;color:'+TEAL+';margin:0 0 14px;">'
|
| 11846 |
+'\u25c9 LIVE \u00b7 doctrine-v11 kernel verdict served from this organ\u2019s /api/'+esc(NS)+'/v1/putnam, '
|
| 11847 |
+
+'transcribed from <a href="'+esc(m.tree)+'" target="_blank" rel="noopener" style="color:'+TEAL+';">lutar-lean branch '+esc(m.branch)+' \u00b7 pinned @'+esc(m.short)+'</a>'
|
| 11848 |
+' \u00b7 '+esc(m.computed)+'.</div>';
|
| 11849 |
} else {
|
| 11850 |
H+='<div style="font-family:var(--mono,monospace);font-size:11px;color:'+GOLD+';margin:0 0 14px;">'
|
| 11851 |
+'\u25c8 CACHED SNAPSHOT \u00b7 doctrine-v11 kernel verdict from '
|
| 11852 |
+
+'<a href="'+esc(m.tree)+'" target="_blank" rel="noopener" style="color:'+GOLD+';">lutar-lean branch '+esc(m.branch)+' \u00b7 pinned @'+esc(m.short)+'</a>'
|
| 11853 |
+' \u00b7 '+esc(m.computed)+' \u2014 live loader unreachable; embedded numbers match the pinned commit; re-deploy to refresh.</div>';
|
| 11854 |
}
|
| 11855 |
// bridge paragraph VERBATIM
|
|
|
|
| 15993 |
try{
|
| 15994 |
var cur = (location.hash||'#command').slice(1).split('/')[0];
|
| 15995 |
var act = side.querySelector('.nav-item[data-view="'+cur+'"]');
|
| 15996 |
+
if(act){ act.classList.add('active'); act.setAttribute('aria-current','page'); }
|
|
|
|
| 15997 |
}catch(e){}
|
| 15998 |
return true;
|
| 15999 |
}
|
|
|
|
| 16144 |
var host=document.getElementById('pinned-host'); if(!host) return;
|
| 16145 |
var p=getPins().filter(function(k){ return window.VIEWS&&window.VIEWS[k]; });
|
| 16146 |
if(!p.length){ host.innerHTML=''; return; }
|
| 16147 |
+
var cur=window._requestedView||(location.hash||'#command').slice(1);
|
| 16148 |
+
var canonicalCurrent=false;
|
| 16149 |
+
document.querySelectorAll('.nav-item').forEach(function(n){
|
| 16150 |
+
if(!n.closest('#pinned-host')&&n.dataset.view===cur){ canonicalCurrent=true; }
|
| 16151 |
+
});
|
| 16152 |
var h='<div class="nav-group mod-pinned">★ Pinned</div>';
|
| 16153 |
p.forEach(function(k){
|
| 16154 |
+
h+='<button type="button" class="nav-item" data-view="'+esc(k)+'" onclick="go(\''+esc(k)+'\')"><span class="ico">★</span>'+esc(titleOf(k))+'</button>';
|
| 16155 |
});
|
| 16156 |
host.innerHTML=h;
|
| 16157 |
+
host.querySelectorAll('.nav-item').forEach(function(n){
|
| 16158 |
+
var isCurrent=n.dataset.view===cur;
|
| 16159 |
+
n.classList.toggle('active',isCurrent);
|
| 16160 |
+
if(isCurrent&&!canonicalCurrent){ n.setAttribute('aria-current','page'); }
|
| 16161 |
+
else { n.removeAttribute('aria-current'); }
|
| 16162 |
+
});
|
| 16163 |
}
|
| 16164 |
window.__a11oyRenderPins=renderPins;
|
| 16165 |
|