Upload index.html
Browse files- index.html +420 -2
index.html
CHANGED
|
@@ -5,6 +5,10 @@
|
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
<meta name="theme-color" content="#eaf8ff" />
|
| 7 |
<meta name="description" content="Orion / Project Prism — Transformer 2 research notes on Procedure Banks, Working State, recurrent deliberation, and the retirement of the Knowledge Vault." />
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
<title>Orion / Project Prism — Transformer 2 Research Blog</title>
|
| 9 |
|
| 10 |
<style>
|
|
@@ -752,6 +756,101 @@
|
|
| 752 |
.eyebrow{border-radius:10px}.stat-card{border-radius:16px}.glass-card,.callout,.table-wrap,.timeline-card{border-radius:18px}
|
| 753 |
.btn{border-radius:11px}.arch-row{border-radius:12px}.arch-row .tag{border-radius:7px}.toc{border-radius:18px}
|
| 754 |
.section-kicker{letter-spacing:.055em}.quote{font-weight:650}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 755 |
</style>
|
| 756 |
</head>
|
| 757 |
<body>
|
|
@@ -776,12 +875,21 @@
|
|
| 776 |
<a href="#scale">2B scale-up</a>
|
| 777 |
<a href="#t22">T2.2</a>
|
| 778 |
<button class="nav-tab-btn" id="openAssistant" type="button">✦ AI Assistant</button>
|
|
|
|
| 779 |
</div>
|
| 780 |
<button class="icon-btn" id="themeToggle" aria-label="Switch to dark mode" title="Switch appearance"><span id="themeIcon">☾</span></button>
|
| 781 |
</nav>
|
| 782 |
</div>
|
| 783 |
|
| 784 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 785 |
<div class="hero-grid">
|
| 786 |
<div class="hero-main">
|
| 787 |
<div class="eyebrow"><span class="pulse-dot"></span> Ongoing independent ML research</div>
|
|
@@ -866,6 +974,7 @@
|
|
| 866 |
<a href="#t22">11 — T2.2 direction</a>
|
| 867 |
<a href="#vm">12 — Built-in VM idea</a>
|
| 868 |
<a href="#science">13 — What is actually proven?</a>
|
|
|
|
| 869 |
</aside>
|
| 870 |
|
| 871 |
<main>
|
|
@@ -1417,13 +1526,108 @@
|
|
| 1417 |
|
| 1418 |
|
| 1419 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1420 |
</main>
|
| 1421 |
</div>
|
| 1422 |
|
| 1423 |
<section id="ask-orion" class="assistant-view" aria-hidden="true">
|
| 1424 |
<div class="assistant-view-head">
|
| 1425 |
<button class="back-blog" id="backToBlog" type="button">← Research blog</button>
|
| 1426 |
-
<div class="section-kicker">AI / Interactive architecture guide</div>
|
| 1427 |
</div>
|
| 1428 |
<h2>Ask our pattern-matching chatbot</h2>
|
| 1429 |
<p class="lead">
|
|
@@ -1439,6 +1643,10 @@
|
|
| 1439 |
<div class="bot-id">
|
| 1440 |
<div class="bot-orb" aria-hidden="true"></div>
|
| 1441 |
<div><strong>Prism Pattern Matcher</strong><span>Local research guide · no server required</span></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1442 |
</div>
|
| 1443 |
<div class="online-pill">● READY</div>
|
| 1444 |
</div>
|
|
@@ -1466,6 +1674,11 @@
|
|
| 1466 |
<div class="fun-tile"><strong>🧪 Research mode</strong>Will say when the current notes do not support an answer.</div>
|
| 1467 |
</div>
|
| 1468 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1469 |
<div class="bot-disclaimer">
|
| 1470 |
Pattern-matching assistant, not a hosted LLM. It can handle varied/rephrased architecture questions by
|
| 1471 |
retrieving and combining relevant project facts, but it does not invent new experimental results.
|
|
@@ -1689,7 +1902,212 @@
|
|
| 1689 |
chatInput.style.height=Math.min(chatInput.scrollHeight,130)+'px';
|
| 1690 |
});
|
| 1691 |
document.querySelectorAll('.suggestion').forEach(btn=>btn.addEventListener('click',()=>ask(btn.textContent)));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1692 |
})();
|
| 1693 |
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1694 |
</body>
|
| 1695 |
</html>
|
|
|
|
| 5 |
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
| 6 |
<meta name="theme-color" content="#eaf8ff" />
|
| 7 |
<meta name="description" content="Orion / Project Prism — Transformer 2 research notes on Procedure Banks, Working State, recurrent deliberation, and the retirement of the Knowledge Vault." />
|
| 8 |
+
<meta property="og:title" content="Orion / Project Prism — Transformer 2 Research Notes" />
|
| 9 |
+
<meta property="og:description" content="Architecture notes, ablations, training telemetry, negative results, and the road to T2.2." />
|
| 10 |
+
<meta property="og:type" content="website" />
|
| 11 |
+
<meta name="twitter:card" content="summary_large_image" />
|
| 12 |
<title>Orion / Project Prism — Transformer 2 Research Blog</title>
|
| 13 |
|
| 14 |
<style>
|
|
|
|
| 756 |
.eyebrow{border-radius:10px}.stat-card{border-radius:16px}.glass-card,.callout,.table-wrap,.timeline-card{border-radius:18px}
|
| 757 |
.btn{border-radius:11px}.arch-row{border-radius:12px}.arch-row .tag{border-radius:7px}.toc{border-radius:18px}
|
| 758 |
.section-kicker{letter-spacing:.055em}.quote{font-weight:650}
|
| 759 |
+
|
| 760 |
+
.quick-tools{
|
| 761 |
+
position:fixed;right:16px;bottom:16px;z-index:90;
|
| 762 |
+
display:flex;gap:8px;padding:7px;border-radius:16px;
|
| 763 |
+
background:var(--glass);border:1px solid var(--glass-border);
|
| 764 |
+
backdrop-filter:blur(20px) saturate(160%);box-shadow:var(--shadow-soft)
|
| 765 |
+
}
|
| 766 |
+
.quick-tools button,.assistant-actions button{
|
| 767 |
+
border:1px solid var(--glass-border);background:rgba(255,255,255,.35);color:var(--ink);
|
| 768 |
+
border-radius:10px;cursor:pointer;font-weight:750
|
| 769 |
+
}
|
| 770 |
+
.quick-tools button{width:38px;height:38px}
|
| 771 |
+
body.dark .quick-tools button,body.dark .assistant-actions button{background:rgba(255,255,255,.045)}
|
| 772 |
+
.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:26px}
|
| 773 |
+
.lab-card{
|
| 774 |
+
background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(22px) saturate(150%);
|
| 775 |
+
border-radius:18px;padding:20px;box-shadow:var(--shadow-soft);min-width:0
|
| 776 |
+
}
|
| 777 |
+
.span-2{grid-column:span 2}
|
| 778 |
+
.lab-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:16px}
|
| 779 |
+
.lab-head h3{margin:7px 0 0}
|
| 780 |
+
.evidence{display:inline-block;font-size:.61rem;font-weight:850;letter-spacing:.08em;padding:5px 7px;border-radius:7px;border:1px solid var(--line)}
|
| 781 |
+
.observed{color:#157a63;background:rgba(53,180,143,.08)}
|
| 782 |
+
.ablation{color:#8a6200;background:rgba(204,153,42,.08)}
|
| 783 |
+
.planned{color:#316db1;background:rgba(70,132,203,.08)}
|
| 784 |
+
.illustrative{color:#7c5a9e;background:rgba(133,88,173,.08)}
|
| 785 |
+
.range{width:100%;accent-color:var(--cyan)}
|
| 786 |
+
.tm-scale{display:flex;justify-content:space-between;gap:6px;font-size:.65rem;color:var(--muted);margin:8px 0 15px}
|
| 787 |
+
.metric-bars{display:grid;gap:10px}
|
| 788 |
+
.metric-row{display:grid;grid-template-columns:95px 1fr 70px;gap:10px;align-items:center;font-size:.78rem}
|
| 789 |
+
.metric-track{height:10px;background:rgba(30,80,100,.09);border-radius:999px;overflow:hidden}
|
| 790 |
+
.metric-fill{height:100%;background:var(--cyan);border-radius:999px;transition:width .35s ease}
|
| 791 |
+
.micro{font-size:.76rem;line-height:1.5;color:var(--muted);margin:12px 0 0}
|
| 792 |
+
.ablation-switches{display:grid;gap:9px}
|
| 793 |
+
.ablation-switches label{display:flex;gap:9px;align-items:center;font-size:.84rem}
|
| 794 |
+
.ablation-meter{height:12px;border-radius:999px;background:rgba(30,80,100,.09);overflow:hidden;margin:16px 0}
|
| 795 |
+
.ablation-meter div{height:100%;width:14%;background:var(--cyan);transition:.25s}
|
| 796 |
+
.status-live{font-size:.66rem;font-weight:850;color:#21816b}
|
| 797 |
+
.status-list{display:grid;gap:0;margin:0}
|
| 798 |
+
.status-list div{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}
|
| 799 |
+
.status-list dt{color:var(--muted);font-size:.76rem}.status-list dd{margin:0;font-size:.79rem;font-weight:700;text-align:right}
|
| 800 |
+
.diff{margin:0;background:rgba(9,29,39,.94);color:#e9f5fa;padding:17px;border-radius:13px;line-height:1.8;overflow:auto;font-size:.8rem}
|
| 801 |
+
.diff .minus{color:#ff9b9b}.diff .plus{color:#8fe1b9}.diff .same{color:#d9e6ec}.diff .maybe{color:#f0cd7a}
|
| 802 |
+
.token-demo{display:flex;gap:8px}.token-demo input{flex:1;min-width:0}
|
| 803 |
+
.token-demo input,.token-demo button,.assistant-mode-select{
|
| 804 |
+
border:1px solid var(--glass-border);background:rgba(255,255,255,.35);color:var(--ink);border-radius:10px;padding:10px 12px
|
| 805 |
+
}
|
| 806 |
+
body.dark .token-demo input,body.dark .token-demo button,body.dark .assistant-mode-select{background:rgba(255,255,255,.045)}
|
| 807 |
+
.token-demo button{cursor:pointer;font-weight:750}
|
| 808 |
+
.token-path{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
|
| 809 |
+
.token-node{padding:9px 10px;border:1px solid var(--line);border-radius:10px;font-size:.74rem;opacity:.35;transform:translateY(4px);transition:.3s}
|
| 810 |
+
.token-node.on{opacity:1;transform:none;background:rgba(54,175,205,.08)}
|
| 811 |
+
.experts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
|
| 812 |
+
.expert{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);display:grid;place-items:center;font-size:.72rem;font-weight:800;background:rgba(255,255,255,.2)}
|
| 813 |
+
.expert.hot{background:rgba(53,185,204,.18);box-shadow:inset 0 0 0 1px rgba(53,185,204,.18)}
|
| 814 |
+
.family-tree{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
|
| 815 |
+
.family-tree div{padding:12px;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:3px;min-width:105px}
|
| 816 |
+
.family-tree span{font-size:.7rem;color:var(--muted)}.family-tree i{color:var(--muted)}.family-tree .future{border-style:dashed}
|
| 817 |
+
.repro summary{cursor:pointer;font-weight:800}.repro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
|
| 818 |
+
.repro-grid div{padding:12px;border:1px solid var(--line);border-radius:12px}.repro-grid b,.repro-grid span{display:block}.repro-grid span{font-size:.76rem;color:var(--muted);margin-top:4px}
|
| 819 |
+
.assistant-mode-select{font-size:.7rem;padding:6px 8px;margin-left:8px}
|
| 820 |
+
.assistant-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.assistant-actions button{padding:8px 10px;font-size:.72rem}
|
| 821 |
+
.modal-backdrop{position:fixed;inset:0;background:rgba(5,12,18,.38);backdrop-filter:blur(10px);z-index:300}
|
| 822 |
+
.modal-panel{position:fixed;left:50%;top:14%;transform:translateX(-50%);width:min(680px,calc(100% - 24px));z-index:310;background:var(--glass-strong);border:1px solid var(--glass-border);backdrop-filter:blur(30px) saturate(170%);border-radius:18px;box-shadow:0 30px 80px rgba(0,0,0,.22);padding:14px}
|
| 823 |
+
.palette input,.search-panel input{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:12px;padding:14px;font-size:1rem;outline:0}
|
| 824 |
+
.palette-item,.search-result{padding:11px 12px;border-radius:10px;cursor:pointer;border-bottom:1px solid var(--line)}
|
| 825 |
+
.palette-item:hover,.palette-item.active,.search-result:hover{background:rgba(255,255,255,.28)}
|
| 826 |
+
.palette-help{font-size:.68rem;color:var(--muted);padding:9px 5px 2px}
|
| 827 |
+
.modal-title{display:flex;justify-content:space-between;align-items:center;font-weight:850;margin:2px 2px 12px}
|
| 828 |
+
.modal-title button{border:0;background:none;color:var(--ink);font-size:1.4rem;cursor:pointer}
|
| 829 |
+
.change-item{padding:12px 4px;border-top:1px solid var(--line)}.change-item b,.change-item span{display:block}.change-item span{color:var(--muted);font-size:.78rem;line-height:1.5;margin-top:4px}
|
| 830 |
+
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:400;background:#102b3a;color:white;border-radius:10px;padding:10px 14px;font-size:.78rem;transition:.2s}
|
| 831 |
+
.toast.show{opacity:1;transform:translate(-50%,0)}
|
| 832 |
+
.section-anchor{opacity:0;margin-left:8px;font-size:.7em;color:var(--muted);transition:.15s}.section-anchor:hover{opacity:1}h2:hover .section-anchor{opacity:.65}
|
| 833 |
+
mark.search-hit{background:rgba(255,222,91,.55);color:inherit;border-radius:3px}
|
| 834 |
+
body.paper-mode{background:#fff!important;color:#111!important}
|
| 835 |
+
body.paper-mode .ambient,body.paper-mode .quick-tools,body.paper-mode .nav-wrap{display:none!important}
|
| 836 |
+
body.paper-mode .hero-main,body.paper-mode .hero-side,body.paper-mode .stat-card,body.paper-mode .glass-card,body.paper-mode .callout,body.paper-mode .table-wrap,body.paper-mode .timeline-card,body.paper-mode .lab-card{background:white!important;box-shadow:none!important;backdrop-filter:none!important;border:1px solid #ddd!important}
|
| 837 |
+
body.paper-mode{--ink:#111;--muted:#555;--line:#ddd;--glass:#fff;--glass-border:#ddd}
|
| 838 |
+
body.no-glass *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
|
| 839 |
+
body.no-animations *{animation:none!important;transition:none!important}
|
| 840 |
+
body.no-radius *{border-radius:0!important}
|
| 841 |
+
body.no-css{font-family:serif!important;background:white!important;color:black!important}
|
| 842 |
+
body.no-css *{box-shadow:none!important;background:transparent!important;color:inherit!important;border-radius:0!important;backdrop-filter:none!important}
|
| 843 |
+
@media(max-width:760px){
|
| 844 |
+
.lab-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.repro-grid{grid-template-columns:1fr}
|
| 845 |
+
.quick-tools{right:8px;bottom:8px}.quick-tools button{width:34px;height:34px}
|
| 846 |
+
.tm-scale{font-size:.55rem}.metric-row{grid-template-columns:78px 1fr 55px}.family-tree i{display:none}
|
| 847 |
+
.modal-panel{top:8%}
|
| 848 |
+
}
|
| 849 |
+
@media print{
|
| 850 |
+
.nav-wrap,.quick-tools,.ambient,.progress,.assistant-view,.hero-actions{display:none!important}
|
| 851 |
+
body{background:#fff!important}.hero-main,.hero-side,.stat-card,.glass-card,.callout,.table-wrap,.timeline-card,.lab-card{box-shadow:none!important;backdrop-filter:none!important;background:white!important}
|
| 852 |
+
}
|
| 853 |
+
|
| 854 |
</style>
|
| 855 |
</head>
|
| 856 |
<body>
|
|
|
|
| 875 |
<a href="#scale">2B scale-up</a>
|
| 876 |
<a href="#t22">T2.2</a>
|
| 877 |
<button class="nav-tab-btn" id="openAssistant" type="button">✦ AI Assistant</button>
|
| 878 |
+
<button class="nav-tab-btn" id="openPalette" type="button" title="Command palette">⌘K</button>
|
| 879 |
</div>
|
| 880 |
<button class="icon-btn" id="themeToggle" aria-label="Switch to dark mode" title="Switch appearance"><span id="themeIcon">☾</span></button>
|
| 881 |
</nav>
|
| 882 |
</div>
|
| 883 |
|
| 884 |
+
|
| 885 |
+
<div class="quick-tools" aria-label="Research tools">
|
| 886 |
+
<button id="searchBtn" title="Search research">⌕</button>
|
| 887 |
+
<button id="paperModeBtn" title="Paper / print mode">▤</button>
|
| 888 |
+
<button id="ablateSiteBtn" title="Ablate the website">Δ</button>
|
| 889 |
+
<button id="changelogBtn" title="Changelog">↻</button>
|
| 890 |
+
</div>
|
| 891 |
+
|
| 892 |
+
<header class="hero" id="top">
|
| 893 |
<div class="hero-grid">
|
| 894 |
<div class="hero-main">
|
| 895 |
<div class="eyebrow"><span class="pulse-dot"></span> Ongoing independent ML research</div>
|
|
|
|
| 974 |
<a href="#t22">11 — T2.2 direction</a>
|
| 975 |
<a href="#vm">12 — Built-in VM idea</a>
|
| 976 |
<a href="#science">13 — What is actually proven?</a>
|
| 977 |
+
<a href="#lab">14 — Interactive research lab</a>
|
| 978 |
</aside>
|
| 979 |
|
| 980 |
<main>
|
|
|
|
| 1526 |
|
| 1527 |
|
| 1528 |
|
| 1529 |
+
|
| 1530 |
+
<section id="lab">
|
| 1531 |
+
<div class="section-kicker">14 / Interactive research lab</div>
|
| 1532 |
+
<h2>Explore the architecture</h2>
|
| 1533 |
+
<p class="lead">Interactive views of the same measurements used in the research notes. Where a view is illustrative rather than measured, it is labelled as such.</p>
|
| 1534 |
+
|
| 1535 |
+
<div class="lab-grid">
|
| 1536 |
+
<article class="lab-card span-2">
|
| 1537 |
+
<div class="lab-head">
|
| 1538 |
+
<div><span class="evidence observed">OBSERVED</span><h3>Checkpoint Time Machine</h3></div>
|
| 1539 |
+
<span class="mono" id="tmLabel">Mini</span>
|
| 1540 |
+
</div>
|
| 1541 |
+
<input id="timeMachine" class="range" type="range" min="0" max="4" step="1" value="0" aria-label="Checkpoint">
|
| 1542 |
+
<div class="tm-scale"><span>Mini</span><span>Nano 1k</span><span>Nano 4.36B</span><span>Nano 9.4B</span><span>2B 1.72B</span></div>
|
| 1543 |
+
<div class="metric-bars" id="tmBars"></div>
|
| 1544 |
+
<p class="micro" id="tmNote"></p>
|
| 1545 |
+
</article>
|
| 1546 |
+
|
| 1547 |
+
<article class="lab-card">
|
| 1548 |
+
<div class="lab-head"><div><span class="evidence ablation">ABLATION</span><h3>Ablation Playground</h3></div><span class="mono" id="ablCE">CE 2.7877</span></div>
|
| 1549 |
+
<div class="ablation-switches">
|
| 1550 |
+
<label><input type="checkbox" data-ablate="vault" checked> Vault</label>
|
| 1551 |
+
<label><input type="checkbox" data-ablate="state" checked> Working State</label>
|
| 1552 |
+
<label><input type="checkbox" data-ablate="procedure" checked> Procedure</label>
|
| 1553 |
+
<label><input type="checkbox" data-ablate="delib" checked> Deliberation</label>
|
| 1554 |
+
</div>
|
| 1555 |
+
<div class="ablation-meter"><div id="ablFill"></div></div>
|
| 1556 |
+
<p class="micro" id="ablText">All measured subsystems enabled.</p>
|
| 1557 |
+
</article>
|
| 1558 |
+
|
| 1559 |
+
<article class="lab-card">
|
| 1560 |
+
<div class="lab-head"><div><span class="evidence observed">OBSERVED</span><h3>Experiment status</h3></div><span class="status-live">● RUNNING</span></div>
|
| 1561 |
+
<dl class="status-list">
|
| 1562 |
+
<div><dt>Model</dt><dd>~2B T2.1</dd></div>
|
| 1563 |
+
<div><dt>Target</dt><dd>99,999,907,840 tokens</dd></div>
|
| 1564 |
+
<div><dt>Hardware</dt><dd>8× H200</dd></div>
|
| 1565 |
+
<div><dt>Throughput</dt><dd>~160–167k tok/s</dd></div>
|
| 1566 |
+
<div><dt>Latest supplied point</dt><dd>~1.72B tokens</dd></div>
|
| 1567 |
+
</dl>
|
| 1568 |
+
<p class="micro">Static snapshot from the supplied research notes. Ready to swap for a live telemetry endpoint later.</p>
|
| 1569 |
+
</article>
|
| 1570 |
+
|
| 1571 |
+
<article class="lab-card span-2">
|
| 1572 |
+
<div class="lab-head"><div><span class="evidence planned">PLANNED</span><h3>T2.1 → T2.2 architecture diff</h3></div></div>
|
| 1573 |
+
<pre class="diff"><span class="minus">- Knowledge Vault (explicit persistent memory)</span>
|
| 1574 |
+
<span class="plus">+ More Procedure capacity</span>
|
| 1575 |
+
<span class="plus">+ Mid-sized Working State budget</span>
|
| 1576 |
+
<span class="same"> Recurrent/shared computation</span>
|
| 1577 |
+
<span class="same"> Recurrent deliberation</span>
|
| 1578 |
+
<span class="same"> State-conditioned routing</span>
|
| 1579 |
+
<span class="maybe">? Deterministic VM / exact-compute path</span></pre>
|
| 1580 |
+
</article>
|
| 1581 |
+
|
| 1582 |
+
<article class="lab-card span-2">
|
| 1583 |
+
<div class="lab-head"><div><span class="evidence illustrative">ILLUSTRATIVE</span><h3>Inside one token</h3></div></div>
|
| 1584 |
+
<div class="token-demo">
|
| 1585 |
+
<input id="tokenInput" value="The capital of France is" aria-label="Illustrative token prompt">
|
| 1586 |
+
<button id="runToken">Run illustrative trace</button>
|
| 1587 |
+
</div>
|
| 1588 |
+
<div class="token-path" id="tokenPath"></div>
|
| 1589 |
+
<p class="micro">This animation is a conceptual walkthrough, not a recorded causal trace from a live checkpoint.</p>
|
| 1590 |
+
</article>
|
| 1591 |
+
|
| 1592 |
+
<article class="lab-card">
|
| 1593 |
+
<div class="lab-head"><div><span class="evidence observed">OBSERVED</span><h3>Procedure Bank visualizer</h3></div><select id="bankSelect" aria-label="Procedure bank"></select></div>
|
| 1594 |
+
<div class="experts" id="experts"></div>
|
| 1595 |
+
<p class="micro" id="bankNote"></p>
|
| 1596 |
+
</article>
|
| 1597 |
+
|
| 1598 |
+
<article class="lab-card">
|
| 1599 |
+
<div class="lab-head"><div><span class="evidence observed">OBSERVED</span><h3>Model family tree</h3></div></div>
|
| 1600 |
+
<div class="family-tree">
|
| 1601 |
+
<div><b>Mini</b><span>219.1M</span></div><i>→</i>
|
| 1602 |
+
<div><b>Nano T2.1</b><span>134.7M</span></div><i>→</i>
|
| 1603 |
+
<div><b>2B T2.1</b><span>~2B</span></div><i>→</i>
|
| 1604 |
+
<div class="future"><b>T2.2</b><span>designing</span></div>
|
| 1605 |
+
</div>
|
| 1606 |
+
</article>
|
| 1607 |
+
|
| 1608 |
+
<article class="lab-card span-2">
|
| 1609 |
+
<details class="repro">
|
| 1610 |
+
<summary>Reproducibility drawer</summary>
|
| 1611 |
+
<div class="repro-grid">
|
| 1612 |
+
<div><b>Data</b><span>Nano: 50B tokens; 60% general, 20% math, 20% code</span></div>
|
| 1613 |
+
<div><b>2B target</b><span>99,999,907,840 tokens</span></div>
|
| 1614 |
+
<div><b>Hardware</b><span>8× NVIDIA H200</span></div>
|
| 1615 |
+
<div><b>Tokens/update</b><span>114,688</span></div>
|
| 1616 |
+
<div><b>Reported throughput</b><span>~160k–167k tokens/s</span></div>
|
| 1617 |
+
<div><b>Scientific caveat</b><span>Inference ablations show checkpoint dependence, not matched-training superiority.</span></div>
|
| 1618 |
+
</div>
|
| 1619 |
+
</details>
|
| 1620 |
+
</article>
|
| 1621 |
+
</div>
|
| 1622 |
+
</section>
|
| 1623 |
+
|
| 1624 |
</main>
|
| 1625 |
</div>
|
| 1626 |
|
| 1627 |
<section id="ask-orion" class="assistant-view" aria-hidden="true">
|
| 1628 |
<div class="assistant-view-head">
|
| 1629 |
<button class="back-blog" id="backToBlog" type="button">← Research blog</button>
|
| 1630 |
+
<div class="section-kicker">AI Assistant / Interactive architecture guide</div>
|
| 1631 |
</div>
|
| 1632 |
<h2>Ask our pattern-matching chatbot</h2>
|
| 1633 |
<p class="lead">
|
|
|
|
| 1643 |
<div class="bot-id">
|
| 1644 |
<div class="bot-orb" aria-hidden="true"></div>
|
| 1645 |
<div><strong>Prism Pattern Matcher</strong><span>Local research guide · no server required</span></div>
|
| 1646 |
+
<select id="assistantMode" class="assistant-mode-select" title="Assistant mode">
|
| 1647 |
+
<option value="pattern">Pattern Matcher</option>
|
| 1648 |
+
<option value="orion" disabled>Orion 2B · connect later</option>
|
| 1649 |
+
</select>
|
| 1650 |
</div>
|
| 1651 |
<div class="online-pill">● READY</div>
|
| 1652 |
</div>
|
|
|
|
| 1674 |
<div class="fun-tile"><strong>🧪 Research mode</strong>Will say when the current notes do not support an answer.</div>
|
| 1675 |
</div>
|
| 1676 |
|
| 1677 |
+
<div class="assistant-actions">
|
| 1678 |
+
<button id="researchModeBtn">Research mode: OFF</button>
|
| 1679 |
+
<button id="exportChatBtn">Export Markdown</button>
|
| 1680 |
+
<button id="shareChatBtn">Copy share link</button>
|
| 1681 |
+
</div>
|
| 1682 |
<div class="bot-disclaimer">
|
| 1683 |
Pattern-matching assistant, not a hosted LLM. It can handle varied/rephrased architecture questions by
|
| 1684 |
retrieving and combining relevant project facts, but it does not invent new experimental results.
|
|
|
|
| 1902 |
chatInput.style.height=Math.min(chatInput.scrollHeight,130)+'px';
|
| 1903 |
});
|
| 1904 |
document.querySelectorAll('.suggestion').forEach(btn=>btn.addEventListener('click',()=>ask(btn.textContent)));
|
| 1905 |
+
|
| 1906 |
+
// ---------- Reading time, anchors, search corpus ----------
|
| 1907 |
+
const articleText = [...document.querySelectorAll('main section')].map(x=>x.innerText).join(' ');
|
| 1908 |
+
const words = articleText.trim().split(/\s+/).length;
|
| 1909 |
+
const reading = document.getElementById('readingTime');
|
| 1910 |
+
if(reading) reading.textContent = Math.max(1, Math.round(words/220)) + ' min read';
|
| 1911 |
+
|
| 1912 |
+
document.querySelectorAll('main section h2').forEach(h=>{
|
| 1913 |
+
const sec=h.closest('section'); if(!sec || !sec.id) return;
|
| 1914 |
+
const a=document.createElement('a'); a.href='#'+sec.id; a.className='section-anchor'; a.textContent='¶'; a.title='Copy section link';
|
| 1915 |
+
a.addEventListener('click',e=>{ e.preventDefault(); history.replaceState(null,'','#'+sec.id); navigator.clipboard?.writeText(location.href); showToast('Section link copied'); });
|
| 1916 |
+
h.appendChild(a);
|
| 1917 |
+
});
|
| 1918 |
+
|
| 1919 |
+
const searchDocs=[...document.querySelectorAll('main section')].map(sec=>({
|
| 1920 |
+
id:sec.id, title:sec.querySelector('h2')?.childNodes[0]?.textContent?.trim() || sec.id, text:sec.innerText
|
| 1921 |
+
}));
|
| 1922 |
+
|
| 1923 |
+
// ---------- Checkpoint Time Machine ----------
|
| 1924 |
+
const checkpoints=[
|
| 1925 |
+
{name:'Mini', note:'Mini checkpoint: Working State was the strongest observed dependency; Vault evidence was weak/mixed.', vals:{Vault:.2,State:9.0,Procedure:0,Deliberation:1.6}},
|
| 1926 |
+
{name:'Nano · ~1k steps', note:'Procedure mattered almost immediately, while State and Vault were still small.', vals:{Vault:.0012,State:.0332,Procedure:2.9562,Deliberation:.0806}},
|
| 1927 |
+
{name:'Nano · 4.36B', note:'Working State had become a major dependency by this point.', vals:{Vault:.1622,State:4.4783,Procedure:5.8667,Deliberation:.6068}},
|
| 1928 |
+
{name:'Nano · 9.4B', note:'Procedure and State were both strongly important; Vault remained much smaller.', vals:{Vault:.2111,State:6.1979,Procedure:6.6810,Deliberation:1.0009}},
|
| 1929 |
+
{name:'2B · 1.72B', note:'Early 2B checkpoint: Procedure dominated the measured ablation effect.', vals:{Vault:0,State:.8092,Procedure:13.8884,Deliberation:.4310}}
|
| 1930 |
+
];
|
| 1931 |
+
const tm=document.getElementById('timeMachine'), tmBars=document.getElementById('tmBars'), tmLabel=document.getElementById('tmLabel'), tmNote=document.getElementById('tmNote');
|
| 1932 |
+
function renderTM(){
|
| 1933 |
+
const c=checkpoints[+tm.value]; tmLabel.textContent=c.name; tmNote.textContent=c.note; tmBars.innerHTML='';
|
| 1934 |
+
const max=Math.max(...Object.values(c.vals),1);
|
| 1935 |
+
Object.entries(c.vals).forEach(([k,v])=>{
|
| 1936 |
+
const r=document.createElement('div'); r.className='metric-row';
|
| 1937 |
+
r.innerHTML=`<b>${k}</b><div class="metric-track"><div class="metric-fill" style="width:${Math.max(1,v/max*100)}%"></div></div><span class="mono">${v===0?'≈0':v.toFixed(v<1?3:2)}</span>`;
|
| 1938 |
+
tmBars.appendChild(r);
|
| 1939 |
+
});
|
| 1940 |
+
}
|
| 1941 |
+
tm?.addEventListener('input',renderTM); if(tm) renderTM();
|
| 1942 |
+
|
| 1943 |
+
// ---------- Ablation playground ----------
|
| 1944 |
+
const baseCE=2.7877, deltas={vault:-.0030,state:.8092,procedure:13.8884,delib:.4310};
|
| 1945 |
+
function renderAblation(){
|
| 1946 |
+
let ce=baseCE, removed=[];
|
| 1947 |
+
document.querySelectorAll('[data-ablate]').forEach(x=>{ if(!x.checked){ce+=deltas[x.dataset.ablate];removed.push(x.parentElement.textContent.trim())} });
|
| 1948 |
+
document.getElementById('ablCE').textContent='CE '+ce.toFixed(4);
|
| 1949 |
+
document.getElementById('ablFill').style.width=Math.min(100,Math.max(5,ce/17*100))+'%';
|
| 1950 |
+
document.getElementById('ablText').textContent=removed.length ? 'Disabled: '+removed.join(', ')+'. This is a simple composition of the supplied single-subsystem deltas, not a measured multi-ablation result.' : 'All measured subsystems enabled.';
|
| 1951 |
+
}
|
| 1952 |
+
document.querySelectorAll('[data-ablate]').forEach(x=>x.addEventListener('change',renderAblation));
|
| 1953 |
+
|
| 1954 |
+
// ---------- Token walkthrough ----------
|
| 1955 |
+
const tokenPath=document.getElementById('tokenPath');
|
| 1956 |
+
const tokenSteps=['Embedding','Cortex','Procedure B0 · maybe NULL','Working State write','Deeper Cortex','Procedure B4','Deliberation','Next-token logits'];
|
| 1957 |
+
function resetToken(){ tokenPath.innerHTML=''; tokenSteps.forEach(t=>{const n=document.createElement('div');n.className='token-node';n.textContent=t;tokenPath.appendChild(n)}); }
|
| 1958 |
+
resetToken();
|
| 1959 |
+
document.getElementById('runToken')?.addEventListener('click',()=>{
|
| 1960 |
+
resetToken(); [...tokenPath.children].forEach((n,i)=>setTimeout(()=>n.classList.add('on'),i*220));
|
| 1961 |
+
});
|
| 1962 |
+
|
| 1963 |
+
// ---------- Procedure visualizer ----------
|
| 1964 |
+
const bankNull=[.943,.853,.720,.620,.441,.534], bankSelect=document.getElementById('bankSelect'), experts=document.getElementById('experts'), bankNote=document.getElementById('bankNote');
|
| 1965 |
+
if(bankSelect){
|
| 1966 |
+
bankNull.forEach((v,i)=>{const o=document.createElement('option');o.value=i;o.textContent='Bank B'+i;bankSelect.appendChild(o)});
|
| 1967 |
+
function renderBank(){
|
| 1968 |
+
const b=+bankSelect.value, active=1-bankNull[b]; experts.innerHTML='';
|
| 1969 |
+
for(let i=0;i<12;i++){ const e=document.createElement('div'); e.className='expert '+(i<Math.round(active*12)?'hot':''); e.textContent='E'+i; e.title='Illustrative expert activity display'; experts.appendChild(e); }
|
| 1970 |
+
bankNote.textContent=`Observed soft-NULL probability for B${b}: ${bankNull[b].toFixed(3)}. Expert highlights are illustrative; the supplied notes only establish zero dead experts and bank-level NULL usage.`;
|
| 1971 |
+
}
|
| 1972 |
+
bankSelect.addEventListener('change',renderBank); renderBank();
|
| 1973 |
+
}
|
| 1974 |
+
|
| 1975 |
+
// ---------- Modal / palette / search ----------
|
| 1976 |
+
const backdrop=document.getElementById('modalBackdrop'), palette=document.getElementById('commandPalette'), searchPanel=document.getElementById('searchPanel'), changelogPanel=document.getElementById('changelogPanel');
|
| 1977 |
+
const modalPanels=[palette,searchPanel,changelogPanel];
|
| 1978 |
+
function closeModals(){modalPanels.forEach(x=>x.hidden=true);backdrop.hidden=true}
|
| 1979 |
+
function openModal(el){closeModals();el.hidden=false;backdrop.hidden=false;setTimeout(()=>el.querySelector('input')?.focus(),30)}
|
| 1980 |
+
backdrop.addEventListener('click',closeModals); document.querySelectorAll('[data-close-modal]').forEach(b=>b.addEventListener('click',closeModals));
|
| 1981 |
+
document.addEventListener('keydown',e=>{if(e.key==='Escape')closeModals()});
|
| 1982 |
+
|
| 1983 |
+
const commands=[
|
| 1984 |
+
{label:'Open AI Assistant',action:()=>setView('assistant')},
|
| 1985 |
+
{label:'Go to current 2B experiment',action:()=>location.hash='scale'},
|
| 1986 |
+
{label:'Open interactive research lab',action:()=>location.hash='lab'},
|
| 1987 |
+
{label:'Toggle dark mode',action:()=>toggle.click()},
|
| 1988 |
+
{label:'Toggle paper mode',action:()=>document.body.classList.toggle('paper-mode')},
|
| 1989 |
+
{label:'Search research',action:()=>openModal(searchPanel)},
|
| 1990 |
+
{label:'Print / save PDF',action:()=>window.print()},
|
| 1991 |
+
{label:'Download RSS snapshot',action:downloadRSS}
|
| 1992 |
+
];
|
| 1993 |
+
searchDocs.forEach(d=>commands.push({label:'Section: '+d.title,action:()=>location.hash=d.id}));
|
| 1994 |
+
const palInput=document.getElementById('paletteInput'), palResults=document.getElementById('paletteResults');
|
| 1995 |
+
function renderPalette(){
|
| 1996 |
+
const q=(palInput.value||'').toLowerCase(); palResults.innerHTML='';
|
| 1997 |
+
commands.filter(c=>c.label.toLowerCase().includes(q)).slice(0,10).forEach((c,i)=>{
|
| 1998 |
+
const el=document.createElement('div');el.className='palette-item';el.textContent=c.label;el.onclick=()=>{closeModals();c.action()};palResults.appendChild(el)
|
| 1999 |
+
});
|
| 2000 |
+
}
|
| 2001 |
+
palInput.addEventListener('input',renderPalette);
|
| 2002 |
+
document.getElementById('openPalette')?.addEventListener('click',()=>{openModal(palette);renderPalette()});
|
| 2003 |
+
document.addEventListener('keydown',e=>{if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()==='k'){e.preventDefault();openModal(palette);renderPalette()}});
|
| 2004 |
+
|
| 2005 |
+
const siteSearchInput=document.getElementById('siteSearchInput'), siteSearchResults=document.getElementById('siteSearchResults');
|
| 2006 |
+
function renderSearch(){
|
| 2007 |
+
const q=siteSearchInput.value.trim().toLowerCase();siteSearchResults.innerHTML=''; if(q.length<2)return;
|
| 2008 |
+
searchDocs.map(d=>({...d,score:(d.title.toLowerCase().includes(q)?4:0)+(d.text.toLowerCase().match(new RegExp(q.replace(/[.*+?^${}()|[\]\\]/g,'\\$&'),'g'))||[]).length}))
|
| 2009 |
+
.filter(x=>x.score>0).sort((a,b)=>b.score-a.score).slice(0,12).forEach(d=>{
|
| 2010 |
+
const el=document.createElement('div');el.className='search-result';el.innerHTML=`<b>${d.title}</b><div class="micro">${d.text.slice(0,150).replace(/\s+/g,' ')}…</div>`;
|
| 2011 |
+
el.onclick=()=>{closeModals();setView('blog',false);location.hash=d.id};siteSearchResults.appendChild(el)
|
| 2012 |
+
});
|
| 2013 |
+
}
|
| 2014 |
+
siteSearchInput.addEventListener('input',renderSearch);
|
| 2015 |
+
document.getElementById('searchBtn')?.addEventListener('click',()=>openModal(searchPanel));
|
| 2016 |
+
document.getElementById('changelogBtn')?.addEventListener('click',()=>openModal(changelogPanel));
|
| 2017 |
+
|
| 2018 |
+
// ---------- Paper mode + website self-ablation ----------
|
| 2019 |
+
document.getElementById('paperModeBtn')?.addEventListener('click',()=>document.body.classList.toggle('paper-mode'));
|
| 2020 |
+
let ablationStage=0;
|
| 2021 |
+
const siteAblations=[
|
| 2022 |
+
{cls:'no-glass',msg:'ΔGlass: backdrop blur removed.'},
|
| 2023 |
+
{cls:'no-animations',msg:'ΔAnimations: motion removed.'},
|
| 2024 |
+
{cls:'no-radius',msg:'ΔRadius: rounded corners removed.'},
|
| 2025 |
+
{cls:'no-css',msg:'ΔCSS: website has entered the Times New Roman dimension.'}
|
| 2026 |
+
];
|
| 2027 |
+
document.getElementById('ablateSiteBtn')?.addEventListener('click',()=>{
|
| 2028 |
+
if(ablationStage>=siteAblations.length){
|
| 2029 |
+
siteAblations.forEach(x=>document.body.classList.remove(x.cls));ablationStage=0;showToast('Website restored. CSS pathway recovered.');return;
|
| 2030 |
+
}
|
| 2031 |
+
const a=siteAblations[ablationStage++];document.body.classList.add(a.cls);showToast(a.msg+(ablationStage===4?' The website is extraordinarily dependent on its CSS pathway.':''));
|
| 2032 |
+
});
|
| 2033 |
+
|
| 2034 |
+
// ---------- Assistant research mode / export / share ----------
|
| 2035 |
+
let researchMode=false;
|
| 2036 |
+
const researchBtn=document.getElementById('researchModeBtn');
|
| 2037 |
+
researchBtn?.addEventListener('click',()=>{researchMode=!researchMode;researchBtn.textContent='Research mode: '+(researchMode?'ON':'OFF')});
|
| 2038 |
+
const oldCompose=composeAnswer;
|
| 2039 |
+
composeAnswer=function(question){
|
| 2040 |
+
const a=oldCompose(question);
|
| 2041 |
+
if(!researchMode)return a;
|
| 2042 |
+
return `OBSERVATION\n${a}\n\nINTERPRETATION\nThis answer is assembled from the supplied Orion research notes and their repeated qualitative patterns.\n\nLIMITATION\nInference-time ablations establish checkpoint dependence; matched retrained controls are still needed for stronger architecture-level claims.`;
|
| 2043 |
+
};
|
| 2044 |
+
document.getElementById('exportChatBtn')?.addEventListener('click',()=>{
|
| 2045 |
+
const rows=[...document.querySelectorAll('#chatWindow .msg')].map(m=>(m.classList.contains('user')?'## You':'## Prism')+'\n'+m.innerText.trim()).join('\n\n');
|
| 2046 |
+
const blob=new Blob(['# Orion Assistant Conversation\n\n'+rows],{type:'text/markdown'});const a=document.createElement('a');a.href=URL.createObjectURL(blob);a.download='orion-chat.md';a.click();URL.revokeObjectURL(a.href);
|
| 2047 |
+
});
|
| 2048 |
+
document.getElementById('shareChatBtn')?.addEventListener('click',()=>{history.replaceState(null,'','#assistant');navigator.clipboard?.writeText(location.href);showToast('Assistant link copied')});
|
| 2049 |
+
|
| 2050 |
+
// slash commands
|
| 2051 |
+
const originalAsk=ask;
|
| 2052 |
+
ask=function(text){
|
| 2053 |
+
const t=text.trim();
|
| 2054 |
+
if(t.startsWith('/')){
|
| 2055 |
+
const map={'/architecture':'What is the current Orion architecture?','/ablations':'What have the ablations shown?','/training':'How is the current 2B run training?','/t22':'What is planned for T2.2?'};
|
| 2056 |
+
if(map[t.toLowerCase()]) return originalAsk(map[t.toLowerCase()]);
|
| 2057 |
+
}
|
| 2058 |
+
if(/are you conscious/i.test(t)){addMessage(t,'user');setTimeout(()=>addMessage('bro I am currently JavaScript pattern matching 😭','bot'),180);chatInput.value='';return}
|
| 2059 |
+
return originalAsk(text);
|
| 2060 |
+
};
|
| 2061 |
+
|
| 2062 |
+
// ---------- RSS snapshot ----------
|
| 2063 |
+
function downloadRSS(){
|
| 2064 |
+
const items=searchDocs.slice(0,8).map(d=>`<item><title>${escapeXML(d.title)}</title><description>${escapeXML(d.text.slice(0,280))}</description><guid>#${d.id}</guid></item>`).join('');
|
| 2065 |
+
const xml=`<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Orion / Project Prism Research Notes</title><description>Transformer 2 research updates</description><link>${escapeXML(location.href)}</link>${items}</channel></rss>`;
|
| 2066 |
+
const blob=new Blob([xml],{type:'application/rss+xml'});const a=document.createElement('a');a.href=URL.createObjectURL(blob);a.download='orion-research.xml';a.click();URL.revokeObjectURL(a.href);
|
| 2067 |
+
}
|
| 2068 |
+
function escapeXML(x){return String(x).replace(/[<>&'"]/g,c=>({'<':'<','>':'>','&':'&',"'":''','"':'"'}[c]))}
|
| 2069 |
+
|
| 2070 |
+
// ---------- Toast ----------
|
| 2071 |
+
let toastTimer;
|
| 2072 |
+
function showToast(msg){const t=document.getElementById('toast');t.textContent=msg;t.classList.add('show');clearTimeout(toastTimer);toastTimer=setTimeout(()=>t.classList.remove('show'),2200)}
|
| 2073 |
+
|
| 2074 |
+
// ---------- Keyboard section navigation ----------
|
| 2075 |
+
document.addEventListener('keydown',e=>{
|
| 2076 |
+
if(['INPUT','TEXTAREA','SELECT'].includes(document.activeElement.tagName))return;
|
| 2077 |
+
if(e.key==='j'||e.key==='k'){
|
| 2078 |
+
const secs=[...document.querySelectorAll('main section')]; const y=scrollY+160;
|
| 2079 |
+
let idx=secs.findIndex(x=>x.offsetTop>y); if(idx<0)idx=secs.length;
|
| 2080 |
+
if(e.key==='k') idx=Math.max(0,idx-2); else idx=Math.min(secs.length-1,idx);
|
| 2081 |
+
secs[idx]?.scrollIntoView({behavior:'smooth'});
|
| 2082 |
+
}
|
| 2083 |
+
});
|
| 2084 |
+
|
| 2085 |
})();
|
| 2086 |
</script>
|
| 2087 |
+
|
| 2088 |
+
<div class="modal-backdrop" id="modalBackdrop" hidden></div>
|
| 2089 |
+
|
| 2090 |
+
<div class="palette modal-panel" id="commandPalette" hidden role="dialog" aria-modal="true" aria-label="Command palette">
|
| 2091 |
+
<input id="paletteInput" placeholder="Search sections or run a command…" autocomplete="off">
|
| 2092 |
+
<div id="paletteResults"></div>
|
| 2093 |
+
<div class="palette-help">↑↓ navigate · Enter open · Esc close · Ctrl/⌘ K toggle</div>
|
| 2094 |
+
</div>
|
| 2095 |
+
|
| 2096 |
+
<div class="modal-panel search-panel" id="searchPanel" hidden role="dialog" aria-modal="true">
|
| 2097 |
+
<div class="modal-title">Search research <button data-close-modal>×</button></div>
|
| 2098 |
+
<input id="siteSearchInput" placeholder="Search the blog…" autocomplete="off">
|
| 2099 |
+
<div id="siteSearchResults"></div>
|
| 2100 |
+
</div>
|
| 2101 |
+
|
| 2102 |
+
<div class="modal-panel changelog-panel" id="changelogPanel" hidden role="dialog" aria-modal="true">
|
| 2103 |
+
<div class="modal-title">Changelog <button data-close-modal>×</button></div>
|
| 2104 |
+
<div class="change-item"><b>v4 · Interactive Lab</b><span>Checkpoint time machine, ablation playground, family tree, token walkthrough, procedure visualizer, search, command palette, paper mode, self-ablation.</span></div>
|
| 2105 |
+
<div class="change-item"><b>v3 · Assistant view</b><span>Separate AI tab, responsive mobile layout, persistent dark mode.</span></div>
|
| 2106 |
+
<div class="change-item"><b>v2 · Pattern Matcher</b><span>Local architecture Q&A with evidence-aware retrieval.</span></div>
|
| 2107 |
+
<div class="change-item"><b>v1 · Research Blog</b><span>Original Orion/T2 research notes site.</span></div>
|
| 2108 |
+
</div>
|
| 2109 |
+
|
| 2110 |
+
<div class="toast" id="toast" role="status" aria-live="polite"></div>
|
| 2111 |
+
|
| 2112 |
</body>
|
| 2113 |
</html>
|