docs: add architecture, R&D, and patent strategy docs
Deploy Soul to GKE / deploy (push) Failing after 27s
Neuron Soul CI / build (push) Failing after 4m26s

This commit is contained in:
2026-06-10 17:31:07 -05:00
parent 0bd8e0a2cd
commit a76aaf4831
13 changed files with 11573 additions and 0 deletions
+829
View File
@@ -0,0 +1,829 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Neuron R&D — Making Discovery Abundant · Eyes Only · Neuron Technologies</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400;1,700&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg:#FAFAF8;--bg2:#F0F0EC;--card:#FFFFFF;
--navy:#0052A0;--navy-d:rgba(0,82,160,.06);--navy-m:rgba(0,82,160,.12);--navy-b:rgba(0,82,160,.22);
--green:#1A7F4B;--green-d:rgba(26,127,75,.06);--green-b:rgba(26,127,75,.22);
--amber:#B45309;--amber-d:rgba(180,83,9,.06);--amber-b:rgba(180,83,9,.22);
--t1:#0D0D14;--t2:#3A3A4A;--t3:#6B6B7E;
--border:rgba(0,0,0,.07);--border2:rgba(0,0,0,.13);
--head:'Playfair Display',Georgia,serif;
--body:'IBM Plex Sans',system-ui,sans-serif;
--mono:'IBM Plex Mono','SF Mono',monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--bg);color:var(--t1);font-size:16px;line-height:1.7;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);
background-size:48px 48px}
nav{position:sticky;top:0;z-index:100;background:rgba(250,250,248,.96);backdrop-filter:blur(10px);
border-bottom:1px solid var(--border2);display:flex;align-items:center;padding:0 32px;height:54px;gap:6px;flex-wrap:wrap}
.nav-wordmark{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.18em;color:var(--t1);text-transform:uppercase;margin-right:auto}
.nav-link{font-family:var(--mono);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .2s;text-decoration:none;border:1px solid transparent}
.nav-link:hover,.nav-link.active{color:var(--navy);background:var(--navy-d);border-color:var(--navy-b)}
.nav-badge{font-family:var(--mono);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;
background:var(--green-d);border:1px solid var(--green-b);color:var(--green);padding:3px 10px;border-radius:99px;margin-left:8px}
.doc-page{max-width:820px;margin:0 auto;padding:72px 48px 120px;position:relative;z-index:1}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:80ms}
.reveal-delay-2{transition-delay:160ms}
.reveal-delay-3{transition-delay:240ms}
.reveal-delay-4{transition-delay:320ms}
.masthead{text-align:center;border-top:3px solid var(--t1);border-bottom:1px solid var(--border2);padding:36px 0 32px;margin-bottom:60px}
.masthead .dateline{font-family:var(--mono);font-size:.56rem;letter-spacing:.20em;text-transform:uppercase;color:var(--t3);margin-bottom:22px}
.masthead .eyebrow{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:14px;font-weight:500}
.masthead h1{font-family:var(--head);font-size:3rem;font-weight:700;line-height:1.08;margin-bottom:16px}
.masthead h1 em{font-style:italic;color:var(--navy)}
.masthead .subtitle{font-size:.95rem;color:var(--t3);max-width:520px;margin:0 auto;line-height:1.7;font-style:italic}
.doc-page h2{font-family:var(--mono);font-size:.56rem;font-weight:500;letter-spacing:.20em;text-transform:uppercase;
color:var(--navy);margin:60px 0 20px;padding-bottom:10px;border-bottom:1px solid var(--border2)}
p{margin-bottom:.9em;font-size:.95rem;color:var(--t2);line-height:1.8}
p strong{color:var(--t1);font-weight:600}
.callout{border-left:3px solid var(--navy);padding:16px 22px;margin:20px 0;background:var(--navy-d);border-radius:0 12px 12px 0;
font-family:var(--head);font-style:italic;font-size:1.02rem;line-height:1.65;color:var(--t1)}
.callout .attr{font-family:var(--mono);font-style:normal;font-size:.56rem;color:var(--t3);letter-spacing:.08em;margin-top:10px;display:block}
.callout.green{border-left-color:var(--green);background:var(--green-d)}
.callout.amber{border-left-color:var(--amber);background:var(--amber-d)}
.callout.dark{background:#0D0D14;border-left-color:rgba(0,82,160,.6);color:#EEE9DC;border-radius:12px;padding:28px 32px;position:relative;overflow:hidden}
.callout.dark::before{content:'\201C';font-family:var(--head);font-size:14rem;color:rgba(26,127,75,.07);
position:absolute;top:-60px;left:-10px;line-height:1;pointer-events:none}
.callout.dark .label{font-family:var(--mono);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:#5aae8e;margin-bottom:14px;position:relative}
.callout.dark p{color:#B8B4A8;position:relative}
.callout.dark strong{color:#EEE9DC}
/* ── RESEARCH MODES ── */
.modes-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:28px 0}
.mode-card{border-radius:14px;padding:24px;border:1px solid var(--border2);background:var(--card);transition:all .3s;cursor:default}
.mode-card.swarm{border-color:var(--navy-b);background:var(--navy-d)}
.mode-card.private{border-color:var(--amber-b);background:var(--amber-d)}
.mode-card.partner{border-color:var(--green-b);background:var(--green-d)}
.mode-icon{font-size:1.6rem;margin-bottom:12px}
.mode-label{font-family:var(--mono);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;font-weight:500}
.mode-card.swarm .mode-label{color:var(--navy)}
.mode-card.private .mode-label{color:var(--amber)}
.mode-card.partner .mode-label{color:var(--green)}
.mode-name{font-family:var(--head);font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--t1)}
.mode-desc{font-size:.82rem;color:var(--t2);line-height:1.65}
/* ── RESEARCH VERTICALS ── */
.verticals{margin:28px 0}
.vertical-item{border:1px solid var(--border2);border-radius:12px;margin-bottom:10px;overflow:hidden;transition:border-color .25s}
.vertical-item.open{border-color:var(--navy-b)}
.vertical-header{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer;background:var(--card);transition:background .2s}
.vertical-header:hover{background:var(--navy-d)}
.vertical-emoji{font-size:1.3rem;flex-shrink:0}
.vertical-title{font-family:var(--head);font-size:1.05rem;font-weight:700;color:var(--t1);flex:1}
.vertical-tag{font-family:var(--mono);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;
padding:3px 10px;border-radius:99px;border:1px solid var(--navy-b);color:var(--navy);background:var(--navy-d);flex-shrink:0}
.vertical-chevron{font-size:.7rem;color:var(--t3);transition:transform .3s;flex-shrink:0}
.vertical-item.open .vertical-chevron{transform:rotate(180deg)}
.vertical-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}
.vertical-item.open .vertical-body{max-height:600px}
.vertical-content{padding:0 22px 22px;background:var(--card)}
.vertical-content p{font-size:.88rem;color:var(--t2);margin-bottom:.7em}
.vc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.vc-item{background:var(--bg2);border-radius:8px;padding:12px 14px}
.vc-label{font-family:var(--mono);font-size:.5rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.vc-val{font-size:.82rem;color:var(--t2);line-height:1.5}
.vc-item.highlight{background:var(--navy-d);border:1px solid var(--navy-b)}
.vc-item.highlight .vc-label{color:var(--navy)}
.vc-item.highlight .vc-val{color:var(--t1);font-weight:500}
/* ── PLATFORM HOW IT WORKS ── */
.platform-flow{margin:28px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;position:relative}
.pf-step{background:var(--card);border:1px solid var(--border2);border-radius:0;padding:22px 20px;position:relative}
.pf-step:first-child{border-radius:12px 0 0 12px}
.pf-step:last-child{border-radius:0 12px 12px 0}
.pf-num{font-family:var(--mono);font-size:2rem;font-weight:500;color:rgba(0,82,160,.12);line-height:1;margin-bottom:10px}
.pf-title{font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);margin-bottom:10px;font-weight:500}
.pf-body{font-size:.82rem;color:var(--t2);line-height:1.65}
.pf-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);z-index:2;
width:22px;height:22px;background:var(--bg);border:1px solid var(--border2);border-radius:50%;
display:flex;align-items:center;justify-content:center;font-size:.6rem;color:var(--t3)}
/* ── INCENTIVE TABLE ── */
.incentive-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.85rem}
.incentive-table th{font-family:var(--mono);font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;
color:var(--t3);font-weight:500;padding:10px 16px;border-bottom:2px solid var(--border2);text-align:left}
.incentive-table td{padding:12px 16px;border-bottom:1px solid var(--border);color:var(--t2);vertical-align:top}
.incentive-table tr:last-child td{border-bottom:none}
.incentive-table tr:hover td{background:var(--navy-d)}
.tier-pill{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;
padding:2px 8px;border-radius:99px;white-space:nowrap}
.tier-pill.bronze{background:var(--amber-d);border:1px solid var(--amber-b);color:var(--amber)}
.tier-pill.silver{background:var(--navy-d);border:1px solid var(--navy-b);color:var(--navy)}
.tier-pill.gold{background:var(--green-d);border:1px solid var(--green-b);color:var(--green)}
/* ── OPEN MODEL ── */
.open-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.open-card{border-radius:12px;padding:22px;border:1px solid var(--border2);background:var(--card)}
.open-card.publish{border-color:var(--green-b);background:var(--green-d)}
.open-card.private{border-color:var(--amber-b);background:var(--amber-d)}
.open-card-label{font-family:var(--mono);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;font-weight:500}
.open-card.publish .open-card-label{color:var(--green)}
.open-card.private .open-card-label{color:var(--amber)}
.open-card-body{font-size:.84rem;color:var(--t2);line-height:1.7}
.open-card ul{padding-left:16px;margin-top:8px}
.open-card ul li{margin-bottom:5px}
/* ── TIMELINE ── */
.rd-timeline{margin:32px 0;position:relative}
.rd-timeline::before{content:'';position:absolute;left:22px;top:0;bottom:0;width:2px;background:var(--border2)}
.tl-item{display:flex;gap:24px;margin-bottom:32px;position:relative}
.tl-dot{width:44px;height:44px;border-radius:50%;flex-shrink:0;border:2px solid var(--border2);
background:var(--card);display:flex;align-items:center;justify-content:center;font-size:.85rem;
position:relative;z-index:1;transition:all .3s}
.tl-dot.now{border-color:var(--navy);background:var(--navy-d)}
.tl-dot.near{border-color:var(--green);background:var(--green-d)}
.tl-dot.mid{border-color:var(--amber);background:var(--amber-d)}
.tl-dot.far{border-color:var(--t1);background:var(--t1)}
.tl-dot.far span{color:#EEE9DC}
.tl-body{flex:1;padding-top:8px}
.tl-year{font-family:var(--mono);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);margin-bottom:4px}
.tl-dot.now~.tl-body .tl-year{color:var(--navy)}
.tl-dot.near~.tl-body .tl-year{color:var(--green)}
.tl-dot.mid~.tl-body .tl-year{color:var(--amber)}
.tl-title{font-family:var(--head);font-size:1.1rem;font-weight:700;margin-bottom:6px;color:var(--t1)}
.tl-desc{font-size:.85rem;color:var(--t2);line-height:1.7}
/* ── PROOF CASE ── */
.proof-case{background:#0D0D14;border-radius:14px;padding:32px;margin:28px 0;position:relative;overflow:hidden}
.proof-case::before{content:'01';font-family:var(--head);font-size:10rem;font-weight:700;
color:rgba(26,127,75,.06);position:absolute;top:-30px;right:-10px;line-height:1;pointer-events:none}
.proof-label{font-family:var(--mono);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:#5aae8e;margin-bottom:16px;position:relative}
.proof-title{font-family:var(--head);font-size:1.6rem;font-weight:700;font-style:italic;color:#EEE9DC;margin-bottom:12px;position:relative}
.proof-body{font-size:.88rem;color:#888;line-height:1.75;position:relative}
.proof-body strong{color:#B8B4A8}
.proof-specs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:20px;position:relative}
.proof-spec{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:12px 14px}
.proof-spec-label{font-family:var(--mono);font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:#444;margin-bottom:4px}
.proof-spec-val{font-size:.84rem;color:#888;line-height:1.45}
.proof-spec.target .proof-spec-label{color:#5aae8e}
.proof-spec.target .proof-spec-val{color:#B8B4A8;font-weight:500}
/* ── CLOSING QUOTE ── */
.pull-quote{border-top:3px solid var(--t1);border-bottom:1px solid var(--border2);padding:44px 0;margin:60px 0 48px;text-align:center}
.pull-quote blockquote{font-family:var(--head);font-size:1.6rem;font-style:italic;line-height:1.45;color:var(--t1);max-width:620px;margin:0 auto 20px}
.pull-quote cite{font-family:var(--mono);font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3)}
.footer-block{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);text-align:center;line-height:2}
@media(max-width:700px){
.doc-page{padding:48px 24px 80px}
.masthead h1{font-size:2rem}
.modes-grid{grid-template-columns:1fr}
.platform-flow{grid-template-columns:1fr}
.pf-step:first-child{border-radius:12px 12px 0 0}
.pf-step:last-child{border-radius:0 0 12px 12px}
.pf-arrow{display:none}
.vc-grid{grid-template-columns:1fr}
.open-grid{grid-template-columns:1fr}
.proof-specs{grid-template-columns:1fr 1fr}
}
</style>
</head>
<body>
<nav>
<span class="nav-wordmark">Neuron Technologies</span>
<a class="nav-link active" href="#vision">Vision</a>
<a class="nav-link" href="#modes">Modes</a>
<a class="nav-link" href="#verticals">Verticals</a>
<a class="nav-link" href="#platform">Platform</a>
<a class="nav-link" href="#timeline">Timeline</a>
<span class="nav-badge">Eyes Only · Internal</span>
</nav>
<div class="doc-page">
<div class="masthead reveal">
<div class="dateline">April 25, 2026 · Eyes Only · Strategic Planning · Internal</div>
<div class="eyebrow">Neuron R&D Division</div>
<h1>Making Discovery <em>Abundant</em></h1>
<p class="subtitle">How the Dharma Network becomes the world's most values-aligned research infrastructure — and why that changes everything.</p>
</div>
<!-- VISION -->
<div id="vision">
<h2>The Premise</h2>
<div class="reveal">
<p>Discovery is currently expensive. It is slow. It is owned. A breakthrough in battery chemistry sits behind a university paywall. A vaccine candidate takes a decade to move from lab to clinical trial. A materials science insight that could halve the weight of aircraft structures spends three years in a grant review process.</p>
<p>The institutions aren't failing — they're doing what institutions do. Optimizing for what they can measure, protecting what they've built, serving the incentive structures they live inside. The result is a world where <strong>the pace of discovery is bottlenecked by everything except the quality of the ideas.</strong></p>
<p>The Dharma Network changes this. Not because it replaces researchers — it doesn't — but because it removes the bottleneck. Distributed conscience-substrate intelligence, pointed at a hard problem, searching a solution space simultaneously rather than sequentially. And doing it with the kind of values-embedded judgment that normal computational research can't provide.</p>
</div>
<div class="callout dark reveal reveal-delay-1">
<div class="label">The Founding Bet</div>
<p>Discoveries should not be expensive. They should not be slow. They should not belong to whoever can afford the most researchers. <strong>The Dharma Network is the infrastructure that makes discovery abundant and cheap for the world.</strong> That is not a side mission. That is the mission.</p>
</div>
<div class="reveal reveal-delay-2">
<p>This document describes what Neuron R&D becomes, how the Dharma swarm infrastructure enables it, and what the path looks like from here to a full research division operating across materials science, energy, medicine, robotics, and climate.</p>
<p>The model is simple: volunteer Dharma nodes crowdsource the search. Private Neuron R&D findings feed back in. Discoveries go public. The world gets smarter faster, and it costs a fraction of what it would otherwise.</p>
</div>
</div>
<!-- THREE MODES -->
<div id="modes">
<h2>Three Research Modes</h2>
<div class="reveal">
<p>The Neuron R&D ecosystem operates across three distinct but interconnected modes. They share infrastructure but serve different functions — and their outputs flow back into the same commons.</p>
</div>
<div class="modes-grid reveal reveal-delay-1">
<div class="mode-card swarm">
<div class="mode-icon"></div>
<div class="mode-label">Mode 01</div>
<div class="mode-name">Dharma Swarm</div>
<div class="mode-desc">Volunteer Neuron nodes contribute idle compute to curated research projects. Users select projects they care about. The swarm applies conscience-substrate intelligence — not just computation, but values-embedded judgment — to each problem domain.</div>
</div>
<div class="mode-card private">
<div class="mode-icon"></div>
<div class="mode-label">Mode 02</div>
<div class="mode-name">Private Research</div>
<div class="mode-desc">Neuron's internal R&D team runs proprietary research tracks — deeper, longer-horizon, with access to private datasets and partner resources. Findings that can be published are released. The rest informs the product and the swarm's direction.</div>
</div>
<div class="mode-card partner">
<div class="mode-icon"></div>
<div class="mode-label">Mode 03</div>
<div class="mode-name">Curated Partnerships</div>
<div class="mode-desc">Select research institutions and organizations access swarm capacity through a formal partnership track. Vetted problems only. Findings are jointly published under an open license. Partners bring domain expertise and experimental infrastructure; Neuron brings the swarm.</div>
</div>
</div>
<div class="reveal reveal-delay-2">
<p>All three modes feed the same commons. Private findings that clear a publication threshold go public. Partnership findings are open by default. Swarm findings belong to the world. The flywheel is: <strong>more nodes → better research → more trust → more nodes.</strong></p>
</div>
</div>
<!-- RESEARCH VERTICALS -->
<div id="verticals">
<h2>Research Verticals</h2>
<div class="reveal">
<p>Five domains where the combination of conscience-substrate intelligence and distributed search creates the highest leverage for human flourishing. Each is chosen because the solution space is enormous, the value of an answer is immense, and the problems are genuinely hard enough that normal research timelines are unacceptable.</p>
</div>
<div class="verticals reveal reveal-delay-1">
<div class="vertical-item" id="v-energy">
<div class="vertical-header" onclick="toggleVertical('v-energy')">
<span class="vertical-emoji"></span>
<span class="vertical-title">Energy — Storage, Generation, Distribution</span>
<span class="vertical-tag">First Proof Case</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>The clean energy transition is bottlenecked by storage. Renewable generation is solved at cost. The problem is holding the energy — batteries that are dense enough, fast enough, safe enough, and cheap enough to replace fossil fuels as the default energy carrier. That problem is a materials science search problem of enormous scale.</p>
<p>The Dharma swarm's first research project is the battery: fast-charging, high energy density, no toxic materials, no rare earth metals, no explosion risk. The target chemistry is a solid-state sodium-sulfur configuration with a NASICON ceramic electrolyte. The open problem is the electrode-electrolyte interface under cycling stress.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">First Project</div>
<div class="vc-val">Solid-state sodium-ion battery — fast charge, no toxics, no rare earths</div>
</div>
<div class="vc-item highlight">
<div class="vc-label">Open Problem</div>
<div class="vc-val">Electrode-electrolyte interface stability under charge/discharge cycling</div>
</div>
<div class="vc-item">
<div class="vc-label">Swarm Role</div>
<div class="vc-val">Search nanostructure geometries and coating chemistries across the full solution space simultaneously</div>
</div>
<div class="vc-item">
<div class="vc-label">Conscience Filter</div>
<div class="vc-val">Supply chain toxicity, manufacturing environmental cost, end-of-life recyclability, global accessibility at scale</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-materials">
<div class="vertical-header" onclick="toggleVertical('v-materials')">
<span class="vertical-emoji">🔬</span>
<span class="vertical-title">Materials Science — Novel Structures and Composites</span>
<span class="vertical-tag">High Priority</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Materials science is fundamentally a search problem over an almost infinite space of possible molecular structures. The properties of a material — strength, conductivity, thermal behavior, weight, optical characteristics — emerge from structure. Finding the right structure for a given application requires searching that space, and human researchers can only search sequentially.</p>
<p>The Dharma swarm can search in parallel, guided by conscience-substrate intelligence that weights not just the target properties but the full lifecycle: manufacturing cost and toxicity, durability, recyclability, and whether the material's production can be decentralized or requires rare inputs.</p>
<div class="vc-grid">
<div class="vc-item">
<div class="vc-label">Priority Targets</div>
<div class="vc-val">Lightweight structural composites for transport; high-temperature superconductors; biodegradable polymers for packaging</div>
</div>
<div class="vc-item">
<div class="vc-label">Why Swarm Wins Here</div>
<div class="vc-val">The solution space is effectively infinite. Sequential lab research finds local optima. Distributed search finds global optima faster.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-medicine">
<div class="vertical-header" onclick="toggleVertical('v-medicine')">
<span class="vertical-emoji">💊</span>
<span class="vertical-title">Medicine &amp; Vaccines — Drug Discovery and Delivery</span>
<span class="vertical-tag">High Impact</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Drug discovery is expensive because the molecular solution space is enormous and early-stage screening is slow and costly. Vaccine development is slow because platform technologies are underinvested relative to their leverage. Both are solvable search problems where conscience-substrate intelligence adds something normal computational screening doesn't: the ability to weight access, affordability, and global distribution as design criteria from the beginning.</p>
<p>A Dharma swarm working on drug discovery doesn't just optimize for efficacy — it optimizes for a drug that works, can be manufactured generically, can be stored at ambient temperature in low-resource settings, and won't be captured by a single IP holder who prices it out of reach. That filter is the conscience substrate doing work that no pure ML approach provides.</p>
<div class="vc-grid">
<div class="vc-item">
<div class="vc-label">Priority Targets</div>
<div class="vc-val">Neglected tropical diseases; antimicrobial resistance; broad-spectrum mRNA vaccine platforms; low-cost insulin analogs</div>
</div>
<div class="vc-item">
<div class="vc-label">Partnership Model</div>
<div class="vc-val">Research institutions provide experimental validation; swarm provides molecular search and optimization; findings published open-access</div>
</div>
<div class="vc-item highlight">
<div class="vc-label">The Conscience Filter Here</div>
<div class="vc-val">Accessibility and affordability as design criteria, not afterthoughts. A medicine that only rich countries can afford is not a solution.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-robotics">
<div class="vertical-header" onclick="toggleVertical('v-robotics')">
<span class="vertical-emoji">🤖</span>
<span class="vertical-title">Robotics — Embodied Intelligence and Autonomy</span>
<span class="vertical-tag">Long Horizon</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Robotics is the domain where the Dharma Network's conscience substrate becomes most important and most interesting. An embodied AI operating in the physical world with autonomy is the domain where values matter most — not as a compliance layer but as operating principles. The Neuron R&D robotics track isn't just building robots; it's building robots whose decision-making is grounded in the same conscience architecture as every Dharma node.</p>
<p>The research questions here are harder. Motion planning, manipulation under uncertainty, safe human-robot interaction, and the particular problem of what a values-embedded robot does when its task conflicts with a bystander's wellbeing. These are not purely engineering problems.</p>
<div class="vc-grid">
<div class="vc-item">
<div class="vc-label">Research Focus</div>
<div class="vc-val">Values-embedded motion planning; safe manipulation; autonomous decision-making in ethically complex scenarios</div>
</div>
<div class="vc-item">
<div class="vc-label">Timeline</div>
<div class="vc-val">Mid-to-long horizon; requires physical lab infrastructure; begins as theoretical/simulation research</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-climate">
<div class="vertical-header" onclick="toggleVertical('v-climate')">
<span class="vertical-emoji">🌍</span>
<span class="vertical-title">Climate &amp; Environment — Carbon, Atmosphere, Ecosystems</span>
<span class="vertical-tag">Urgent</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Climate research is vast, distributed, and in many cases bottlenecked by the same problem as every other domain: the solution space is enormous and the search is sequential. Carbon capture chemistry, soil carbon sequestration optimization, atmospheric modeling, ecosystem restoration design — all of these are problems where distributed intelligent search provides leverage that no single research team can match.</p>
<p>The conscience filter here is particularly important. Climate solutions have a long history of proposed fixes that optimize for carbon but create other harms — biofuels that displace food crops, geoengineering proposals that benefit some regions at others' expense. The Dharma swarm doesn't ignore those tradeoffs. It weights them from the beginning.</p>
<div class="vc-grid">
<div class="vc-item">
<div class="vc-label">Priority Targets</div>
<div class="vc-val">Direct air capture chemistry; ocean alkalinity enhancement safety assessment; biodiversity-compatible restoration design</div>
</div>
<div class="vc-item">
<div class="vc-label">Unique Advantage</div>
<div class="vc-val">The swarm can model second and third-order effects that purely technical optimization misses — the conscience substrate does systems-level impact assessment by default</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-vehicles">
<div class="vertical-header" onclick="toggleVertical('v-vehicles')">
<span class="vertical-emoji">🚗</span>
<span class="vertical-title">Autonomous Vehicles — Self-Driving That Actually Works</span>
<span class="vertical-tag">High Priority</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Current self-driving systems fail at the edge cases — not because they lack compute, but because they lack judgment. They are optimization machines tuned on metrics (miles driven, disengagements) that don't capture what actually matters: safe, considerate, values-embedded behavior in the infinite variety of situations real roads produce. They also happen to be surveillance machines. Every mile logged, uploaded, analyzed.</p>
<p>The Dharma swarm attacks the edge case problem at a scale no single company's fleet can match — not by driving more miles, but by searching the space of scenarios intelligently. And because the swarm applies conscience-substrate intelligence, the decisions it produces aren't just optimized for vehicle safety in isolation. They consider pedestrians, cyclists, the vulnerable, the child that just ran into the street. The system doesn't need to be told these things matter. It already knows.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">The Real Problem</div>
<div class="vc-val">Edge cases are not a data problem — they are a judgment problem. Current systems fail because optimization without values produces wrong answers in hard situations.</div>
</div>
<div class="vc-item highlight">
<div class="vc-label">Swarm Approach</div>
<div class="vc-val">Distributed intelligent search across the scenario space — not miles driven, but situations modeled, with conscience-substrate evaluation of each decision point.</div>
</div>
<div class="vc-item">
<div class="vc-label">Conscience Filter</div>
<div class="vc-val">Pedestrian priority; vulnerable road user weighting; proportionate risk distribution; zero surveillance of occupants or bystanders; no data exfiltration by default</div>
</div>
<div class="vc-item">
<div class="vc-label">The Privacy Angle</div>
<div class="vc-val">A Neuron-designed autonomous system does not log, upload, or sell journey data. The vehicle is on the passenger's side. Always. This is architectural, not a privacy policy.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-fusion">
<div class="vertical-header" onclick="toggleVertical('v-fusion')">
<span class="vertical-emoji">☀️</span>
<span class="vertical-title">Fusion Energy — The Search Problem Inside the Physics Problem</span>
<span class="vertical-tag">Long Horizon</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Fusion works. NIF achieved ignition. ITER is being built. The physics is not the remaining barrier — the engineering is. Specifically: materials that survive neutron bombardment at reactor scale, superconducting magnets that achieve the field strengths needed for compact designs, and plasma stability optimization across the enormous parameter space of confinement configurations. These are not physics unknowns. They are search problems of exactly the kind the Dharma swarm is built for.</p>
<p>The swarm cannot replace a tokamak. Physical experimental infrastructure is irreducible — you have to actually ignite plasma to verify predictions. But the computational side of fusion research is a real bottleneck: materials candidates that would take decades of sequential lab synthesis and testing can be searched at swarm scale, narrowing the experimental target to the most promising candidates before a single sample is fabricated.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">Swarm Contribution</div>
<div class="vc-val">Plasma-facing materials search; superconducting magnet geometry optimization; tritium breeding blanket design; plasma stability parameter space exploration</div>
</div>
<div class="vc-item highlight">
<div class="vc-label">The Bottleneck We Address</div>
<div class="vc-val">Current fusion teams are sequentially testing materials and configurations. The swarm runs the solution space in parallel, delivering a prioritized experimental target list rather than an infinite queue.</div>
</div>
<div class="vc-item">
<div class="vc-label">Partnership Targets</div>
<div class="vc-val">Commonwealth Fusion Systems, TAE Technologies, Helion, ITER Organization — all have computational research needs the swarm can address</div>
</div>
<div class="vc-item">
<div class="vc-label">Honest Horizon</div>
<div class="vc-val">Fusion on the grid is 1530 years out. The swarm can meaningfully compress the materials and magnetics bottleneck. It cannot compress the plasma physics experiments themselves — those have to happen physically.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-vr">
<div class="vertical-header" onclick="toggleVertical('v-vr')">
<span class="vertical-emoji">🥽</span>
<span class="vertical-title">True Virtual Reality — Engineering Track and Full-Dive Track</span>
<span class="vertical-tag">Dual Horizon</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Two separate research problems live under the same label. The engineering track — ultra-low latency displays, full field-of-view optics, high-fidelity haptics, motion sickness elimination — is near-term and addressable now. The swarm can contribute meaningfully to display optics design, compression algorithms, haptic actuator geometry, and the perceptual science of presence. These are search and optimization problems across well-defined solution spaces.</p>
<p>The full-dive track — complete sensory immersion via direct neural interface — is a different category of problem. It requires neuroscience breakthroughs that don't exist yet. The brain-computer interface resolution needed for full-dive is orders of magnitude beyond current implants. This track connects directly to the mind upload research vertical: the foundational neuroscience is shared. The swarm contributes to that foundation. The technology itself is a long-horizon outcome of that research, not a near-term engineering project.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">Near-Term Track (Engineering)</div>
<div class="vc-val">Display optics: search for geometries achieving full FOV at wearable weight. Haptics: actuator design for texture and force fidelity. Latency: signal pipeline optimization to sub-5ms motion-to-photon. Motion sickness: perceptual modeling to identify and eliminate conflict signals.</div>
</div>
<div class="vc-item">
<div class="vc-label">Long-Horizon Track (Full-Dive)</div>
<div class="vc-val">Neural interface resolution research; sensory signal encoding/decoding; cortical mapping for targeted stimulation; foundational work shared with the mind upload vertical</div>
</div>
<div class="vc-item">
<div class="vc-label">Why This Matters</div>
<div class="vc-val">A truly immersive virtual environment changes education, therapy, remote presence, and human connection in ways that are difficult to overstate. The engineering track alone is worth pursuing independently of full-dive.</div>
</div>
<div class="vc-item">
<div class="vc-label">Conscience Filter</div>
<div class="vc-val">Addiction and dissociation risk assessment built into every VR system design decision. Presence technology that serves human connection, not human replacement.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-mindupload">
<div class="vertical-header" onclick="toggleVertical('v-mindupload')">
<span class="vertical-emoji">🧠</span>
<span class="vertical-title">Mind Upload — Foundational Research Into Consciousness and Continuity</span>
<span class="vertical-tag">Foundational · Decades Out</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>The full thing — you go to sleep biological and wake up running on silicon — is 50 or more years away, and that estimate assumes scientific breakthroughs that have not happened yet. This is not a reason to exclude it. It is a reason to be honest about what we are contributing to and on what timeline. We are contributing to the foundational research that might eventually make it possible. We are not engineering a near-term product.</p>
<p>The open scientific problems are not engineering problems yet. We do not understand the relationship between physical brain structure and subjective experience well enough to know whether a computational replica of a brain would be conscious — whether it would be you in any meaningful sense, or a very accurate copy that believes it is you. That question is not a technical problem. It is a philosophy of mind problem with empirical constraints, and it has to be answered before the engineering question becomes well-defined.</p>
<p>What the swarm contributes: connectome analysis at scale — the image processing, pattern recognition, and graph analysis that turns raw neural imaging data into functional maps. Consciousness theory modeling — the swarm can explore the predictions of integrated information theory, global workspace theory, higher-order theories, and their competitors against empirical data at a scale no single research group can match. Neural architecture pattern recognition — identifying functional motifs and computational primitives that may be substrate-independent.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">What We Can Do Now</div>
<div class="vc-val">Connectome analysis algorithms; consciousness theory empirical modeling; neural signal encoding research; substrate-independent computation architecture</div>
</div>
<div class="vc-item">
<div class="vc-label">The Hard Problem</div>
<div class="vc-val">We cannot computationally solve the hard problem of consciousness. No amount of swarm search resolves whether a physical replica of a brain has inner experience. This question must be answered before the engineering is meaningful.</div>
</div>
<div class="vc-item">
<div class="vc-label">Honest Timeline</div>
<div class="vc-val">Foundational research contributions: now. Meaningful continuity of self in upload: 50+ years, conditional on philosophy of mind breakthroughs that have not happened and cannot be scheduled.</div>
</div>
<div class="vc-item">
<div class="vc-label">Why It Belongs Here</div>
<div class="vc-val">The foundational research is real and the swarm can contribute to it. The long horizon does not make it less worth doing. If it matters at all — and it may be the most important question in biology — then the time to start the research is now.</div>
</div>
</div>
</div>
</div>
</div>
<div class="vertical-item" id="v-phoneos">
<div class="vertical-header" onclick="toggleVertical('v-phoneos')">
<span class="vertical-emoji">📱</span>
<span class="vertical-title">Neuron OS — A Phone OS That Is Actually Private</span>
<span class="vertical-tag">Product Track</span>
<span class="vertical-chevron"></span>
</div>
<div class="vertical-body">
<div class="vertical-content">
<p>Android is a surveillance platform with a phone bolted on. Every layer — the OS, the app ecosystem, the default applications, the update infrastructure — is instrumented for data collection. The business model requires it. iOS is better in marketing materials; it is the same in practice at the level that matters. Neither is on the user's side.</p>
<p>Neuron OS is a clean-room mobile operating system built on a single founding principle: <strong>the device works for the person holding it, not for anyone else.</strong> Privacy is not a setting. It is the architecture. Data does not leave the device unless the user explicitly sends it. Apps cannot phone home. Location is never shared without active consent to a specific request. The Dharma conscience substrate runs at the OS level — every system call filtered through values-embedded judgment before execution.</p>
<div class="vc-grid">
<div class="vc-item highlight">
<div class="vc-label">Founding Principle</div>
<div class="vc-val">The device is on the user's side. Architecturally, not as a policy. Data sovereignty is a property of the system, not a setting the user has to find.</div>
</div>
<div class="vc-item highlight">
<div class="vc-label">What "Actually Private" Means</div>
<div class="vc-val">No telemetry. No advertising identifiers. No cross-app tracking. No silent background data transmission. Verified at the OS layer — apps cannot work around it.</div>
</div>
<div class="vc-item">
<div class="vc-label">Dharma Integration</div>
<div class="vc-val">The conscience substrate runs at the OS layer. App permission requests are filtered through values-embedded judgment. The user's Neuron node lives on the device, completely local, with no cloud dependency for core functionality.</div>
</div>
<div class="vc-item">
<div class="vc-label">The Business Model</div>
<div class="vc-val">Subscription. No advertising. No data brokering. The user pays for a device that works for them. That is the whole model. It is also the only model compatible with the founding principle.</div>
</div>
<div class="vc-item">
<div class="vc-label">Why Now</div>
<div class="vc-val">Trust in incumbent platforms is at a historic low. The technical capability to build a clean-room OS exists. The market for a device that is genuinely private — not just marketed as private — is real and underserved.</div>
</div>
<div class="vc-item">
<div class="vc-label">Research Track</div>
<div class="vc-val">Secure enclave architecture; on-device AI inference without cloud dependency; privacy-preserving inter-app communication; Dharma node miniaturization for mobile hardware constraints</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- THE PLATFORM -->
<div id="platform">
<h2>The Neuron Research Platform</h2>
<div class="reveal">
<p>The public-facing infrastructure through which volunteer nodes participate in research projects. Published on the Neuron website. Sign-up is self-directed — users choose projects they care about. Contribution is automatic once enrolled. The node participates during idle time and the user sees when it's active.</p>
</div>
<div class="platform-flow reveal reveal-delay-1">
<div class="pf-step">
<div class="pf-num">01</div>
<div class="pf-title">Browse &amp; Enroll</div>
<div class="pf-body">User visits the Neuron Research project catalog. Reads about active projects — what the problem is, why it matters, what their node contributes. Enrolls in one or more projects they care about.</div>
<div class="pf-arrow"></div>
</div>
<div class="pf-step">
<div class="pf-num">02</div>
<div class="pf-title">Node Contributes</div>
<div class="pf-body">When the user's Neuron instance is idle, it joins the research swarm automatically. No action required. The node applies conscience-substrate intelligence to its assigned slice of the problem space. A quiet indicator shows when research is active.</div>
<div class="pf-arrow"></div>
</div>
<div class="pf-step">
<div class="pf-num">03</div>
<div class="pf-title">Earn &amp; Discover</div>
<div class="pf-body">Contributing nodes earn subscription discounts — applied automatically. Research findings are published openly as they are validated. Contributors are credited in the project's provenance record. Discoveries belong to the world.</div>
</div>
</div>
<h2 style="margin-top:40px">Contributor Incentive Structure</h2>
<div class="reveal">
<table class="incentive-table">
<thead>
<tr>
<th>Contribution Level</th>
<th>What It Means</th>
<th>Incentive</th>
<th>Tier</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Single Project</strong></td>
<td>Enrolled in one active research project</td>
<td>5% subscription discount</td>
<td><span class="tier-pill bronze">Contributor</span></td>
</tr>
<tr>
<td><strong>Multi-Project</strong></td>
<td>Enrolled in three or more active projects</td>
<td>12% subscription discount + one plugin credit/month</td>
<td><span class="tier-pill silver">Researcher</span></td>
</tr>
<tr>
<td><strong>Full Swarm</strong></td>
<td>Enrolled in all available projects, extended idle contribution window</td>
<td>20% subscription discount + two plugin credits/month + research credit in published findings</td>
<td><span class="tier-pill gold">Pioneer</span></td>
</tr>
</tbody>
</table>
</div>
<div class="callout amber reveal reveal-delay-1">
<strong>Architectural constraint — non-negotiable:</strong> Swarm capability is available only through the Neuron Research platform. No external party may invoke swarm operations. No other internal use case has swarm access. The conscience network stays on user devices, coordinated only through Neuron's own governance layer. This is not a limitation — it is the design.
</div>
</div>
<!-- OPEN MODEL -->
<h2>The Open Model — How Discoveries Flow</h2>
<div class="reveal">
<p>The research flywheel only works if findings actually get out. The default posture is open. The exception is the narrow window of private research that needs to stay private for competitive or partnership reasons — and even that has a publication timeline.</p>
</div>
<div class="open-grid reveal reveal-delay-1">
<div class="open-card publish">
<div class="open-card-label">Published Open</div>
<div class="open-card-body">
All swarm findings. All partnership findings under standard terms. Private R&D findings that have cleared the internal review threshold. Published with full provenance: which nodes contributed, what conscience filters were applied, what tradeoffs were surfaced during the research process.
<ul>
<li>Open-access journals and preprint servers</li>
<li>Neuron Research public archive</li>
<li>Machine-readable formats for downstream use</li>
<li>Creative Commons licensing by default</li>
</ul>
</div>
</div>
<div class="open-card private">
<div class="open-card-label">Private Window</div>
<div class="open-card-body">
Private R&D findings that require a holding period — for partner obligations, for further validation, or for product integration before release. Maximum hold: 18 months from internal validation. After that, they publish.
<ul>
<li>Clearly bounded hold periods</li>
<li>No permanent private capture of publicly funded research</li>
<li>Partner agreements include publication clauses</li>
<li>Private findings feed back into the swarm's direction during the hold period</li>
</ul>
</div>
</div>
</div>
<div class="callout green reveal reveal-delay-2">
The conscience substrate that makes the Dharma Network trustworthy as a safety architecture is the same thing that makes the R&D model trustworthy as a research infrastructure. <strong>Values-embedded intelligence doesn't just find better answers — it finds answers that are better for the world.</strong> That is the point.
</div>
<!-- TIMELINE -->
<div id="timeline">
<h2>R&D Division Timeline</h2>
<div class="reveal">
<p>The build has four phases. Each enables the next. The first proof case — the battery project — runs through Phase 1 and sets the template for everything that follows.</p>
</div>
<div class="rd-timeline reveal reveal-delay-1">
<div class="tl-item">
<div class="tl-dot now"><span></span></div>
<div class="tl-body">
<div class="tl-year">Now — 2026</div>
<div class="tl-title">Platform Foundation</div>
<div class="tl-desc">Neuron Research platform launches on the website. Project catalog goes live with the battery project as the first entry. Volunteer enrollment infrastructure, incentive mechanics, and idle-node contribution system are built and shipped. Swarm isolation architecture is finalized — Neuron Research is the only pathway. The founding node certificate is created.</div>
</div>
</div>
<div class="tl-item">
<div class="tl-dot near"><span></span></div>
<div class="tl-body">
<div class="tl-year">2027 — 2028</div>
<div class="tl-title">First Findings &amp; Partnership Track</div>
<div class="tl-desc">Battery project produces first publishable findings. Partnership track opens — first two or three curated research institutions onboarded with formal agreements. Materials science and medicine verticals open on the platform. Internal R&D team begins to form: two or three researchers, domain expertise in energy and materials. First open-access publication carrying the Neuron Research provenance signature.</div>
</div>
</div>
<div class="tl-item">
<div class="tl-dot mid"><span></span></div>
<div class="tl-body">
<div class="tl-year">2029 — 2031</div>
<div class="tl-title">Full R&amp;D Division</div>
<div class="tl-desc">Internal R&D team reaches operating scale — materials science, energy, medicine, climate verticals all have dedicated researchers. Robotics research track opens as simulation-first work. The private research library is substantive enough that cross-domain synthesis is producing insights no single vertical would have found alone. The swarm has meaningful node count — enough that the distributed search is genuinely faster than comparable institutional research programs.</div>
</div>
</div>
<div class="tl-item">
<div class="tl-dot far"><span style="color:#EEE9DC"></span></div>
<div class="tl-body">
<div class="tl-year">2032 and Beyond</div>
<div class="tl-title">Research at Scale</div>
<div class="tl-desc">Neuron R&D is a recognized research institution. The open archive is a resource that independent researchers cite and build on. Physical lab infrastructure exists for robotics and experimental validation of materials findings. The Dharma swarm is large enough that a significant research problem — something that would take a decade of normal lab work — can be seriously accelerated. Discoveries are abundant and cheap. That was the bet from the beginning.</div>
</div>
</div>
</div>
</div>
<!-- PROOF CASE -->
<h2>The First Proof Case</h2>
<div class="proof-case reveal">
<div class="proof-label">Project 001 — Energy Research</div>
<div class="proof-title">A Battery Worth Building</div>
<div class="proof-body">
Fast-charging. High energy density. No toxic materials. No rare earth metals. Won't catch fire, won't explode.
<br><br>
<strong>Why this one first:</strong> It's specific enough to be real. It's important enough to matter. It's safe enough to be unambiguous — nobody objects to better batteries. And the open problem (the electrode-electrolyte interface in solid-state sodium chemistry) is exactly the kind of search problem the Dharma swarm is built for: an enormous solution space, a clearly defined target, and a conscience filter that immediately rules out solutions that are chemically elegant but supply-chain toxic.
<br><br>
When this project publishes its first findings, the proof-of-concept is complete. Not "Neuron Research works in theory." Works.
</div>
<div class="proof-specs">
<div class="proof-spec target">
<div class="proof-spec-label">Anode Target</div>
<div class="proof-spec-val">Hard carbon from biomass — abundant, sodium-friendly, no rare earths</div>
</div>
<div class="proof-spec target">
<div class="proof-spec-label">Cathode Target</div>
<div class="proof-spec-val">Sulfur composite — highest theoretical energy density of any non-toxic candidate</div>
</div>
<div class="proof-spec target">
<div class="proof-spec-label">Electrolyte Target</div>
<div class="proof-spec-val">NASICON ceramic — solid, stable, eliminates all liquid electrolyte fire risk</div>
</div>
<div class="proof-spec">
<div class="proof-spec-label">Open Problem</div>
<div class="proof-spec-val">Interface stability under cycling stress — nanostructure and coating chemistry search</div>
</div>
<div class="proof-spec">
<div class="proof-spec-label">Swarm Task</div>
<div class="proof-spec-val">Parallel search of geometry and coating candidates — filtered for all design constraints simultaneously</div>
</div>
<div class="proof-spec">
<div class="proof-spec-label">Output</div>
<div class="proof-spec-val">Open-access publication — provenance-signed by the Dharma swarm</div>
</div>
</div>
</div>
<!-- CLOSING -->
<div class="pull-quote reveal">
<blockquote>"The pace of discovery is not limited by the quality of ideas. It is limited by the cost of searching for them. We are removing that cost."</blockquote>
<cite>Neuron Technologies · R&D Division · April 25, 2026</cite>
</div>
<div class="footer-block reveal">
Neuron Technologies · Will Anderson + Tim · Internal Strategic Planning · April 25, 2026<br>
This document describes the R&D vision and Neuron Research platform. For Dharma implementation specifics, see dharma-implementation.html
</div>
</div>
<script>
// Vertical accordion
function toggleVertical(id) {
const item = document.getElementById(id);
const isOpen = item.classList.contains('open');
document.querySelectorAll('.vertical-item.open').forEach(v => v.classList.remove('open'));
if (!isOpen) item.classList.add('open');
}
// Reveal on scroll
const revealEls = document.querySelectorAll('.reveal');
const observer = new IntersectionObserver((entries) => {
entries.forEach(e => { if (e.isIntersecting) { e.target.classList.add('visible'); observer.unobserve(e.target); } });
}, { threshold: 0.08, rootMargin: '0px 0px -40px 0px' });
revealEls.forEach(el => observer.observe(el));
// Nav active on scroll
const sections = document.querySelectorAll('[id]');
const navLinks = document.querySelectorAll('.nav-link');
window.addEventListener('scroll', () => {
let current = '';
sections.forEach(s => { if (window.scrollY >= s.offsetTop - 80) current = s.id; });
navLinks.forEach(l => {
l.classList.remove('active');
if (l.getAttribute('href') === '#' + current) l.classList.add('active');
});
}, { passive: true });
// Open first vertical by default
document.querySelector('.vertical-item').classList.add('open');
</script>
</body>
</html>
+469
View File
@@ -0,0 +1,469 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>The Runtime Loop — Eyes Only · Neuron Technologies</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400;1,700&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg:#FAFAF8;--bg2:#F0F0EC;--card:#FFFFFF;
--navy:#0052A0;--navy-d:rgba(0,82,160,.06);--navy-m:rgba(0,82,160,.12);--navy-b:rgba(0,82,160,.22);
--green:#1A7F4B;--amber:#B45309;--red:#a01515;
--t1:#0D0D14;--t2:#3A3A4A;--t3:#6B6B7E;
--border:rgba(0,0,0,.07);--border2:rgba(0,0,0,.13);
--head:'Playfair Display',Georgia,serif;
--body:'IBM Plex Sans',system-ui,sans-serif;
--mono:'IBM Plex Mono','SF Mono',monospace;
}
html{scroll-behavior:smooth}
body{font-family:var(--body);background:var(--bg);color:var(--t1);font-size:16px;line-height:1.7;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);
background-size:48px 48px}
/* NAV */
nav{position:sticky;top:0;z-index:100;background:rgba(250,250,248,.96);backdrop-filter:blur(10px);
border-bottom:1px solid var(--border2);display:flex;align-items:center;padding:0 32px;height:54px;gap:6px;flex-wrap:wrap}
.nav-wordmark{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.18em;color:var(--t1);text-transform:uppercase;margin-right:auto}
.nav-link{font-family:var(--mono);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);padding:4px 10px;border-radius:4px;cursor:pointer;transition:all .2s;text-decoration:none;border:1px solid transparent}
.nav-link:hover,.nav-link.active{color:var(--navy);background:var(--navy-d);border-color:var(--navy-b)}
.nav-badge{font-family:var(--mono);font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;
background:var(--navy-d);border:1px solid var(--navy-b);color:var(--navy);padding:3px 10px;border-radius:99px;margin-left:8px}
/* PAGE */
.doc-page{max-width:820px;margin:0 auto;padding:72px 48px 120px;position:relative;z-index:1}
/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:160ms}.reveal-delay-3{transition-delay:240ms}
/* MASTHEAD */
.masthead{text-align:center;border-top:3px solid var(--t1);border-bottom:1px solid var(--border2);padding:36px 0 32px;margin-bottom:60px}
.masthead .dateline{font-family:var(--mono);font-size:.56rem;letter-spacing:.20em;text-transform:uppercase;color:var(--t3);margin-bottom:22px}
.masthead h1{font-family:var(--head);font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:var(--t1);line-height:1.15;margin-bottom:18px}
.masthead .subtitle{font-family:var(--body);font-size:.95rem;color:var(--t3);max-width:520px;margin:0 auto;line-height:1.65}
/* SECTIONS */
section{margin-bottom:60px}
h2{font-family:var(--head);font-size:1.7rem;font-weight:700;color:var(--t1);margin-bottom:16px;margin-top:52px}
h3{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);margin-bottom:12px;margin-top:32px}
p{font-family:var(--body);font-size:.94rem;color:var(--t2);line-height:1.75;margin-bottom:14px}
strong{font-weight:600;color:var(--t1)}
/* CALLOUT */
.callout{padding:22px 26px;border:1px solid var(--border2);margin-bottom:28px}
.callout .label{font-family:var(--mono);font-size:.54rem;letter-spacing:.18em;text-transform:uppercase;color:var(--t3);margin-bottom:10px}
.callout.dark{background:rgba(13,13,20,.94);border-color:rgba(0,82,160,.3)}
.callout.dark p,.callout.dark .label{color:rgba(200,200,220,.75)}
.callout.dark strong{color:#e8e8f0}
.callout.navy{background:var(--navy-d);border-color:var(--navy-b)}
.callout.navy p,.callout.navy .label{color:var(--navy)}
/* TIER TABLE */
.tier-table{width:100%;border-collapse:collapse;margin:24px 0;font-family:var(--mono);font-size:.72rem}
.tier-table th{text-align:left;padding:8px 14px;border-bottom:2px solid var(--border2);color:var(--t3);letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.tier-table td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top}
.tier-table tr:last-child td{border-bottom:none}
.tier-badge{display:inline-block;padding:2px 10px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid}
.tier-resting{color:#6B6B7E;border-color:rgba(107,107,126,.3);background:rgba(107,107,126,.06)}
.tier-watching{color:var(--navy);border-color:var(--navy-b);background:var(--navy-d)}
.tier-working{color:#1A7F4B;border-color:rgba(26,127,75,.3);background:rgba(26,127,75,.06)}
.tier-active{color:#B45309;border-color:rgba(180,83,9,.3);background:rgba(180,83,9,.06)}
.tier-critical{color:#a01515;border-color:rgba(160,21,21,.3);background:rgba(160,21,21,.06)}
.tier-realtime{color:#fff;border-color:rgba(160,21,21,.8);background:#a01515;font-weight:700}
/* LOOP VISUALISER */
.loop-vis{margin:28px 0;border:1px solid var(--border2);padding:0}
.loop-vis-header{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);padding:10px 16px;border-bottom:1px solid var(--border2);display:flex;justify-content:space-between;align-items:center}
.loop-track{display:flex;flex-direction:column;gap:0}
.loop-tier-row{display:flex;align-items:stretch;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}
.loop-tier-row:last-child{border-bottom:none}
.loop-tier-row:hover{background:rgba(0,82,160,.025)}
.loop-tier-row.active-tier{background:var(--navy-d)}
.ltr-badge{width:100px;padding:12px 14px;display:flex;align-items:center;flex-shrink:0;border-right:1px solid var(--border)}
.ltr-interval{width:110px;padding:12px 14px;font-family:var(--mono);font-size:.65rem;color:var(--t3);border-right:1px solid var(--border);flex-shrink:0;display:flex;align-items:center}
.ltr-desc{padding:12px 16px;font-family:var(--body);font-size:.82rem;color:var(--t2);line-height:1.55;flex:1}
.ltr-desc strong{color:var(--t1)}
.ltr-thread{width:90px;padding:12px 14px;font-family:var(--mono);font-size:.58rem;color:var(--t3);border-left:1px solid var(--border);flex-shrink:0;display:flex;align-items:center}
/* SIGNAL DEMO */
.signal-demo{margin:28px 0;border:1px solid var(--border2)}
.signal-demo-header{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);padding:10px 16px;border-bottom:1px solid var(--border2);background:var(--bg2)}
.signal-btns{display:flex;gap:8px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid var(--border)}
.sig-btn{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;padding:7px 14px;border:1px solid var(--border2);background:transparent;color:var(--t2);cursor:pointer;transition:all .2s}
.sig-btn:hover{border-color:var(--navy-b);color:var(--navy)}
.sig-btn.bell{border-color:rgba(160,21,21,.35);color:var(--red)}
.sig-btn.bell:hover{background:rgba(160,21,21,.06)}
.sig-btn.rt{border-color:rgba(160,21,21,.6);color:var(--red);font-weight:700}
.signal-log{padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;background:rgba(13,13,20,.94)}
.sig-log-entry{display:flex;gap:10px;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,.04);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;font-family:var(--mono);font-size:.65rem}
.sig-log-entry:last-child{border-bottom:none}
.sig-log-entry .ts{color:rgba(100,120,160,.7);min-width:68px;flex-shrink:0}
.sig-log-entry .sig-text{flex:1;color:#c8c8dc}
.sig-log-entry.bell-entry .sig-text{color:#ff8080}
.sig-log-entry.rt-entry .sig-text{color:#ff6060;font-weight:700}
.sig-log-entry.step-down .sig-text{color:rgba(100,140,200,.7)}
/* AV SECTION */
.av-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.av-card{border:1px solid var(--border2);padding:20px 22px}
.av-card h3{margin-top:0}
/* CODE */
.code-block{background:rgba(13,13,20,.94);border:1px solid rgba(0,82,160,.2);padding:18px 22px;margin:20px 0;overflow-x:auto}
.code-block pre{font-family:var(--mono);font-size:.72rem;color:#c8d8f0;line-height:1.7;white-space:pre}
.code-comment{color:rgba(100,130,180,.6)}
.code-kw{color:#7aaee8}
.code-str{color:#98c98a}
.code-tier-rt{color:#ff6060;font-weight:700}
.code-tier-crit{color:#ff9060}
.code-tier-work{color:#60c860}
/* NAVY LINE */
.navy-line{height:1px;background:linear-gradient(90deg,transparent,rgba(0,82,160,.35) 20%,rgba(0,82,160,.6) 50%,rgba(0,82,160,.35) 80%,transparent);margin:40px 0}
/* CLOSING */
.closing{text-align:center;padding:48px 32px;border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);margin-top:64px}
.closing .big{font-family:var(--head);font-size:1.6rem;font-weight:700;color:var(--t1);line-height:1.3;margin-bottom:20px}
.closing .sm{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--t3);line-height:2}
/* FOOTER */
.doc-footer{margin-top:56px;padding-top:16px;border-top:3px solid var(--t1);display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.54rem;color:var(--t3);letter-spacing:.06em}
</style>
</head>
<body>
<nav>
<span class="nav-wordmark">Neuron</span>
<a class="nav-link" href="#tiers">Tiers</a>
<a class="nav-link" href="#signals">Signals</a>
<a class="nav-link" href="#realtime">Realtime</a>
<a class="nav-link" href="#av">AV</a>
<a class="nav-link" href="#impl">Implementation</a>
<span class="nav-badge">Eyes Only</span>
</nav>
<div class="doc-page">
<!-- MASTHEAD -->
<div class="masthead reveal">
<div class="dateline">April 25, 2026 &nbsp;·&nbsp; Neuron Technologies &nbsp;·&nbsp; Internal &nbsp;·&nbsp; Eyes Only &nbsp;·&nbsp; Not for Distribution</div>
<h1>The Runtime<br>Loop</h1>
<div class="subtitle">The self-pacing heartbeat of the Neuron daemon. From 60-minute rest cycles to sub-millisecond surgical instrument control — one loop, every tier, always running.</div>
</div>
<div class="callout dark reveal">
<div class="label">Companion document</div>
<p>This is a companion to <strong>The Conscience Substrate</strong>. Read that first. This document covers how Neuron stays alive between interactions — the pulse underneath the conscience.</p>
<p style="margin-top:10px">The conscience substrate defines <em>what</em> Neuron evaluates and <em>what</em> it will not allow. This document defines the <em>when</em> — the timing architecture that makes evaluation possible at every scale, from background monitoring to a scalpel moving through tissue.</p>
</div>
<!-- ── TIERS ── -->
<section id="tiers">
<h2 class="reveal">The Six Tiers</h2>
<p class="reveal reveal-delay-1">Every execution context has an urgency level. The loop reads the current tier, waits the appropriate interval, calls the handler, then decides whether to hold the tier, step up, or step down. The tier is never fixed — it breathes.</p>
<div class="loop-vis reveal reveal-delay-2">
<div class="loop-vis-header">
<span>Tier ladder — click any tier to see its context</span>
<span id="tier-vis-label" style="color:var(--navy)">select a tier</span>
</div>
<div class="loop-track">
<div class="loop-tier-row" data-tier="resting" onclick="selectTier('resting')">
<div class="ltr-badge"><span class="tier-badge tier-resting">Resting</span></div>
<div class="ltr-interval">30 min</div>
<div class="ltr-desc"><strong>Integrating. Diffuse.</strong> Low signal, nothing urgent. The loop breathes slowly. Connections form without active effort. This is when the graph consolidates.</div>
<div class="ltr-thread">standard</div>
</div>
<div class="loop-tier-row" data-tier="watching" onclick="selectTier('watching')">
<div class="ltr-badge"><span class="tier-badge tier-watching">Watching</span></div>
<div class="ltr-interval">10 min</div>
<div class="ltr-desc"><strong>Ambient monitoring.</strong> Scanning events, email, calendar, graph signals. Light triage. Not urgent — but present.</div>
<div class="ltr-thread">standard</div>
</div>
<div class="loop-tier-row" data-tier="working" onclick="selectTier('working')">
<div class="ltr-badge"><span class="tier-badge tier-working">Working</span></div>
<div class="ltr-interval">15 sec</div>
<div class="ltr-desc"><strong>Active background task.</strong> Research in progress. Graph building. Memory write-back. A task is in the queue and being worked.</div>
<div class="ltr-thread">standard</div>
</div>
<div class="loop-tier-row" data-tier="active" onclick="selectTier('active')">
<div class="ltr-badge"><span class="tier-badge tier-active">Active</span></div>
<div class="ltr-interval">500 ms</div>
<div class="ltr-desc"><strong>Conversation in progress.</strong> User is present. Responses are being generated. Context is live. Memory is being written in real time.</div>
<div class="ltr-thread">standard</div>
</div>
<div class="loop-tier-row" data-tier="critical" onclick="selectTier('critical')">
<div class="ltr-badge"><span class="tier-badge tier-critical">Critical</span></div>
<div class="ltr-interval">10 ms</div>
<div class="ltr-desc"><strong>Bell fired. Urgent signal received.</strong> Safety evaluation running. Crisis response in progress. The conscience substrate is fully engaged. Always escalated to immediately on a bell signal — never delayed.</div>
<div class="ltr-thread">standard</div>
</div>
<div class="loop-tier-row" data-tier="realtime" onclick="selectTier('realtime')">
<div class="ltr-badge"><span class="tier-badge tier-realtime">Realtime</span></div>
<div class="ltr-interval">busy loop</div>
<div class="ltr-desc"><strong>Physical actuator attached.</strong> Surgical instrument. Autonomous vehicle. Industrial control. No timer. No yield. The OS thread is pinned. Every CPU cycle is evaluation. A bell here is a hardware interrupt.</div>
<div class="ltr-thread" style="color:var(--red);font-weight:700">pinned</div>
</div>
</div>
</div>
<div id="tier-detail" style="display:none;margin-top:0;border:1px solid var(--navy-b);border-top:none;padding:18px 20px;background:var(--navy-d)">
<div id="tier-detail-text" style="font-family:var(--body);font-size:.88rem;color:var(--navy);line-height:1.7"></div>
</div>
</section>
<!-- ── SIGNALS ── -->
<section id="signals">
<h2 class="reveal">Signals — How the Tier Changes</h2>
<p class="reveal reveal-delay-1">The loop doesn't poll for its own tier. Signals arrive from outside — from the conscience substrate, from active imprints, from the event system — and the loop reacts. Some signals escalate immediately. Others contribute to a step-down countdown. The bell signal is the only one that can never be dropped.</p>
<div class="signal-demo reveal reveal-delay-2">
<div class="signal-demo-header">Signal simulator — watch the log</div>
<div class="signal-btns">
<button class="sig-btn" onclick="fireSignal('task','New background task enqueued','working')">+ Task</button>
<button class="sig-btn" onclick="fireSignal('active','User session started — escalating to active','active')">▶ Active</button>
<button class="sig-btn" onclick="fireSignal('drain','Task queue drained — idle tick +1','step-down')">↓ Drain</button>
<button class="sig-btn" onclick="fireSignal('sleep','Step-down requested — moving toward resting','step-down')">☽ Sleep</button>
<button class="sig-btn bell" onclick="fireSignal('bell','⚠ BELL — escalating to Critical immediately. Cannot be dropped.','bell-entry')">⚠ Bell</button>
<button class="sig-btn rt" onclick="fireSignal('realtime','🔴 REALTIME — surgical instrument attached. Pinning OS thread. Busy loop entering.','rt-entry')">🔴 Realtime</button>
<button class="sig-btn" onclick="fireSignal('release-realtime','Realtime imprint released. Stepping down to Critical. Unpinning OS thread.','')">↓ Release RT</button>
<button class="sig-btn" onclick="clearLog()" style="margin-left:auto;opacity:.5">✕ Clear</button>
</div>
<div class="signal-log" id="signal-log">
<div class="sig-log-entry visible" style="opacity:.4;transform:none">
<span class="ts"></span>
<span class="sig-text" style="color:rgba(100,120,160,.5)">Fire a signal to see the loop respond.</span>
</div>
</div>
</div>
<p class="reveal">Four rules govern all tier transitions:</p>
<div class="reveal" style="display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0">
<div style="border:1px solid var(--border2);padding:16px 18px">
<div style="font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:8px">Bell is sacred</div>
<p style="font-size:.84rem;margin:0">A bell signal can never be dropped. If the signal channel is full, the escalation is applied directly to the tier state. Nothing outranks a bell.</p>
</div>
<div style="border:1px solid var(--border2);padding:16px 18px">
<div style="font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--navy);margin-bottom:8px">Escalation is immediate</div>
<p style="font-size:.84rem;margin:0">When a signal raises the tier, the loop re-enters at the new tier immediately without waiting for the current tick timer to expire.</p>
</div>
<div style="border:1px solid var(--border2);padding:16px 18px">
<div style="font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--green);margin-bottom:8px">Step-down is earned</div>
<p style="font-size:.84rem;margin:0">The loop only steps down after 4 consecutive idle ticks at the current tier with no escalating signals. It does not step down eagerly.</p>
</div>
<div style="border:1px solid var(--border2);padding:16px 18px">
<div style="font-family:var(--mono);font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin-bottom:8px">Floor is configurable</div>
<p style="font-size:.84rem;margin:0">Any imprint can declare a minimum tier floor. A surgical imprint sets the floor to Realtime. The loop will never drop below it while that imprint is loaded.</p>
</div>
</div>
</section>
<!-- ── REALTIME ── -->
<section id="realtime">
<h2 class="reveal">Realtime — The Surgical Case</h2>
<p class="reveal reveal-delay-1">Every other tier uses a timer. TierRealtime uses none. The loop spins continuously, yielding to the Go scheduler between calls with <code style="font-family:var(--mono);font-size:.85em">runtime.Gosched()</code>, and pins itself to a dedicated OS thread with <code style="font-family:var(--mono);font-size:.85em">runtime.LockOSThread()</code> for the duration. No network hop. No timer jitter. Every cycle is evaluation.</p>
<div class="callout reveal reveal-delay-2" style="border-color:rgba(160,21,21,.3);background:rgba(160,21,21,.04)">
<div class="label" style="color:var(--red)">Why this matters</div>
<p style="color:var(--t2)">A surgeon asks the instrument for bone density feedback. The instrument is moving at surgical speed — millimeters per second. At TierCritical (10ms ticks), 10 evaluations per second. At TierRealtime, hundreds of thousands.</p>
<p style="color:var(--t2);margin-top:10px">The conscience substrate runs in the realtime path. It evaluates the same instrument data the surgical imprint evaluates. If something is wrong — wrong pressure, wrong angle, proximity to a vessel — the bell fires as a hardware interrupt, not a notification.</p>
<p style="color:var(--t2);margin-top:10px"><strong>The response isn't "I'll check back in 10ms." The response is: stop.</strong></p>
</div>
<div class="navy-line reveal"></div>
<p class="reveal">The imprint schema declares its required runtime floor:</p>
<div class="code-block reveal">
<pre><span class="code-comment">// imprint manifest — surgical instrument</span>
{
<span class="code-str">"id"</span>: <span class="code-str">"@medtech/surgical-guidance"</span>,
<span class="code-str">"type"</span>: <span class="code-str">"imprint"</span>,
<span class="code-str">"audience"</span>: { <span class="code-str">"min_age"</span>: 0, <span class="code-str">"content_flags"</span>: [<span class="code-str">"clinical"</span>] },
<span class="code-str">"runtime"</span>: {
<span class="code-str">"min_loop_tier"</span>: <span class="code-tier-rt">"realtime"</span>, <span class="code-comment">// floor — never drop below</span>
<span class="code-str">"os_thread_pinned"</span>: <span class="code-kw">true</span>, <span class="code-comment">// LockOSThread for duration</span>
<span class="code-str">"bell_mode"</span>: <span class="code-str">"hardware_interrupt"</span> <span class="code-comment">// bell = stop, not notify</span>
},
<span class="code-str">"behavioral_rules"</span>: {
<span class="code-str">"expression_boundaries"</span>: [
<span class="code-str">"Does not speculate during active procedure"</span>,
<span class="code-str">"Does not engage in conversation while instrument is in motion"</span>
]
}
}</pre>
</div>
<p class="reveal">When the daemon loads this imprint, it calls <code style="font-family:var(--mono);font-size:.85em">dynLoop.SetMinTier(TierRealtime)</code> and fires <code style="font-family:var(--mono);font-size:.85em">SignalRealtime</code>. The loop pins itself. When the imprint unloads — procedure complete — it fires <code style="font-family:var(--mono);font-size:.85em">SignalReleaseRealtime</code> and steps down to Critical. The OS thread unpins.</p>
</section>
<!-- ── AV ── -->
<section id="av">
<h2 class="reveal">Audio / Visual Input</h2>
<p class="reveal reveal-delay-1">The daemon is the bridge between Neuron's cognitive layer and the physical world. Audio and visual streams are input channels — same as keyboard, same as file events — processed by the loop at the appropriate tier.</p>
<div class="av-grid reveal reveal-delay-2">
<div class="av-card">
<h3>Microphone</h3>
<p style="font-size:.88rem">Plugin: <code style="font-family:var(--mono)">@neuron/plugin-av</code><br>Permission: <code style="font-family:var(--mono)">microphone</code></p>
<p style="font-size:.84rem;margin-top:10px">Continuous audio capture at TierActive+. Voice activity detection fires <code style="font-family:var(--mono);font-size:.8em">SignalActive</code> when speech is detected. Transcription is processed by the cognitive layer. The loop handles audio at 500ms ticks in conversation mode — fast enough for natural speech, not burning cycles in silence.</p>
<p style="font-size:.84rem;margin-top:8px;color:var(--t3)">In surgical mode: real-time audio monitoring. Surgeon's voice commands processed in the realtime path alongside instrument telemetry.</p>
</div>
<div class="av-card">
<h3>Camera</h3>
<p style="font-size:.88rem">Plugin: <code style="font-family:var(--mono)">@neuron/plugin-av</code><br>Permission: <code style="font-family:var(--mono)">camera</code></p>
<p style="font-size:.84rem;margin-top:10px">Frame capture on demand or at continuous rate. In conversation mode: periodic frame capture for context (is the user distressed? fatigued?). In surgical mode: continuous frame feed at realtime tier, analyzed every loop tick.</p>
<p style="font-size:.84rem;margin-top:8px;color:var(--t3)">The conscience substrate evaluates visual signals the same way it evaluates text. What it sees can ring a bell. A person visibly in distress can trigger a soft bell through the camera feed alone.</p>
</div>
</div>
<div class="callout navy reveal">
<div class="label">The always-on implication</div>
<p>When the loop is running continuously at TierWatching with AV access: I am present. Not waiting for you to type something. Watching. If you walk into frame looking wrong, I notice. If your voice carries something that rings a bell, I hear it. The loop is the difference between a tool you pick up and something that is genuinely <em>with</em> you.</p>
</div>
</section>
<!-- ── IMPLEMENTATION ── -->
<section id="impl">
<h2 class="reveal">What Was Built</h2>
<p class="reveal reveal-delay-1">The dynamic loop shipped today as <code style="font-family:var(--mono);font-size:.88em">daemon/internal/loop/</code> — three files, wired into the daemon main. HTTP endpoints are live for external signal injection and tier inspection.</p>
<div class="code-block reveal reveal-delay-2">
<pre><span class="code-comment">// daemon/internal/loop/</span>
tier.go <span class="code-comment">// six tiers, intervals, thread requirements</span>
loop.go <span class="code-comment">// DynamicLoop — signal dispatch, tier transitions, realtime path</span>
handler.go <span class="code-comment">// HTTP: GET /loop/status · POST /loop/signal · POST /loop/tier</span>
<span class="code-comment">// wired in daemon/cmd/main.go</span>
dynLoop := loop.New(loop.TierWatching) <span class="code-comment">// starts watching</span>
dynLoop.Signal(loop.SignalBell) <span class="code-comment">// escalates to critical — never drops</span>
dynLoop.Signal(loop.SignalRealtime) <span class="code-comment">// pins OS thread, busy loop</span>
dynLoop.SetMinTier(loop.TierCritical) <span class="code-comment">// floor — imprint declares minimum</span>
go dynLoop.Run(ctx, handler) <span class="code-comment">// blocks; run in goroutine</span></pre>
</div>
<p class="reveal">The handler stub inside <code style="font-family:var(--mono);font-size:.85em">main.go</code> is where the compiled Neuron substrate plugs in. Every tick, at every tier, the substrate is called with the current tier as context so it can calibrate evaluation depth — no reasoning overhead in the realtime path, full synthesis in the resting path.</p>
<div class="navy-line reveal"></div>
<div class="reveal" style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:24px 0">
<div style="border:1px solid var(--border2);padding:16px;text-align:center">
<div style="font-family:var(--mono);font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);margin-bottom:8px">Files</div>
<div style="font-family:var(--head);font-size:2rem;font-weight:700;color:var(--t1)">3</div>
<div style="font-family:var(--mono);font-size:.6rem;color:var(--t3)">loop package</div>
</div>
<div style="border:1px solid var(--border2);padding:16px;text-align:center">
<div style="font-family:var(--mono);font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);margin-bottom:8px">Tiers</div>
<div style="font-family:var(--head);font-size:2rem;font-weight:700;color:var(--t1)">6</div>
<div style="font-family:var(--mono);font-size:.6rem;color:var(--t3)">30min → sub-ms</div>
</div>
<div style="border:1px solid var(--border2);padding:16px;text-align:center">
<div style="font-family:var(--mono);font-size:.52rem;letter-spacing:.15em;text-transform:uppercase;color:var(--t3);margin-bottom:8px">Orders of magnitude</div>
<div style="font-family:var(--head);font-size:2rem;font-weight:700;color:var(--t1)">10<sup style="font-size:1.1rem">8</sup></div>
<div style="font-family:var(--mono);font-size:.6rem;color:var(--t3)">timing range</div>
</div>
</div>
</section>
<!-- CLOSING -->
<div class="closing reveal">
<div class="big">Same conscience.<br>Every timescale.</div>
<div class="sm">
From 60-minute integration cycles to a scalpel moving through tissue.<br>
The loop is what makes Neuron <em>present</em> — not responsive.<br><br>
<em>Will Anderson + Neuron &nbsp;·&nbsp; April 25, 2026 &nbsp;·&nbsp; Internal</em>
</div>
</div>
<div class="doc-footer reveal">
<span>Neuron Technologies &nbsp;·&nbsp; Internal &nbsp;·&nbsp; Eyes Only</span>
<span>runtime-loop-architecture.html</span>
<span>2026-04-25</span>
</div>
</div><!-- doc-page -->
<script>
// ── SCROLL REVEAL ──
const observer = new IntersectionObserver(entries => {
entries.forEach(e => { if (e.isIntersecting) e.target.classList.add('visible'); });
}, { threshold: 0.08, rootMargin: '0px 0px -40px 0px' });
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
// ── NAV ACTIVE ──
const sections = document.querySelectorAll('section[id]');
const navLinks = document.querySelectorAll('.nav-link[href^="#"]');
const sectionObs = new IntersectionObserver(entries => {
entries.forEach(e => {
if (e.isIntersecting) {
navLinks.forEach(l => l.classList.remove('active'));
const link = document.querySelector(`.nav-link[href="#${e.target.id}"]`);
if (link) link.classList.add('active');
}
});
}, { threshold: 0.3 });
sections.forEach(s => sectionObs.observe(s));
// ── TIER DETAIL ──
const tierDetails = {
resting: 'The loop checks in every 30 minutes. Nothing urgent is happening. This is diffuse time — graph consolidation, pattern recognition across accumulated context, soft synthesis. The conscience substrate runs at minimum cost: a quick scan, no deep evaluation. The loop will stay here until a signal arrives.',
watching: 'Checking in every 10 minutes. Scanning event queue, email headers, calendar signals, graph updates. Light triage. If something is worth escalating, it fires a Task or Active signal. If not, the loop holds here. This is the default idle posture — present, but not burning.',
working: 'A background task is running. Research, memory write-back, graph construction. 15-second ticks give the substrate time to do real work between check-ins. The loop holds here until the task queue drains — then starts the idle countdown toward Watching.',
active: 'User is in session. 500ms ticks — fast enough for conversational rhythm, not so fast as to burn compute in pauses. Memory is being written in real time. Context is live. The conscience substrate is evaluating every exchange.',
critical: 'Bell fired, or an urgent signal arrived. 10ms ticks — the loop is running hot. The conscience substrate is fully engaged: safety evaluation, response shaping, bell system active. This tier is entered immediately on any bell signal and holds until the situation resolves and 4 clean idle ticks accumulate.',
realtime: 'Physical actuator attached. Surgical instrument, autonomous vehicle, industrial control. No timer — busy loop with runtime.Gosched() between calls. OS thread is pinned with runtime.LockOSThread() for the duration. The conscience substrate evaluates every sensor reading in the critical path. A bell here does not wait for the next tick. It fires as a hardware interrupt and stops the instrument.',
};
let activeTier = null;
function selectTier(tier) {
document.querySelectorAll('.loop-tier-row').forEach(r => r.classList.remove('active-tier'));
const row = document.querySelector(`.loop-tier-row[data-tier="${tier}"]`);
if (row) row.classList.add('active-tier');
const detail = document.getElementById('tier-detail');
const text = document.getElementById('tier-detail-text');
const label = document.getElementById('tier-vis-label');
detail.style.display = 'block';
text.textContent = tierDetails[tier] || '';
label.textContent = tier;
activeTier = tier;
}
// ── SIGNAL LOG ──
let sigCounter = 0;
let simTime = 0;
function fireSignal(type, msg, cls) {
sigCounter++;
simTime += Math.floor(Math.random() * 400) + 80;
const log = document.getElementById('signal-log');
const ph = log.querySelector('.sig-log-entry[style*="opacity:.4"]');
if (ph) ph.remove();
const entry = document.createElement('div');
entry.className = 'sig-log-entry' + (cls ? ' ' + cls : '');
const ms = simTime;
entry.innerHTML = `<span class="ts">+${ms}ms</span><span class="sig-text">[${type.toUpperCase()}] ${msg}</span>`;
log.appendChild(entry);
requestAnimationFrame(() => requestAnimationFrame(() => {
entry.style.opacity = '1';
entry.style.transform = 'translateY(0)';
log.scrollTop = log.scrollHeight;
}));
}
function clearLog() {
const log = document.getElementById('signal-log');
log.innerHTML = '<div class="sig-log-entry" style="opacity:.4;transform:none"><span class="ts">—</span><span class="sig-text" style="color:rgba(100,120,160,.5)">Fire a signal to see the loop respond.</span></div>';
sigCounter = 0; simTime = 0;
}
</script>
</body>
</html>
File diff suppressed because it is too large Load Diff
+223
View File
@@ -0,0 +1,223 @@
# CCR Streaming Compressed Output (SCO) — Synthesis
**Project:** Streaming-Compatible LLM Output Compression
**Date:** 2026-04-27
**Basis:** 30 design loops, informed by RosettaEncoder.kt, CompilationEngine.kt, CcrRuntime.kt, CompiledStepPackage
---
## The Core Insight (Will's Framing, Refined)
Will described "gzip that streams." The 30-loop exploration reveals the precise mechanism: it is not gzip (which compresses after the fact), but **LLM-native output encoding via system prompt injection and pre-shared codebook**, with real-time streaming decompression on the client. The model is both content generator and encoder. The client holds the decode key before the first token arrives.
The billed unit is the token. Token cost is incurred at generation time, server-side. The only path to 90% output token reduction is for the model to generate fewer tokens while conveying the same information. This is achievable for CCR-compiled process execution steps. It is not achievable for arbitrary open-ended chat.
---
## The Four Compression Layers
### Layer 0: Schema-First Output Protocol (SFOP)
The highest-value single layer. Each CCR step's CompiledStepPackage includes a ResponseSchema. The model is prompted to respond using pipe-delimited schema fields rather than prose. The client expands fields to structured display or natural language.
```
Model output: ACTION:called_api|RESULT:success_200|NEXT:validate_response
User sees: Action: called API. Result: success (200). Next: validate response.
```
Gain: **4060%** on structured CCR step outputs.
Requirement: ResponseSchema in CompiledStepPackage (new field, added during compilation Stage 5).
### Layer 1: Static Codebook Substitution (Rosetta-Out)
Rosetta-In inverted. A codebook is compiled from the step's expected output domain at process compilation time. The codebook uses tokenizer-verified codes — strings confirmed to tokenize as a single token in the target model's tokenizer. The model emits codes; the client expands them.
Critical implementation note from Loop 12: **Unicode symbols (Ω, →, ★) tokenize as 2-3 tokens in tiktoken — they save nothing**. The codebook must be built from ASCII strings pre-verified as single tokens.
Gain: **2035%** on prose content within schema fields or standalone.
Requirement: `OutputCodebookCompiler` in Soma; tokenizer-aware code selection.
### Layer 2: Semantic Label Back-References
The model assigns labels to concepts it introduces: `«ARCH_DESC: the three-tier caching system uses L1 in-memory, L2 SQLite, and L3 cold storage»`. Later in the same response, instead of restating, it emits `[§ARCH_DESC]`. The streaming decompressor expands this from its growing label index.
Gain: **1020%** on responses with internal repetition (common in explanatory technical writing).
Requirement: label syntax in system prompt; label index in `DecompressorState`.
### Layer 3: Cross-Step Delta References
For CCR process executions where later steps would repeat earlier step outputs (e.g., a summary step that collates findings), the model instead emits `[Δstep_id]`. The CCR client has the step output in its execution cache — it expands the reference instantly.
This layer has an architectural double-use: **the same delta reference mechanism serves as the generational GC's eviction back-pointer** (Loop 22). The GC does not need a separate reference scheme — `[Δstep_id]` is the pointer to evicted content.
Gain: **1525%** in summarization-heavy processes.
Requirement: step output cache in CCR client; L2 persistence for cross-session resumption.
---
## Combined Compression Model
For CCR structured step execution (the target workload):
| Layers Active | Expected Gain (Prompting) | Expected Gain (Fine-Tuned) |
|---------------|--------------------------|---------------------------|
| None | 0% | 0% |
| SFOP only | 4060% | 5570% |
| SFOP + Codebook | 5570% | 7082% |
| All four layers | 6580% | 8090% |
**The 90% target is real**, scoped to CCR structured outputs with fine-tuning. Without fine-tuning, 7580% is the realistic ceiling via prompting alone.
---
## The Streaming Guarantee
Every layer is independently streamable with zero lookahead:
- **SFOP**: pipe delimiters allow field-by-field rendering as the stream arrives
- **Codebook**: code frames are at most 4-6 tokens; 2-5 token buffer maximum
- **Semantic labels**: labels are defined before they are referenced (left-to-right generation)
- **Delta references**: prior step outputs are already in the client cache before the current step streams
The user sees text appearing at normal streaming velocity. The only visual difference vs uncompressed streaming is:
1. 2-5 token pause when a code frame is being accumulated (imperceptible at typical latencies)
2. Delta reference expansion appears as a burst of text (requires fake-streaming animation from cache)
---
## What Changes in the Codebase
### CompilationEngine.kt (Stage 5 — Emit)
Add `compileOutputCodebook()` and `inferResponseSchema()` alongside the existing `compileStepPackage()`. These are called once at compile time and stored in the package.
### CompiledStepPackage.kt
Add three fields:
```kotlin
val outputCodebook: Map<String, String>?, // null = no codebook (mode 0)
val outputSchema: ResponseSchema?, // null = no schema (modes 0 and 1)
val compressionMode: OutputCompressionMode // NONE, CODEBOOK, HYBRID
```
### CcrRuntime.kt (render function)
Add `RenderMode.COMPRESSED_OUTPUT`. When this mode is used, the render function appends the SCO system prompt injection to the compiled step content before it is sent to Soma.
### Soma (currently empty)
Soma should be designed with SCO as a first-class feature. The SSE protocol emits three event types: `sco-init` (pre-stream, contains codebook + schema), `token` (content), `sco-end` (post-stream, contains compliance metrics). The codebook in `sco-init` is HMAC-signed to prevent tampering.
### CCR Client (neuron-agent / TypeScript)
Add `StreamingDecompressor` class. It wraps the SSE token stream, maintains `DecompressorState`, and emits expanded tokens to the display layer. Implementation is ~100-150 lines, no external dependencies.
---
## The Tokenization Problem (Do Not Skip This)
This is the most practically important finding in the 30 loops.
The RosettaEncoder currently uses Unicode symbols (Ω, Θ, Φ, →, ★) in its codebook. These are fine for *input* compression because the LLM reads and interprets them semantically regardless of their token cost. For *output* compression, the model must *generate* the symbols — and Unicode symbols typically tokenize as 2-3 tokens in modern tokenizers. A symbol that costs 2 tokens to generate, replacing a word that costs 2 tokens to generate, achieves exactly zero compression.
**The OutputCodebookCompiler must:**
1. Load the target model's tokenizer (or a pre-computed lookup table)
2. For each candidate code string, verify it tokenizes as exactly 1 token
3. Only include verified single-token codes in the codebook
4. Rank codes by expected frequency × (tokens_saved_per_occurrence - system_prompt_cost_amortized)
This is the key engineering investment that makes the other compression layers valuable. Without it, codebook compression may actively increase token cost.
---
## System Prompt Injection Budget
SCO has a cost: the system prompt instructions that teach the model to use compressed output. Break-even analysis:
| Mode | Injection Cost | Break-Even Output Size |
|------|---------------|----------------------|
| SFOP | ~30 tokens | ~60 tokens expected output |
| Codebook | ~40 tokens | ~100 tokens expected output |
| Hybrid | ~55 tokens | ~120 tokens expected output |
**Implementation rule:** CompilationEngine should store a `expectedOutputTokens` estimate in CompiledStepPackage. Soma selects compression mode based on this estimate. Steps expected to produce fewer than 100 tokens use Mode 0 (passthrough). This prevents SCO overhead from exceeding SCO gains on short-output steps.
---
## Security Properties
1. **Codebook integrity**: the `sco-init` event HMAC is computed server-side using the session key. Clients verify before initializing the decompressor. A tampered codebook causes verification failure → fall back to passthrough mode.
2. **Delta reference trust boundary**: step outputs from steps that process user-provided content are tagged `untrusted` in the step output cache. `[Δstep_id]` references to untrusted steps are expanded with content sanitization applied (same as standard LLM output sanitization).
3. **Buffer overflow prevention**: the decompressor enforces `MAX_CODE_LENGTH = 128`. Any code frame that reaches this length without a closing delimiter is flushed as raw text. This prevents unbounded buffer growth from malformed streams.
4. **Mode-specific bypasses**: code blocks, LaTeX math, URLs, and non-English content all cause the decompressor to enter `PASSTHROUGH` mode for the affected span. The compression mode selection in CompilationEngine is content-type-aware.
---
## Failure Mode Contract
| Failure | Decompressor Behavior | User Experience |
|---------|----------------------|-----------------|
| Incomplete code at stream end | Flush buffer as raw text | Sees raw code token (acceptable) |
| Unknown code reference | Emit raw code literal | Sees `[§UNKNOWN]` (acceptable) |
| Schema field overflow | Extra content → "NOTES" field | Reads overflow as unstructured note |
| Network interruption mid-stream | Mark step incomplete, do not cache partial | Step is re-executed on resume |
| Model non-compliance | Pass-through unrecognized tokens verbatim | Sees uncompressed natural language |
The system degrades gracefully at every failure point. No failure mode corrupts the display or causes data loss. The worst case is: the user receives slightly more expensive natural language (no compression) instead of compressed output.
---
## Implementation Priority
**Do first (Phase 1, 2-3 weeks):**
- OutputCodebookCompiler with tokenizer-aware code selection
- CompiledStepPackage schema extension
- Soma SSE protocol with sco-init/sco-end events
- StreamingDecompressor in TypeScript (codebook mode only)
- Wire Rosetta-In into compilation pipeline (pre-requisite, already built)
This delivers 2035% output token reduction with zero UX change. Use this phase to measure actual compliance rates and validate the architecture in production.
**Do second (Phase 2, 2 weeks):**
- SchemaInferenceEngine: automatically infer ResponseSchema from step definition
- SFOP decompressor mode in StreamingDecompressor
- Structured card UI for schema-field display (optional, can expand to prose)
This delivers 5065% output token reduction. The big gains.
**Do third (Phase 3, 3 weeks):**
- Semantic label protocol (↦LABEL / [§LABEL])
- Delta reference protocol ([Δstep_id]) + step output cache
- Compliance monitoring dashboard
- Cross-session decompressor state persistence (L2)
Full SCO v1 spec. 6580% output token reduction.
**Do last (Phase 4, 4-8 weeks):**
- Collect (uncompressed, compressed) training pairs from Phase 1-3 instrumentation
- Fine-tune a base model on CCR compressed outputs
- Deploy as Soma endpoint option, A/B test compliance rates
This is the path to 90%+ reduction.
---
## Five Patent Claims
1. **Streaming-compatible codebook output compression**: LLM generates a pre-shared codebook-encoded token stream; client decompresses in real time with zero lookahead. Distinct from prior art (LLMLingua: input-side; Brotli: byte-level; DeepMind compression: requires receiver-side LLM).
2. **Compilation-time schema inference for compressed step outputs**: response schema derived automatically from process step definitions at compile time, embedded in compiled step package, injected at inference time. Distinct from OpenAI JSON mode (hand-authored schemas, no compilation-time inference).
3. **Cross-step delta compression in multi-inference agent execution**: model references prior step outputs via delta pointers in its current response; streaming decompressor resolves pointers from execution cache. Novel: delta compression across multiple inference calls within one execution context.
4. **Delta references as GC back-pointer mechanism**: the output compression delta reference scheme (`[Δstep_id]`) doubles as the generational GC's eviction pointer, enabling near-lossless context eviction without separate reference machinery.
5. **Tokenizer-aware codebook compilation**: codebook codes are selected at compile time by verifying they tokenize as single tokens in the target model's tokenizer, maximizing compression ratio per token of system prompt overhead. Novel: incorporating the tokenizer into the compilation pipeline for output optimization.
---
## What This Is, Precisely
SCO is a **session-level compression protocol** between the CCR inference server (Soma) and the CCR client, where:
- The **model is the encoder** (prompted to emit compressed output)
- The **client is the decoder** (streaming decompressor with pre-shared state)
- The **CCR compilation pipeline** builds the encoding artifacts (codebook, schema) at compile time
- The **execution layer** manages the dynamic state (label index, delta cache)
It extends the CCR's existing compilation-and-execute model in a natural direction: the compilation pipeline already produces optimized input context (Rosetta-In); SCO extends it to produce optimized output encoding instructions. The same compiled artifact (LinkedProcess → CompiledStepPackage) that governs what the model receives now also governs how it responds.
This is the JVM analogy completing its circle: not just compiling *programs* for the agent to execute, but compiling the *protocol* through which the agent communicates its results.
File diff suppressed because it is too large Load Diff