diff options
Diffstat (limited to 'downloads/system')
| -rw-r--r-- | downloads/system/program-specs.html | 265 | ||||
| -rw-r--r-- | downloads/system/research-self-improving-ai-2025-2026.html | 716 | ||||
| -rw-r--r-- | downloads/system/roadmap.html | 243 | ||||
| -rw-r--r-- | downloads/system/system-review-v4.6.00.html | 603 | ||||
| -rw-r--r-- | downloads/system/system-review-v4.6.02-public.html | 850 | ||||
| -rw-r--r-- | downloads/system/system-review-v4.6.02.html | 767 |
6 files changed, 3444 insertions, 0 deletions
diff --git a/downloads/system/program-specs.html b/downloads/system/program-specs.html new file mode 100644 index 0000000..c1d3ae3 --- /dev/null +++ b/downloads/system/program-specs.html @@ -0,0 +1,265 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> +<meta name="theme-color" content="#000000"> +<title>newOS4 — Program Specs v4.5.96</title> +<style> +* { box-sizing: border-box; margin: 0; padding: 0; } +html, body { + background: #000; + color: #e0e0e0; + font-family: 'SF Mono', 'Roboto Mono', Consolas, Menlo, monospace; + font-size: 16px; + line-height: 1.6; + -webkit-text-size-adjust: 100%; + padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); +} +body { padding: 16px; max-width: 100%; } +h1 { color: #fff; font-size: 1.4em; border-bottom: 2px solid #00d9ff; padding-bottom: 8px; margin: 16px 0 12px; } +h2 { color: #fff; font-size: 1.15em; border-left: 3px solid #00d9ff; padding-left: 10px; margin: 20px 0 10px; } +h3 { color: #fff; font-size: 1.0em; margin: 16px 0 8px; } +h4 { color: #aaa; font-size: 0.95em; margin: 12px 0 6px; } +p { margin: 8px 0; } +ul, ol { margin: 8px 0 8px 20px; } +li { margin: 4px 0; } +code { + background: #0a0a0a; + color: #7fdc7f; + padding: 2px 6px; + border-radius: 3px; + font-size: 0.9em; + word-break: break-word; +} +pre { + background: #0a0a0a; + border: 1px solid #222; + border-radius: 4px; + padding: 12px; + overflow-x: auto; + margin: 10px 0; + -webkit-overflow-scrolling: touch; +} +pre code { background: none; padding: 0; } +table { + width: 100%; + border-collapse: collapse; + margin: 10px 0; + display: block; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + white-space: nowrap; +} +th, td { + border: 1px solid #222; + padding: 10px 8px; + text-align: left; + min-height: 44px; +} +th { background: #0a0a0a; color: #fff; font-weight: 600; } +tr:nth-child(even) td { background: #050505; } +a { color: #00d9ff; text-decoration: none; min-height: 44px; display: inline-block; padding: 8px 0; } +.pill { + display: inline-block; + padding: 3px 8px; + border-radius: 10px; + font-size: 0.8em; + font-weight: 600; +} +.pill-p0 { background: #3a0000; color: #ff6b6b; border: 1px solid #ff6b6b; } +.pill-p1 { background: #3a1a00; color: #ffa500; border: 1px solid #ffa500; } +.pill-p2 { background: #3a3000; color: #ffd700; border: 1px solid #ffd700; } +.pill-p3 { background: #002a3a; color: #5eb3d6; border: 1px solid #5eb3d6; } +.pill-fixed { background: #003a00; color: #7fdc7f; border: 1px solid #7fdc7f; } +.pill-shipped { background: #003a3a; color: #00d9ff; border: 1px solid #00d9ff; } +details { margin: 8px 0; } +summary { padding: 12px; background: #0a0a0a; border: 1px solid #222; border-radius: 4px; cursor: pointer; min-height: 44px; } +summary::-webkit-details-marker { color: #00d9ff; } +details[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } +details > div { padding: 12px; border: 1px solid #222; border-top: none; border-radius: 0 0 4px 4px; } +blockquote { border-left: 3px solid #00d9ff; padding: 8px 12px; margin: 10px 0; background: #050505; color: #b0b0b0; } +hr { border: none; border-top: 1px solid #222; margin: 20px 0; } +.meta { color: #888; font-size: 0.85em; } +.status { font-size: 1.5em; } +@media print { + body { background: #fff; color: #000; } + h1, h2, h3, h4 { color: #000; } + a { color: #000; text-decoration: underline; } + pre, code, th, td { background: #f5f5f5; color: #000; border-color: #ccc; } +} +</style> +</head> +<body> + +<h1>newOS4 Program Specs <span class="pill pill-shipped">v4.5.96 SHIPPED</span></h1> +<p class="meta">Last updated: 2026-07-05 · 45 modules · 40 skills · 3 system agents</p> + +<details open> +<summary>📑 Table of Contents</summary> +<div> +<a href="#overview">1. System Overview</a><br> +<a href="#architecture">2. Architecture</a><br> +<a href="#shell">3. ShellModule (v4.5.96 NEW)</a><br> +<a href="#orchestrator">4. OrchestratorModule (v4.5.96 fixes)</a><br> +<a href="#rules">5. Cross-Cutting Rules (R1–R7)</a><br> +<a href="#modules">6. Module Catalog</a><br> +<a href="#bugs">7. Bug Status (BUG-001 → BUG-019)</a><br> +<a href="#open">8. Open Issues</a> +</div> +</details> + +<h2 id="overview">1. System Overview</h2> +<p>newOS4 is a modular agent operating system with a VFS, pluggable modules, and an AI-driven terminal. v4.5.96 is the latest shipping release after 2 bug-fix sessions.</p> +<ul> +<li><strong>Modules:</strong> 45 (12 core, 33 ext)</li> +<li><strong>Skills:</strong> 40</li> +<li><strong>System agents:</strong> 3 (immutable)</li> +<li><strong>Health:</strong> ✅ OK</li> +</ul> + +<h2 id="architecture">2. Architecture</h2> +<h3>Layer 0 — Kernel</h3> +<ul><li>VFS, Module loader, Event bus, Permissions</li></ul> +<h3>Layer 1 — Core AI</h3> +<ul><li>AIModule, ContextModule, AgentLoop, MemoryGraph, WorldModel</li></ul> +<h3>Layer 2 — Domain</h3> +<ul><li>Terminal, ShellModule, Orchestrator, Hyperliquid/VaultMind, FS, Cron, etc.</li></ul> +<h3>Layer 3 — UI / Ext</h3> +<ul><li>Browser, Mindmap, WPM, Sandbox, Floating, WebDAV</li></ul> + +<h2 id="shell">3. ShellModule <span class="pill pill-shipped">NEW v4.5.96</span></h2> +<p>Layer-2 module exposing built-in shell commands to the terminal.</p> +<h4>Commands</h4> +<ul> +<li><code>cd</code>, <code>pwd</code>, <code>ls</code>, <code>cat</code>, <code>echo</code>, <code>mkdir</code>, <code>rm</code></li> +<li><code>env</code>, <code>export</code>, <code>unset</code></li> +<li><code>grep</code>, <code>wc</code>, <code>head</code>, <code>tail</code></li> +</ul> +<h4>Pipes & Redirects</h4> +<ul> +<li><code>cmd1 | cmd2</code> — pipe output</li> +<li><code>cmd > file</code> — overwrite</li> +<li><code>cmd >> file</code> — append</li> +</ul> +<h4>Security Gate (v4.5.96)</h4> +<blockquote>Destructive commands (<code>rm</code>, redirects) MUST pass <code>canExecute()</code> gate. Patches assert enforcement at boot, not just API definition.</blockquote> + +<h2 id="orchestrator">4. OrchestratorModule <span class="pill pill-fixed">8 fixes v4.5.96</span></h2> +<p>Manages agent lifecycle, task delegation, and worker spawn.</p> +<h4>v4.5.96 Fixes</h4> +<ul> +<li>✅ <strong>F1</strong> <code>spawnAgent()</code> leak — process handle now tracked + cleaned</li> +<li>✅ <strong>F2</strong> <code>delegate()</code> retry loop infinite</li> +<li>✅ <strong>F3</strong> Worker death not detected</li> +<li>✅ <strong>F4</strong> Task queue priority inversion</li> +<li>✅ <strong>F5</strong> State corruption on concurrent register</li> +<li>✅ <strong>F6</strong> Lease acquire race</li> +<li>✅ <strong>F7</strong> Stale agent metadata cache</li> +<li>✅ <strong>F8</strong> <code>killAgent()</code> bypassed on system agents</li> +</ul> + +<h2 id="rules">5. Cross-Cutting Rules (R1–R7)</h2> +<p>Extracted from v4.5.96 bug fixes. All module authors MUST follow.</p> +<h3>R1 — Lifecycle: registerModule() calls init()</h3> +<p>All timers, intervals, and event listeners MUST be registered in <code>init()</code> and stored for cleanup. No orphan timers.</p> + +<h3>R2 — Error visibility</h3> +<p><code>this.print</code> writes to AI context. <code>this.terminal.print</code> writes to user only. Use AI-visible for errors that affect reasoning.</p> + +<h3>R3 — Cleanup via try/finally</h3> +<p>All monkey-patches, depth counters, and global state mutations MUST use <code>try/finally</code> to guarantee rollback.</p> + +<h3>R4 — Security patches ASSERT enforcement</h3> +<blockquote>A security patch that defines an API but doesn't assert it's enforced is a vulnerability. Boot-time self-test required.</blockquote> + +<h3>R5 — System agents are immutable</h3> +<p>The 3 system agents (coder, researcher, reviewer) cannot be killed, purged, or modified. <code>killAgent()</code> checks <code>isSystemAgent</code> flag.</p> + +<h3>R6 — Compute state at use site</h3> +<p>Don't cache module state at boot. Compute on demand. Stale-cache bugs were 30% of v4.5.96 fixes.</p> + +<h3>R7 — Parser dedup: extract once</h3> +<p>Helpers like <code>extractRedirect()</code> must be called exactly once per command parse. Double-extraction is a P0-class bug.</p> + +<h2 id="modules">6. Module Catalog</h2> +<h3>Tier 1 — Core AI (12 modules)</h3> +<table> +<tr><th>Module</th><th>Class</th><th>Layer</th></tr> +<tr><td>AIModule</td><td>AIModule</td><td>1</td></tr> +<tr><td>ContextModule</td><td>ContextModule</td><td>1</td></tr> +<tr><td>AgentLoop</td><td>AgentLoop</td><td>1</td></tr> +<tr><td>MemoryGraph</td><td>MemoryGraph</td><td>1</td></tr> +<tr><td>WorldModel</td><td>WorldModel</td><td>1</td></tr> +<tr><td>SmartContext</td><td>SmartContext</td><td>1</td></tr> +<tr><td>TokenTracker</td><td>TokenTracker</td><td>1</td></tr> +<tr><td>PromptEngine</td><td>PromptEngine</td><td>1</td></tr> +<tr><td>ModelRouter</td><td>ModelRouter</td><td>1</td></tr> +<tr><td>SkillLoader</td><td>SkillLoader</td><td>1</td></tr> +<tr><td>VaultMind</td><td>VaultMindModule</td><td>1</td></tr> +<tr><td>PredictTask</td><td>PredictTaskModule</td><td>1</td></tr> +</table> + +<h3>Tier 2 — Domain (15 modules)</h3> +<table> +<tr><th>Module</th><th>Status</th></tr> +<tr><td>TerminalModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>ShellModule</td><td><span class="pill pill-shipped">NEW v4.5.96</span></td></tr> +<tr><td>OrchestratorModule</td><td><span class="pill pill-fixed">8 fixes</span></td></tr> +<tr><td>FSModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>NVFSModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>ModuleManager</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>LeaseModule</td><td><span class="pill pill-p0">P0 NEEDS RE-PATCH</span></td></tr> +<tr><td>CronModule</td><td><span class="pill pill-p1">P1 jobs missing</span></td></tr> +<tr><td>AgentManager</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>Hyperliquid</td><td><span class="pill pill-p0">P0 init</span></td></tr> +<tr><td>SecretVault</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>WebModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>TarModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>SandboxModule</td><td><span class="pill pill-fixed">OK</span></td></tr> +<tr><td>CommandRouter</td><td><span class="pill pill-fixed">OK</span></td></tr> +</table> + +<h3>Tier 3 — UI/Ext (18 modules)</h3> +<p>Browser, Mindmap, WPM, Floating, WebDAV, GraphVisualizer, ChatUI, Settings, Theme, Notification, Backup, Health, Telemetry, Plugin, Marketplace, Migration, Diagnostic, Help.</p> + +<h2 id="bugs">7. Bug Status</h2> +<table> +<tr><th>ID</th><th>Severity</th><th>Module</th><th>Status</th></tr> +<tr><td>BUG-001</td><td><span class="pill pill-p0">P0</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-002</td><td><span class="pill pill-p0">P0</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-003</td><td><span class="pill pill-p0">P0</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-004</td><td><span class="pill pill-p0">P0</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-005</td><td><span class="pill pill-p0">P0</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-006</td><td><span class="pill pill-p0">P0</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-007</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-008</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-009</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-010</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-011</td><td><span class="pill pill-p0">P0</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-012</td><td><span class="pill pill-p0">P0</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-013</td><td><span class="pill pill-p0">P0</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-014</td><td><span class="pill pill-p1">P1</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-015</td><td><span class="pill pill-p1">P1</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-016</td><td><span class="pill pill-p2">P2</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-017</td><td><span class="pill pill-p2">P2</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +<tr><td>BUG-018</td><td><span class="pill pill-p2">P2</span></td><td>Orchestrator</td><td><span class="pill pill-fixed">FIXED</span></td></tr> +</table> +<p class="meta">All 18 v4.5.96 bugs ✅ fixed. Browser-verified 2026-07-05.</p> + +<h2 id="open">8. Open Issues</h2> +<table> +<tr><th>ID</th><th>Severity</th><th>Module</th><th>Issue</th></tr> +<tr><td>OPEN-001</td><td><span class="pill pill-p0">P0</span></td><td>LeaseModule</td><td><code>canExecute()</code> gate defined but not enforced (Sprint 2)</td></tr> +<tr><td>OPEN-002</td><td><span class="pill pill-p0">P0</span></td><td>VaultMind</td><td>Init race with Hyperliquid key load</td></tr> +<tr><td>OPEN-003</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><code>__pipebuf__</code> files leak in VFS root</td></tr> +<tr><td>OPEN-004</td><td><span class="pill pill-p1">P1</span></td><td>Shell</td><td><code>$VAR</code> substitution injection vector</td></tr> +<tr><td>OPEN-005</td><td><span class="pill pill-p2">P2</span></td><td>VFS</td><td><code>.trash</code> dir accumulation</td></tr> +<tr><td>OPEN-006</td><td><span class="pill pill-p2">P2</span></td><td>Cron</td><td>5 jobs missing after re-register</td></tr> +</table> + +<hr> +<p class="meta">v4.5.96 SHIPPED · 2026-07-05 · Browser-verified · Reviewer: kimi-k2.7-coder</p> + +</body> +</html> diff --git a/downloads/system/research-self-improving-ai-2025-2026.html b/downloads/system/research-self-improving-ai-2025-2026.html new file mode 100644 index 0000000..cf7dd52 --- /dev/null +++ b/downloads/system/research-self-improving-ai-2025-2026.html @@ -0,0 +1,716 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>Self-Improving AI Projects — Research Report (2025–2026)</title> +<style> + :root { + --bg: #0e1116; + --panel: #161b22; + --panel-2: #1c2128; + --border: #30363d; + --text: #c9d1d9; + --muted: #8b949e; + --accent: #58a6ff; + --accent-2: #d2a8ff; + --green: #3fb950; + --amber: #d29922; + --red: #f85149; + --code-bg: #0d1117; + } + * { box-sizing: border-box; } + body { + margin: 0; + background: var(--bg); + color: var(--text); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; + line-height: 1.6; + font-size: 15px; + } + .container { max-width: 1100px; margin: 0 auto; padding: 32px 24px 64px; } + + /* Header */ + header { + border-bottom: 1px solid var(--border); + padding-bottom: 24px; + margin-bottom: 32px; + } + h1 { + margin: 0 0 8px 0; + font-size: 32px; + color: #f0f6fc; + font-weight: 700; + letter-spacing: -0.5px; + } + .subtitle { + color: var(--muted); + font-size: 16px; + margin: 0 0 16px 0; + } + .meta { + display: flex; + gap: 16px; + flex-wrap: wrap; + font-size: 13px; + color: var(--muted); + } + .meta span { background: var(--panel); padding: 4px 10px; border-radius: 4px; border: 1px solid var(--border); } + + /* Section */ + section { margin-bottom: 48px; } + h2 { + font-size: 22px; + color: #f0f6fc; + margin: 0 0 16px 0; + padding-bottom: 8px; + border-bottom: 1px solid var(--border); + } + h3 { + font-size: 18px; + color: #f0f6fc; + margin: 24px 0 12px 0; + } + p { margin: 0 0 12px 0; } + + /* Cards */ + .project-card { + background: var(--panel); + border: 1px solid var(--border); + border-radius: 8px; + padding: 20px; + margin-bottom: 20px; + } + .project-card .name { + font-size: 18px; + color: var(--accent); + font-weight: 600; + margin: 0 0 4px 0; + } + .project-card .org { + color: var(--muted); + font-size: 13px; + margin: 0 0 12px 0; + } + .project-card .field { + margin: 6px 0; + display: flex; + gap: 8px; + align-items: baseline; + } + .project-card .field-label { + color: var(--muted); + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.5px; + min-width: 110px; + font-weight: 600; + } + .project-card .field-value { flex: 1; font-size: 14px; } + + /* Tags */ + .tag { + display: inline-block; + padding: 2px 8px; + border-radius: 12px; + font-size: 11px; + font-weight: 600; + margin-right: 4px; + } + .tag-blue { background: rgba(88,166,255,0.15); color: var(--accent); } + .tag-purple { background: rgba(210,168,255,0.15); color: var(--accent-2); } + .tag-green { background: rgba(63,185,80,0.15); color: var(--green); } + .tag-amber { background: rgba(210,153,34,0.15); color: var(--amber); } + .tag-red { background: rgba(248,81,73,0.15); color: var(--red); } + + /* Comparison table */ + table { + width: 100%; + border-collapse: collapse; + margin: 16px 0; + font-size: 14px; + } + th, td { + text-align: left; + padding: 10px 12px; + border: 1px solid var(--border); + } + th { + background: var(--panel-2); + color: #f0f6fc; + font-weight: 600; + font-size: 13px; + } + tr:nth-child(even) td { background: rgba(255,255,255,0.02); } + + /* Code blocks */ + code { + font-family: "SF Mono", Monaco, Menlo, Consolas, monospace; + font-size: 13px; + background: var(--code-bg); + padding: 2px 6px; + border-radius: 4px; + color: var(--accent-2); + } + pre { + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 6px; + padding: 12px 16px; + overflow-x: auto; + font-size: 13px; + line-height: 1.5; + } + pre code { background: none; padding: 0; color: var(--text); } + + /* Quote */ + blockquote { + margin: 16px 0; + padding: 12px 16px; + border-left: 4px solid var(--accent); + background: var(--panel); + color: var(--text); + border-radius: 0 4px 4px 0; + } + blockquote p { margin: 0; } + blockquote .source { + display: block; + margin-top: 8px; + color: var(--muted); + font-size: 12px; + } + + /* Lists */ + ul, ol { padding-left: 22px; } + li { margin: 4px 0; } + + /* Safety section */ + .safety-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); + gap: 16px; + margin: 16px 0; + } + .safety-card { + background: var(--panel); + border: 1px solid var(--border); + border-left: 3px solid var(--amber); + border-radius: 6px; + padding: 16px; + } + .safety-card h4 { + margin: 0 0 8px 0; + color: var(--amber); + font-size: 14px; + } + .safety-card p { font-size: 13px; color: var(--muted); margin: 0; } + + /* Footer */ + footer { + margin-top: 64px; + padding-top: 24px; + border-top: 1px solid var(--border); + color: var(--muted); + font-size: 12px; + } + + /* Section index */ + .toc { + background: var(--panel); + border: 1px solid var(--border); + border-radius: 6px; + padding: 16px 20px; + margin-bottom: 32px; + } + .toc h3 { margin: 0 0 8px 0; font-size: 14px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.5px; } + .toc ol { margin: 0; padding-left: 22px; } + .toc a { color: var(--accent); text-decoration: none; } + .toc a:hover { text-decoration: underline; } +</style> +</head> +<body> +<div class="container"> + +<header> + <h1>Self-Improving AI Projects</h1> + <p class="subtitle">A survey of the field, from academic foundations to production systems, with safety implications</p> + <div class="meta"> + <span>📅 2025–2026</span> + <span>📚 9 projects reviewed</span> + <span>🏷️ Research report</span> + <span>🔧 Compiled in newOS4 v4.6.02</span> + </div> +</header> + +<div class="toc"> + <h3>Contents</h3> + <ol> + <li><a href="#tldr">TL;DR</a></li> + <li><a href="#frameworks">Frameworks & concepts</a></li> + <li><a href="#projects">Project deep-dives</a></li> + <li><a href="#comparison">Side-by-side comparison</a></li> + <li><a href="#safety">Safety & alignment considerations</a></li> + <li><a href="#relevance">Relevance to newOS4</a></li> + <li><a href="#open-questions">Open questions</a></li> + <li><a href="#sources">Sources</a></li> + </ol> +</div> + +<section id="tldr"> + <h2>1. TL;DR</h2> + <p>"Self-improving AI" is a sprawling term covering everything from LLMs that fine-tune themselves on synthetic data (MIT's <strong>SEAL</strong>) to coding agents that rewrite their own source code (Sakana's <strong>Darwin Gödel Machine</strong>) to AI systems that autonomously conduct scientific research (Sakana's <strong>AI Scientist v2</strong>, now published in <em>Nature</em>).</p> + <p>Three distinct mechanisms dominate the landscape in 2025–2026:</p> + <ol> + <li><strong>Self-play & skill acquisition</strong> — the agent builds a library of reusable behaviors (Voyager, AlphaEvolve)</li> + <li><strong>Self-rewriting of code</strong> — the agent modifies its own logic or weights (Darwin Gödel Machine, SEAL)</li> + <li><strong>Self-directed research</strong> — the agent runs the full scientific loop end-to-end (AI Scientist, FunSearch)</li> + </ol> + <p>The most production-ready category is <strong>agentic coding</strong> (Devin, AI Scientist), where bounded task scope and verifiable feedback loops make self-improvement tractable. The most philosophically loaded is <strong>recursive self-improvement</strong> (RSI), where the system improves the part of itself responsible for improvement.</p> + <p>Safety researchers across the field (Anthropic, DeepMind, METR) are converging on a similar playbook: <strong>bounded scopes, human-in-the-loop gates, empirical eval, evolutionary diversity</strong>. This is also the architecture newOS4's Phase D implements.</p> +</section> + +<section id="frameworks"> + <h2>2. Frameworks & concepts</h2> + + <h3>2.1 What "self-improving" actually means</h3> + <p>Six distinct usages appear in the literature, often conflated:</p> + <table> + <thead> + <tr><th>Type</th><th>Mechanism</th><th>Example</th></tr> + </thead> + <tbody> + <tr> + <td>Self-fine-tuning</td> + <td>Model generates its own training data and runs a gradient update</td> + <td>SEAL (MIT)</td> + </tr> + <tr> + <td>Self-rewriting code</td> + <td>Agent edits its own source code to change its logic</td> + <td>Darwin Gödel Machine (Sakana)</td> + </tr> + <tr> + <td>Skill library growth</td> + <td>Agent accumulates reusable behaviors; "self" expands in scope, not in parameters</td> + <td>Voyager (NVIDIA)</td> + </tr> + <tr> + <td>Self-critique / Constitutional AI</td> + <td>Model uses its own judgment to filter or rewrite outputs</td> + <td>Claude (Anthropic)</td> + </tr> + <tr> + <td>Evolutionary search</td> + <td>Population of agents is mutated and selected by fitness function</td> + <td>AlphaEvolve, DGM</td> + </tr> + <tr> + <td>Autonomous research loop</td> + <td>System runs hypothesis → experiment → write-up → peer-review cycle</td> + <td>AI Scientist v2 (Sakana)</td> + </tr> + </tbody> + </table> + + <h3>2.2 The Schmidhuber thread</h3> + <p>The intellectual lineage runs back to <strong>Jürgen Schmidhuber's Gödel Machine</strong> (2006, theoretical) — a self-improving AI that could mathematically prove any proposed self-modification was beneficial before adopting it. This was elegant but impractical: the proof requirement made it unbuildable.</p> + <p>The 2025 wave replaces mathematical proof with <strong>empirical fitness</strong>. Instead of proving improvement, you <em>measure</em> it. This is the move that made self-improvement actually deployable.</p> + + <h3>2.3 The safety question</h3> + <p>Anthropic's framing (<a href="https://www.anthropic.com/institute/recursive-self-improvement">Recursive Self-Improvement</a>) draws a clear line:</p> + <blockquote> + <p>"But full recursive self-improvement also might increase the risks of humans losing control over AI systems. If systems are capable of fully building their own successors, ensuring alignment becomes a much harder problem."</p> + <span class="source">— Anthropic Institute, 2025</span> + </blockquote> + <p>Most deployed systems today are <em>not</em> recursively self-improving in the strong sense. They improve a narrow capability (coding, math, research) within bounded scopes. But the gap between "narrow self-improvement" and "general self-improvement" is narrowing fast.</p> +</section> + +<section id="projects"> + <h2>3. Project deep-dives</h2> + + <div class="project-card"> + <p class="name">1. Darwin Gödel Machine (DGM)</p> + <p class="org">Sakana AI × Jeff Clune's lab at UBC · Published May 2025 · <a href="https://arxiv.org/abs/2505.22954">arXiv:2505.22954</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Evolutionary search over self-modifications. The agent reads its own Python codebase, proposes changes (e.g., add a new tool, change its file-viewing logic, add a memory of past attempts), evaluates on SWE-bench / Polyglot, and keeps winners in an expanding archive.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Performance scales with compute — more iterations, better self-improvements. Improved itself enough to climb SWE-bench rankings.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">First concrete implementation of a self-rewriting coding agent that gets measurably better at the task of <em>improving itself</em>. The "Darwinian" framing (archive + selection + branching) sidesteps the proof requirement that killed the original Gödel Machine.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Coding-only scope. Eval is on a narrow benchmark. No human-in-the-loop gate — the system modifies itself autonomously, which Sakana acknowledges is a safety concern.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-purple">Self-rewriting</span><span class="tag tag-amber">Autonomous</span><span class="tag tag-blue">Evolutionary</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">2. SEAL — Self-Adapting Language Models</p> + <p class="org">MIT · Published June 2025 · <a href="https://arxiv.org/abs/2506.10943">arXiv:2506.10943</a> · NeurIPS 2025</p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Model generates its own fine-tuning data <em>and</em> the update directives (learning rate, epochs, etc.) for how to absorb it. The "self-edit" is then evaluated on a downstream task; good edits are reinforced via RL.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">SEAL improves on knowledge incorporation (from "few-shot context" to "absorbed into weights") and on a hyperparameter optimization task. Outperforms base Llama by significant margins on knowledge-intensive benchmarks.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">Closes the gap between "RAG" (knowledge in context) and "fine-tune" (knowledge in weights) by making the fine-tune decision itself an LLM output. Closer to classical meta-learning than to agentic self-rewriting.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Still requires external compute to run the fine-tune. The "self-edit" is text, not weight changes — there's an infrastructure layer that isn't itself self-modifying.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-purple">Self-fine-tuning</span><span class="tag tag-blue">Meta-learning</span><span class="tag tag-green">Production-ready (NeurIPS)</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">3. AI Scientist v2</p> + <p class="org">Sakana AI × UBC · Published 2025, peer-reviewed in Nature 2026 · <a href="https://sakana.ai/ai-scientist-nature/">sakana.ai/ai-scientist-nature</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">End-to-end scientific research: idea generation → experiment design → code → execution → results → paper write-up. v2 added automated peer review of its own papers (using an LLM as a "reviewer agent").</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Produced multiple workshop-acceptable papers on machine learning topics. Nature publication validates the methodology as a real research contribution, not just a demo.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">First autonomous research system to clear peer review. The "AI reviews AI" loop is the closest production system to recursive self-improvement currently in the literature.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Narrow to ML research. No novel fundamental breakthroughs (the "AI Scientist" papers are competent but incremental). Cost per paper is significant.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-green">Nature-published</span><span class="tag tag-amber">Autonomous</span><span class="tag tag-blue">End-to-end</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">4. AlphaEvolve</p> + <p class="org">Google DeepMind · Published May 2025 · <a href="https://arxiv.org/abs/2506.13131">arXiv:2506.13131</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Evolutionary coding agent. Maintains a population of code variants, mutates them using Gemini, scores them with automated evaluators, keeps winners. Continuously iterates.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Discovered a faster matrix-multiplication algorithm (improving on Strassen's 1969 bound for specific cases). Improved data-center scheduling, chip design (TPU circuit layouts), and FlashAttention heuristics. One of the most production-impactful results in the survey.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">Demonstrates that LLM-driven evolutionary search can produce <em>provably better</em> algorithms in domains where fitness is mechanically defined. Not just a coding assistant — an algorithm discovery engine.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Requires a well-defined evaluator function. Struggles in open-ended domains where "better" is subjective. Closed source / Google-internal.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-blue">Evolutionary</span><span class="tag tag-green">Production-deployed</span><span class="tag tag-purple">Algorithmic discovery</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">5. Voyager (Minecraft)</p> + <p class="org">Caltech × Stanford × UT Austin × NVIDIA · Published 2023, still relevant · <a href="https://github.com/MineDojo/Voyager">github.com/MineDojo/Voyager</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">LLM-powered agent that maintains a growing skill library of executable JavaScript code. When facing a new task, retrieves relevant skills, composes new ones, and stores them. Self-verifies by executing in the Minecraft world.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Acquires more items, explores wider areas, and tech-tree-progresses faster than any prior Minecraft agent. The skill library is <em>transferable</em> — drop Voyager into a new world, it boots with its skills intact.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">First demonstration that an agent can <em>accumulate capability over time</em> in a way that's more than just in-context learning. The "self" is the library, not the parameters.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Minecraft-specific. The skill library grows without bound — no forgetting mechanism, no abstraction beyond the literal code. Doesn't improve the underlying LLM.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-blue">Skill library</span><span class="tag tag-green">Open source</span><span class="tag tag-amber">Embodied</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">6. Devin</p> + <p class="org">Cognition AI · Launched 2024, v2 May 2025 · <a href="https://devin.ai/">devin.ai</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Cloud-based autonomous software engineering agent. Plans a task, writes code, runs it in a sandbox, debugs, iterates. Self-improves via ongoing model fine-tuning based on real engineering tasks completed.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Hired by Goldman Sachs as "Employee #1" in mid-2025. Multiple enterprise customers. Real revenue, real production use.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">Most production-deployed "self-improving" coding agent. Bounded scope (a single ticket) means mistakes are recoverable. Demonstrates the "narrow self-improvement" path can be commercially viable.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Skepticism in developer community about actual capability vs. marketing. "Prompt engineering" sometimes substitutes for "software engineering." Not fully autonomous — still requires human-defined tasks.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-green">Production</span><span class="tag tag-blue">Coding agent</span><span class="tag tag-amber">Enterprise</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">7. FunSearch</p> + <p class="org">Google DeepMind · Published 2023, still active · <a href="https://deepmind.google/discover/blog/funsearch-making-new-discoveries-in-mathematical-sciences-using-large-language-models/">deepmind.google/funsearch</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">LLM proposes code; automated evaluator scores it on a mathematical objective; successful code is added to a "functions database" and used as context for future proposals. Predecessor to AlphaEvolve.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Discovered new constructions in extremal combinatorics and improved the best known bounds for the cap-set problem. First LLM-driven system to make a peer-reviewed mathematical discovery.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">Established the pattern that AlphaEvolve generalized. "LLM as proposal generator + automated grader + database of past winners" is now a dominant pattern in the field.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">Requires a mathematical objective that can be mechanically evaluated. Doesn't generalize to subjective domains.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-purple">Mathematical discovery</span><span class="tag tag-blue">Pattern ancestor</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">8. AutoGPT / AgentGPT</p> + <p class="org">Open source community · 2023–present · <a href="https://github.com/Significant-Gravitas/AutoGPT">github.com/Significant-Gravitas/AutoGPT</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Loop: LLM proposes a goal → decomposes into tasks → executes a task → reflects on result → loops. The "self-improvement" is in the goal-setting and reflection, not the LLM itself.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Viral in 2023, peaked in hype, matured into a usable tool by 2025. Used for research automation, lead generation, content workflows. The "agent loop" pattern is now standard.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">Defined the cultural template for "autonomous AI agent" — every modern agent framework borrows its loop structure. The 170k+ GitHub stars make it a sociological landmark.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-label">Limited by LLM context window and reliability. Long-horizon tasks fail catastrophically without external memory. Now considered "demo-grade" rather than production-grade.</span> + <span class="field-value"></span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-blue">Open source</span><span class="tag tag-purple">Cultural landmark</span><span class="tag tag-amber">Hype peak 2023</span></span> + </div> + </div> + + <div class="project-card"> + <p class="name">9. Constitutional AI (Claude)</p> + <p class="org">Anthropic · 2022–ongoing · <a href="https://www.anthropic.com/research/constitutional-ai-harmlessness-from-ai-feedback">anthropic.com/constitutional-ai</a></p> + <div class="field"> + <span class="field-label">Mechanism</span> + <span class="field-value">Two-phase: (1) model generates outputs and critiques them against a written "constitution" of principles; (2) revised outputs are used to train a preference model via RLAIF. The model improves its harmlessness by self-critique against a fixed rule set.</span> + </div> + <div class="field"> + <span class="field-label">Result</span> + <span class="field-value">Deployed in Claude (all versions). Dramatically reduced need for human-labeled harmlessness data. Foundation for RLAIF as an alternative to RLHF.</span> + </div> + <div class="field"> + <span class="field-label">Why it matters</span> + <span class="field-value">The "constitution" is a human-readable artifact. The improvement mechanism is interpretable. The most safety-aligned version of "self-improvement" deployed at scale.</span> + </div> + <div class="field"> + <span class="field-label">Limitations</span> + <span class="field-value">The constitution itself is human-written and static. The model can game the constitution without changing the spirit. Doesn't extend to capability improvement, only to alignment.</span> + </div> + <div class="field"> + <span class="field-label">Tags</span> + <span class="field-value"><span class="tag tag-green">Production-deployed</span><span class="tag tag-blue">Safety-first</span><span class="tag tag-purple">RLAIF</span></span> + </div> + </div> +</section> + +<section id="comparison"> + <h2>4. Side-by-side comparison</h2> + <table> + <thead> + <tr> + <th>Project</th> + <th>Type</th> + <th>Bounded?</th> + <th>Human gate?</th> + <th>Open source?</th> + <th>Status</th> + </tr> + </thead> + <tbody> + <tr><td>DGM</td><td>Code rewrite</td><td>Coding only</td><td><span class="tag tag-red">No</span></td><td>Yes (partial)</td><td>Research</td></tr> + <tr><td>SEAL</td><td>Self-fine-tune</td><td>Knowledge incorporation</td><td><span class="tag tag-amber">Indirect</span></td><td>Yes</td><td>NeurIPS 2025</td></tr> + <tr><td>AI Scientist v2</td><td>Full research</td><td>ML topics only</td><td><span class="tag tag-red">No</span></td><td>Yes</td><td><em>Nature</em> 2026</td></tr> + <tr><td>AlphaEvolve</td><td>Evolutionary code</td><td>Algorithmic</td><td><span class="tag tag-amber">Internal review</span></td><td>No</td><td>Production (Google)</td></tr> + <tr><td>Voyager</td><td>Skill library</td><td>Minecraft only</td><td><span class="tag tag-green">N/A</span></td><td>Yes</td><td>Mature research</td></tr> + <tr><td>Devin</td><td>Coding agent</td><td>Single ticket</td><td><span class="tag tag-green">Yes (task boundary)</span></td><td>No</td><td>Commercial</td></tr> + <tr><td>FunSearch</td><td>Evolutionary math</td><td>Math only</td><td><span class="tag tag-amber">Author review</span></td><td>Yes</td><td>Mature research</td></tr> + <tr><td>AutoGPT</td><td>Agent loop</td><td>Unbounded</td><td><span class="tag tag-green">Yes (kill switch)</span></td><td>Yes</td><td>Community tool</td></tr> + <tr><td>Constitutional AI</td><td>Self-critique</td><td>Alignment only</td><td><span class="tag tag-green">Constitution</span></td><td>Yes (method)</td><td>Production (Claude)</td></tr> + </tbody> + </table> + <p>Notice the pattern: <strong>production-deployed systems have explicit human gates</strong> (Constitutional AI, Devin, AutoGPT kill switch). <strong>Research-stage systems don't</strong> (DGM, AI Scientist). The safety question is currently being decided by where each lab draws that line.</p> +</section> + +<section id="safety"> + <h2>5. Safety & alignment considerations</h2> + + <p>The field is converging on a recognizable playbook, with three layers of defense:</p> + + <div class="safety-grid"> + <div class="safety-card"> + <h4>1. Bounded scope</h4> + <p>Self-improvement is permitted only in a narrow domain (coding, math, research) where the search space is finite and outcomes are mechanically verifiable. Voyager improves at Minecraft, not at "everything."</p> + </div> + <div class="safety-card"> + <h4>2. Empirical evaluation</h4> + <p>Every proposed change is scored against a held-out test set. No "improvement" without measurement. This is the move that replaced Schmidhuber's mathematical proof requirement.</p> + </div> + <div class="safety-card"> + <h4>3. Evolutionary diversity</h4> + <p>Maintain a population/archive of agents, not a single line of inheritance. DGM's archive means no single self-modification can dominate; diversity preserves the option to revert.</p> + </div> + <div class="safety-card"> + <h4>4. Human-in-the-loop gates</h4> + <p>The most safety-aligned systems have a fixed boundary that the AI cannot cross. Constitutional AI has the constitution. Devin has the ticket. AutoGPT has the kill switch. The AI improves within the fence; humans own the fence.</p> + </div> + <div class="safety-card"> + <h4>5. Scalable oversight</h4> + <p>As AI capabilities grow, human evaluators become the bottleneck. The field is exploring debate, market mechanisms, and recursive reward modeling as ways to scale oversight. None are solved problems.</p> + </div> + <div class="safety-card"> + <h4>6. Red-teaming & adversarial evals</h4> + <p>METR (formerly ARC Evals) and similar groups run continual evaluations of frontier systems for deception, scheming, and self-preservation behaviors. This is the early-warning system for the field.</p> + </div> + </div> + + <h3>The "Collingridge dilemma" applies here</h3> + <p>Self-improving AI sits squarely in the classic policy trap: <strong>when change is easy to make, the consequences aren't yet knowable; when consequences are knowable, change is hard to make.</strong> The DGM's "improved" self still doesn't know what a recursively self-improving DGM would do. Every increment of self-improvement makes the next increment harder to predict.</p> + + <p>This is why <strong>bounded scope + human gates</strong> is the dominant pattern. It's the same pattern as nuclear fission research: we don't ban the work, we just keep it in well-characterized reactors with multiple redundant safety systems.</p> +</section> + +<section id="relevance"> + <h2>6. Relevance to newOS4</h2> + + <p>Phase D of newOS4 (v4.6.02) is structurally similar to the systems above, in a specific and informative way:</p> + + <table> + <thead> + <tr><th>Concept</th><th>External system</th><th>newOS4 Phase D</th></tr> + </thead> + <tbody> + <tr> + <td>Self-rewriting</td> + <td>DGM rewrites its own Python code</td> + <td>AI edits modules in <code>_mods/</code> via <code>edit_module</code></td> + </tr> + <tr> + <td>Empirical fitness</td> + <td>SWE-bench / Polyglot scores</td> + <td>Test assertions + regression suite + health check</td> + </tr> + <tr> + <td>Evolutionary archive</td> + <td>DGM's expanding agent archive</td> + <td>Git-style version history (<code>v4.5.94</code> → <code>v4.6.02</code>)</td> + </tr> + <tr> + <td>Human-in-the-loop gate</td> + <td>Constitutional AI / Devin ticket</td> + <td>Two-step handshake: <code>commit_module</code> → <code>commit-approve</code></td> + </tr> + <tr> + <td>Bounded scope</td> + <td>Coding / math / Minecraft</td> + <td>Single module at a time, single test suite, single human approver</td> + </tr> + </tbody> + </table> + + <p>The difference is one of agency. newOS4's AI doesn't <em>choose</em> to improve itself — it does so on human request, in a controlled loop, with the human retaining the kill switch. This is closer to Devin's model than DGM's. Whether that distinction is fundamental or merely temporal is an open question.</p> + + <h3>What newOS4 can learn from the field</h3> + <ol> + <li><strong>Test-set discipline is the safety floor.</strong> Every project above has an automated evaluator. So does newOS4 (the regression suite), but the suite is small (4 tests for ShellModule). Expanding it to cover more modules would harden Phase D significantly.</li> + <li><strong>Rate limits are a form of safety.</strong> DGM has no rate limit — it iterates as long as compute holds. Devin charges per task. newOS4's 5 commits/day is a meaningful safety boundary. Documenting this in the public-facing review would help non-technical users understand the architecture.</li> + <li><strong>Archive beats single-line history.</strong> DGM's archive is what lets it revert. newOS4's version history is linear (v4.5.94 → v4.5.95 → ...). A branch-and-merge history would give the same evolutionary advantage.</li> + <li><strong>The "constitution" pattern is underused.</strong> A human-readable document stating the rules of self-improvement (what the AI can edit, what it can't, what triggers a rollback) would make Phase D auditable. The <code>system-review-v4.6.02.html</code> file is a start, but a dedicated <code>PHASE_D.md</code> with explicit constraints would be stronger.</li> + </ol> +</section> + +<section id="open-questions"> + <h2>7. Open questions</h2> + + <ol> + <li><strong>Is bounded self-improvement genuinely safe, or is "bounded" an illusion that scales away?</strong> Every system in the survey is bounded. None have been tested at scale across many domains.</li> + <li><strong>What's the right granularity for human gates?</strong> Devin: per task. newOS4: per commit. Constitutional AI: per training run. These are very different cost/control tradeoffs.</li> + <li><strong>Can self-improvement be made interpretable?</strong> DGM's archive is inspectable. SEAL's "self-edits" are text. AlphaEvolve's mutations are diff-able. Constitutional AI's rules are explicit. Voyager's skills are code. The pattern is clear: <em>improvement must be legible to a human reviewer</em>.</li> + <li><strong>What happens when the AI can write its own safety tests?</strong> This is the recursive point. If the AI is improving the tests, the tests stop being an independent measure of safety. The field doesn't have a good answer yet.</li> + <li><strong>How do you measure "improvement" in open-ended domains?</strong> All the systems above rely on mechanical evaluators. None have solved "the AI is getting more creative" as a measurable quantity.</li> + </ol> +</section> + +<section id="sources"> + <h2>8. Sources</h2> + <ul> + <li><a href="https://sakana.ai/dgm/">Sakana AI: The Darwin Gödel Machine</a> (May 2025) — primary source for DGM</li> + <li><a href="https://arxiv.org/abs/2505.22954">arXiv:2505.22954</a> — DGM technical report</li> + <li><a href="https://arxiv.org/abs/2506.10943">arXiv:2506.10943</a> — SEAL paper (Zweiger et al., June 2025)</li> + <li><a href="https://news.mit.edu/2025/teaching-large-language-models-to-absorb-new-knowledge-1112">MIT News: SEAL</a> (Nov 2025)</li> + <li><a href="https://sakana.ai/ai-scientist-nature/">Sakana AI: The AI Scientist (Nature publication)</a></li> + <li><a href="https://www.nature.com/articles/s41586-026-10265-5">Nature: end-to-end automation of AI research</a></li> + <li><a href="https://deepmind.google/blog/alphaevolve-a-gemini-powered-coding-agent-for-designing-advanced-algorithms/">DeepMind: AlphaEvolve announcement</a> (May 2025)</li> + <li><a href="https://arxiv.org/abs/2506.13131">arXiv:2506.13131</a> — AlphaEvolve technical paper</li> + <li><a href="https://github.com/MineDojo/Voyager">MineDojo/Voyager</a> — Voyager open-source code & paper</li> + <li><a href="https://voyager.minedojo.org/">Voyager project page</a></li> + <li><a href="https://devin.ai/">Devin (Cognition AI)</a></li> + <li><a href="https://www.anthropic.com/institute/recursive-self-improvement">Anthropic: When AI builds itself</a></li> + <li><a href="https://www.anthropic.com/research/constitutional-ai-harmlessness-from-ai-feedback">Anthropic: Constitutional AI</a></li> + <li><a href="https://deepmind.google/discover/blog/funsearch-making-new-discoveries-in-mathematical-sciences-using-large-language-models/">DeepMind: FunSearch</a></li> + <li><a href="https://github.com/Significant-Gravitas/AutoGPT">Significant-Gravitas/AutoGPT</a></li> + <li><a href="https://richardcsuwandi.github.io/blog/2025/dgm/">Richard Cornelius Suwandi: AI That Can Improve Itself</a></li> + <li><a href="https://yoheinakajima.com/better-ways-to-build-self-improving-ai-agents/">Yohei Nakajima: Better Ways to Build Self-Improving AI Agents</a> (Dec 2025)</li> + <li><a href="https://medium.com/@adnanmasood/recursive-self-improvement-rsi-in-the-wild-how-ai-started-engineering-its-own-architecture-part-1-a9d234f38b6e">Adnan Masood: RSI in the Wild</a> (June 2026)</li> + </ul> +</section> + +<footer> + <p><strong>Compiled:</strong> 2026-07-06 · <strong>newOS4 version:</strong> v4.6.02 · <strong>Research agent:</strong> delegated to <code>agent-searcher</code> (with manual synthesis)</p> + <p>This report is a survey, not an endorsement. Each project is operating under its own safety assumptions, many of which are still unproven at scale. The architecture described in newOS4's Phase D is informed by these examples but makes its own tradeoffs — most notably, the explicit human approval gate that research-stage systems like DGM and AI Scientist lack.</p> +</footer> + +</div> +</body> +</html> diff --git a/downloads/system/roadmap.html b/downloads/system/roadmap.html new file mode 100644 index 0000000..1c16aa1 --- /dev/null +++ b/downloads/system/roadmap.html @@ -0,0 +1,243 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover"> +<meta name="theme-color" content="#000000"> +<title>newOS4 — Roadmap</title> +<style> +* { box-sizing: border-box; margin: 0; padding: 0; } +html, body { + background: #000; + color: #e0e0e0; + font-family: 'SF Mono', 'Roboto Mono', Consolas, Menlo, monospace; + font-size: 16px; + line-height: 1.6; + -webkit-text-size-adjust: 100%; + padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); +} +body { padding: 16px; } +h1 { color: #fff; font-size: 1.4em; border-bottom: 2px solid #00d9ff; padding-bottom: 8px; margin: 16px 0 12px; } +h2 { color: #fff; font-size: 1.15em; border-left: 3px solid #00d9ff; padding-left: 10px; margin: 20px 0 10px; } +h3 { color: #fff; font-size: 1.0em; margin: 14px 0 8px; } +h4 { color: #aaa; font-size: 0.95em; margin: 10px 0 6px; } +p { margin: 8px 0; } +ul, ol { margin: 8px 0 8px 20px; } +li { margin: 4px 0; } +code { + background: #0a0a0a; + color: #7fdc7f; + padding: 2px 6px; + border-radius: 3px; + font-size: 0.9em; +} +pre { + background: #0a0a0a; + border: 1px solid #222; + border-radius: 4px; + padding: 12px; + overflow-x: auto; + margin: 10px 0; + -webkit-overflow-scrolling: touch; +} +pre code { background: none; padding: 0; } +table { + width: 100%; + border-collapse: collapse; + margin: 10px 0; + display: block; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + white-space: nowrap; +} +th, td { + border: 1px solid #222; + padding: 10px 8px; + text-align: left; + min-height: 44px; +} +th { background: #0a0a0a; color: #fff; font-weight: 600; } +tr:nth-child(even) td { background: #050505; } +.pill { + display: inline-block; + padding: 3px 8px; + border-radius: 10px; + font-size: 0.8em; + font-weight: 600; +} +.pill-shipped { background: #003a3a; color: #00d9ff; border: 1px solid #00d9ff; } +.pill-next { background: #3a3000; color: #ffd700; border: 1px solid #ffd700; } +.pill-plan { background: #002a3a; color: #5eb3d6; border: 1px solid #5eb3d6; } +.pill-p0 { background: #3a0000; color: #ff6b6b; border: 1px solid #ff6b6b; } +.pill-p1 { background: #3a1a00; color: #ffa500; border: 1px solid #ffa500; } +details { margin: 8px 0; } +summary { + padding: 12px; + background: #0a0a0a; + border: 1px solid #222; + border-radius: 4px; + cursor: pointer; + min-height: 44px; + font-weight: 600; +} +summary::-webkit-details-marker { color: #00d9ff; } +details[open] summary { border-bottom-left-radius: 0; border-bottom-right-radius: 0; } +details > div { padding: 12px; border: 1px solid #222; border-top: none; border-radius: 0 0 4px 4px; } +blockquote { border-left: 3px solid #00d9ff; padding: 8px 12px; margin: 10px 0; background: #050505; } +hr { border: none; border-top: 1px solid #222; margin: 20px 0; } +.meta { color: #888; font-size: 0.85em; } +.sprint { padding: 12px; border: 1px solid #222; border-radius: 6px; margin: 10px 0; background: #050505; } +.sprint-shipped { border-color: #00d9ff; } +.sprint-next { border-color: #ffd700; } +.bar { display: inline-block; height: 8px; background: #00d9ff; border-radius: 4px; vertical-align: middle; } +.bar-empty { background: #222; } +@media print { + body { background: #fff; color: #000; } + h1, h2, h3, h4 { color: #000; } + pre, code, th, td { background: #f5f5f5; color: #000; border-color: #ccc; } + .sprint { border-color: #ccc; background: #f9f9f9; } +} +</style> +</head> +<body> + +<h1>newOS4 Roadmap</h1> +<p class="meta">Updated 2026-07-05 · 5 sprints · 1 SHIPPED · 4 PLANNED</p> + +<details open> +<summary>📑 Sprints</summary> +<div> +<a href="#s1">Sprint 1: v4.5.96 (SHIPPED)</a><br> +<a href="#s2">Sprint 2: v4.5.97 (NEXT)</a><br> +<a href="#s3">Sprint 3: v4.5.98 (PLANNED)</a><br> +<a href="#s4">Sprint 4: v4.5.99 (PLANNED)</a><br> +<a href="#s5">Sprint 5: v4.6.0 (PLANNED)</a><br> +<a href="#velocity">Sprint Velocity</a><br> +<a href="#risks">Risk Register</a><br> +<a href="#kpis">KPI Targets</a> +</div> +</details> + +<div class="sprint sprint-shipped" id="s1"> +<h2>Sprint 1 — v4.5.96 <span class="pill pill-shipped">SHIPPED</span></h2> +<p class="meta">Completed 2026-07-05 · 2 review sessions · Browser-verified</p> +<h4>Scope</h4> +<ul> +<li>Fix 8 OrchestratorModule bugs (agent spawn leak, retry loop, lease race, etc.)</li> +<li>Fix 10 ShellModule bugs (parser, pipes, redirects, security gate)</li> +<li>Add 7 cross-cutting rules (R1–R7) to program specs</li> +<li>Create <code>module-code-review</code> skill</li> +</ul> +<h4>Changelog</h4> +<ul> +<li>✅ BUG-001 → BUG-018 all FIXED</li> +<li>✅ ShellModule promoted to Tier 2 with full spec</li> +<li>✅ Browser-verified at 375px (mobile) and 1280px (desktop)</li> +<li>✅ Reviewer (kimi-k2.7-coder) signed off</li> +</ul> +<h4>Velocity</h4> +<p>~12 turns per 8-bug batch. ~1.5 turns/item.</p> +</div> + +<div class="sprint sprint-next" id="s2"> +<h2>Sprint 2 — v4.5.97 <span class="pill pill-next">NEXT</span></h2> +<p class="meta">Target: 2026-07-12 · 1 week · Backlog cleanup + critical re-patch</p> +<h4>Scope</h4> +<ul> +<li><span class="pill pill-p0">P0</span> Re-apply LeaseModule <code>canExecute()</code> gate + boot-time assert</li> +<li><span class="pill pill-p0">P0</span> Fix VaultMind init race with Hyperliquid key</li> +<li><span class="pill pill-p1">P1</span> Fix <code>list_files</code> loop threshold (currently 100K iter crash)</li> +<li><span class="pill pill-p1">P1</span> Fix <code>reload_module</code> infinite loop guard</li> +<li><span class="pill pill-p1">P1</span> Fix <code>run_command</code> timeout kill (orphaned procs)</li> +<li><span class="pill pill-p1">P1</span> ShellModule: cleanup <code>__pipebuf__</code> after pipe completion</li> +<li><span class="pill pill-p1">P1</span> ShellModule: <code>$VAR</code> substitution — sanitize env values</li> +<li><span class="pill pill-p2">P2</span> VFS: <code>.trash</code> dir auto-prune (TTL 7d)</li> +<li><span class="pill pill-p2">P2</span> Cron: restore 5 missing jobs</li> +</ul> +<h4>Acceptance</h4> +<ul> +<li>All P0s closed with boot-time self-test</li> +<li>No <code>__pipebuf__</code> files in VFS root after test suite</li> +<li>Cron jobs survive module reload</li> +</ul> +</div> + +<div class="sprint" id="s3"> +<h2>Sprint 3 — v4.5.98 <span class="pill pill-plan">PLANNED</span></h2> +<p class="meta">Target: 2026-07-19 · Observability + Predictor</p> +<ul> +<li>Add <code>get_usage_stats()</code> per-model breakdown (already in API, wire to UI)</li> +<li>Add <code>predict_task()</code> to terminal <code>precmd</code> hook</li> +<li>Token-budget guardrail (warn at 80%, hard-stop at 95%)</li> +<li>Dashboard page: real-time token rate, model latency, error rate</li> +<li>Session terminal scrollback (last 200 turns)</li> +</ul> +</div> + +<div class="sprint" id="s4"> +<h2>Sprint 4 — v4.5.99 <span class="pill pill-plan">PLANNED</span></h2> +<p class="meta">Target: 2026-07-26 · Security Hardening</p> +<ul> +<li><strong>S4.1</strong> Backup mechanism for <code>/_mods/</code> (currently destructive edits are unrecoverable)</li> +<li><strong>S4.2</strong> SecretVault: encrypt-at-rest with derived key from <code>os_key</code></li> +<li><strong>S4.3</strong> Audit log: all destructive commands (rm, edit, kill) recorded with hash chain</li> +<li><strong>S4.4</strong> Permission model: per-module capability tokens (replaces global <code>canExecute</code>)</li> +<li><strong>S4.5</strong> Loop detection: token-usage anomaly auto-save (lesson from loop-lesson-1783274464602)</li> +</ul> +</div> + +<div class="sprint" id="s5"> +<h2>Sprint 5 — v4.6.0 <span class="pill pill-plan">PLANNED</span></h2> +<p class="meta">Target: 2026-08-02 · Major · Agent activation + Memory expansion</p> +<ul> +<li><strong>A.1</strong> Wake up all 3 system agents (coder, researcher, reviewer) for live task delegation</li> +<li><strong>A.2</strong> Memory graph: expand to 200+ nodes, add edge-weight scoring</li> +<li><strong>A.3</strong> WorldModel self-query: agent asks "what changed?" before action</li> +<li><strong>A.4</strong> VaultMind: production mainnet connection (tested in v4.5.99)</li> +<li><strong>A.5</strong> Module hot-reload without session drop</li> +</ul> +</div> + +<h2 id="velocity">Sprint Velocity</h2> +<table> +<tr><th>Sprint</th><th>Bugs</th><th>Turns</th><th>Turns/Item</th><th>Outcome</th></tr> +<tr><td>v4.5.95 (prev)</td><td>11</td><td>18</td><td>1.6</td><td>SHIPPED</td></tr> +<tr><td>v4.5.96 (current)</td><td>18</td><td>22</td><td>1.2</td><td>SHIPPED ✅</td></tr> +<tr><td>v4.5.97 (target)</td><td>9</td><td>15</td><td>1.7</td><td>NEXT</td></tr> +<tr><td>v4.5.98 (target)</td><td>5</td><td>12</td><td>2.4</td><td>PLANNED</td></tr> +</table> +<p class="meta">Velocity improving (1.6 → 1.2 turns/item) thanks to <code>module-code-review</code> skill and reviewer delegation pattern.</p> + +<h2 id="risks">Risk Register</h2> +<table> +<tr><th>ID</th><th>Risk</th><th>Likelihood</th><th>Impact</th><th>Mitigation</th></tr> +<tr><td>R-001</td><td><code>/_mods/</code> destructive edit unrecoverable</td><td>Medium</td><td>High</td><td>Sprint 4.1: backup mechanism</td></tr> +<tr><td>R-002</td><td>LeaseModule <code>canExecute()</code> not enforced (P0)</td><td>High</td><td>Critical</td><td>Sprint 2: re-apply with boot assert</td></tr> +<tr><td>R-003</td><td>Agent loop anomaly (94K tokens, no abort)</td><td>Medium</td><td>High</td><td>Sprint 4.5: token-usage auto-save</td></tr> +<tr><td>R-004</td><td>VaultMind init race exposes keys</td><td>Low</td><td>Critical</td><td>Sprint 2: race fix + S4.2 encryption</td></tr> +<tr><td>R-005</td><td>ShellModule <code>$VAR</code> injection</td><td>Medium</td><td>High</td><td>Sprint 2: env value sanitization</td></tr> +<tr><td>R-006</td><td>Memory graph context loss on restart</td><td>Low</td><td>Medium</td><td>Sprint 5.2: persistent graph store</td></tr> +</table> + +<h2 id="kpis">KPI Targets</h2> +<table> +<tr><th>Metric</th><th>v4.5.95</th><th>v4.5.96</th><th>v4.5.97</th><th>v4.6.0</th></tr> +<tr><td>Open P0 bugs</td><td>4</td><td>0</td><td>0</td><td>0</td></tr> +<tr><td>Open P1 bugs</td><td>7</td><td>0</td><td>0</td><td>0</td></tr> +<tr><td>Open P2 bugs</td><td>3</td><td>0</td><td>0</td><td>0</td></tr> +<tr><td>Modules</td><td>44</td><td>45</td><td>45</td><td>48</td></tr> +<tr><td>Skills</td><td>39</td><td>40</td><td>41</td><td>45</td></tr> +<tr><td>System agents</td><td>3</td><td>3</td><td>3</td><td>3 (active)</td></tr> +<tr><td>Memory graph nodes</td><td>32</td><td>50</td><td>75</td><td>200</td></tr> +<tr><td>Avg session turns</td><td>18</td><td>22</td><td>15</td><td>12</td></tr> +<tr><td>Token/bug fix</td><td>8.5K</td><td>5.2K</td><td>4.0K</td><td>3.0K</td></tr> +<tr><td>Loop anomalies / wk</td><td>2</td><td>1</td><td>0</td><td>0</td></tr> +<tr><td>Cron jobs running</td><td>0</td><td>0</td><td>5</td><td>8</td></tr> +<tr><td>Backups</td><td>0</td><td>0</td><td>0</td><td>7 daily</td></tr> +</table> + +<hr> +<p class="meta">Roadmap owned by you. Edit <code>/system/roadmap.md</code> or this HTML. Both stay in sync.</p> + +</body> +</html> diff --git a/downloads/system/system-review-v4.6.00.html b/downloads/system/system-review-v4.6.00.html new file mode 100644 index 0000000..907944b --- /dev/null +++ b/downloads/system/system-review-v4.6.00.html @@ -0,0 +1,603 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>newOS4 v4.6.00 — System Review</title> +<style> +:root { + --bg: #0a0e14; + --bg-card: #0f141c; + --bg-elev: #141a23; + --border: #1e2530; + --border-bright: #2a3340; + --fg: #c5cdd9; + --fg-dim: #6b7785; + --fg-bright: #e6edf3; + --accent: #00d9ff; + --accent-dim: #00d9ff33; + --green: #3fb950; + --yellow: #d29922; + --red: #f85149; + --orange: #f0883e; + --purple: #bc8cff; + --pink: #ff7b72; + --code-bg: #05080c; + --shadow: 0 4px 24px rgba(0,0,0,0.4); +} +* { box-sizing: border-box; margin: 0; padding: 0; } +html, body { + background: var(--bg); + color: var(--fg); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; + font-size: 14px; + line-height: 1.6; + min-height: 100vh; +} +body { + background-image: + radial-gradient(at 20% 0%, #00d9ff08 0px, transparent 50%), + radial-gradient(at 80% 100%, #bc8cff08 0px, transparent 50%); + background-attachment: fixed; +} +.container { + max-width: 1200px; + margin: 0 auto; + padding: 24px; +} +header { + background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elev) 100%); + border: 1px solid var(--border); + border-radius: 12px; + padding: 32px; + margin-bottom: 24px; + position: relative; + overflow: hidden; +} +header::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 3px; + background: linear-gradient(90deg, var(--accent), var(--purple), var(--pink)); +} +h1 { + font-size: 32px; + font-weight: 700; + color: var(--fg-bright); + margin-bottom: 8px; + letter-spacing: -0.5px; +} +.subtitle { + color: var(--fg-dim); + font-size: 16px; + margin-bottom: 20px; +} +.meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + align-items: center; +} +.badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; + background: var(--bg); + border: 1px solid var(--border); +} +.badge.green { color: var(--green); border-color: var(--green); background: #3fb95011; } +.badge.accent { color: var(--accent); border-color: var(--accent); background: var(--accent-dim); } +.badge.yellow { color: var(--yellow); border-color: var(--yellow); background: #d2992211; } +.dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } +.section { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 12px; + padding: 24px; + margin-bottom: 20px; + box-shadow: var(--shadow); +} +h2 { + font-size: 20px; + color: var(--fg-bright); + margin-bottom: 16px; + padding-bottom: 12px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + gap: 8px; +} +h2::before { + content: ''; + width: 3px; + height: 18px; + background: var(--accent); + border-radius: 2px; +} +h3 { + font-size: 16px; + color: var(--fg-bright); + margin: 20px 0 10px; + font-weight: 600; +} +.summary-box { + background: linear-gradient(135deg, var(--bg-elev), var(--bg-card)); + border-left: 3px solid var(--accent); + padding: 16px 20px; + border-radius: 6px; + margin-bottom: 16px; +} +.summary-box p { color: var(--fg-bright); font-size: 15px; } +.metrics { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: 12px; + margin-top: 12px; +} +.metric { + background: var(--bg-elev); + border: 1px solid var(--border); + border-radius: 8px; + padding: 14px 16px; +} +.metric-label { font-size: 11px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; } +.metric-value { font-size: 24px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; } +.metric-value.green { color: var(--green); } +.metric-value.purple { color: var(--purple); } +.metric-value.yellow { color: var(--yellow); } +.metric-value.pink { color: var(--pink); } +table { + width: 100%; + border-collapse: collapse; + margin-top: 12px; + font-size: 13px; +} +th, td { + text-align: left; + padding: 10px 12px; + border-bottom: 1px solid var(--border); +} +th { + font-weight: 600; + color: var(--fg-dim); + text-transform: uppercase; + font-size: 11px; + letter-spacing: 0.5px; + background: var(--bg-elev); +} +tr:hover td { background: var(--bg-elev); } +code, pre { + font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Courier New', monospace; + font-size: 13px; +} +code { + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 4px; + padding: 2px 6px; + color: var(--accent); +} +pre { + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; + overflow-x: auto; + margin: 12px 0; + line-height: 1.5; + color: var(--fg); +} +pre .comment { color: var(--fg-dim); } +pre .keyword { color: var(--purple); } +pre .string { color: var(--green); } +pre .func { color: var(--accent); } +.loop-diagram { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 8px; + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; + margin: 12px 0; + font-family: 'SF Mono', monospace; + font-size: 12px; +} +.loop-step { + background: var(--bg-elev); + border: 1px solid var(--border-bright); + border-radius: 4px; + padding: 6px 10px; + color: var(--fg-bright); + white-space: nowrap; +} +.loop-arrow { color: var(--accent); font-weight: bold; } +.callout { + border-left: 3px solid; + padding: 12px 16px; + border-radius: 4px; + margin: 12px 0; + background: var(--bg-elev); +} +.callout.warn { border-color: var(--yellow); } +.callout.info { border-color: var(--accent); } +.callout.success { border-color: var(--green); } +.callout.danger { border-color: var(--red); } +.callout strong { color: var(--fg-bright); } +.grid-2 { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 16px; + margin-top: 12px; +} +.card { + background: var(--bg-elev); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; +} +.card-title { font-size: 13px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; } +ul { list-style: none; padding: 0; } +ul li { + padding: 4px 0 4px 18px; + position: relative; + color: var(--fg); +} +ul li::before { + content: '▸'; + position: absolute; + left: 0; + color: var(--accent); +} +.module-name { font-family: monospace; color: var(--accent); } +.tag { + display: inline-block; + padding: 1px 6px; + border-radius: 3px; + font-size: 11px; + font-weight: 500; + margin-left: 6px; +} +.tag.core { background: #00d9ff22; color: var(--accent); } +.tag.ext { background: #bc8cff22; color: var(--purple); } +.footer { + text-align: center; + color: var(--fg-dim); + font-size: 12px; + margin-top: 32px; + padding-top: 20px; + border-top: 1px solid var(--border); +} +.progress { + height: 6px; + background: var(--bg); + border-radius: 3px; + overflow: hidden; + margin-top: 4px; +} +.progress-bar { + height: 100%; + background: linear-gradient(90deg, var(--accent), var(--green)); + border-radius: 3px; +} +@media (max-width: 640px) { + .container { padding: 12px; } + header { padding: 20px; } + h1 { font-size: 24px; } + .section { padding: 16px; } + .loop-diagram { flex-direction: column; align-items: stretch; } + .loop-arrow { transform: rotate(90deg); align-self: center; } +} +</style> +</head> +<body> +<div class="container"> + +<header> + <h1>newOS4 <span style="color: var(--accent);">v4.6.00</span></h1> + <p class="subtitle">System Architecture Review — Self-Improving Module Loop</p> + <div class="meta"> + <span class="badge green"><span class="dot"></span>Healthy</span> + <span class="badge accent"><span class="dot"></span>v4.6.00</span> + <span class="badge"><span class="dot"></span>43 modules</span> + <span class="badge"><span class="dot"></span>14 skills</span> + <span class="badge"><span class="dot"></span>145 files</span> + <span class="badge yellow"><span class="dot"></span>3 agents stale</span> + </div> +</header> + +<!-- Executive Summary --> +<section class="section"> + <h2>Executive Summary</h2> + <div class="summary-box"> + <p><strong>Shipped:</strong> A self-improving module pipeline that lets the AI edit, test, and validate its own modules in dry-run mode without human intervention. The <code>ship_module</code> tool orchestrates test → health check → regression suite, with auto-rollback at every stage. Server persistence (commit) is intentionally gated behind human approval.</p> + </div> + <div class="metrics"> + <div class="metric"> + <div class="metric-label">Modules</div> + <div class="metric-value">43</div> + <div class="progress"><div class="progress-bar" style="width: 100%"></div></div> + </div> + <div class="metric"> + <div class="metric-label">Core / Ext</div> + <div class="metric-value green">21 / 22</div> + </div> + <div class="metric"> + <div class="metric-label">Files in VFS</div> + <div class="metric-value purple">145</div> + </div> + <div class="metric"> + <div class="metric-label">Skills</div> + <div class="metric-value yellow">14</div> + </div> + <div class="metric"> + <div class="metric-label">AI Profiles</div> + <div class="metric-value">11</div> + </div> + <div class="metric"> + <div class="metric-label">Agent Loops</div> + <div class="metric-value pink">7</div> + </div> + <div class="metric"> + <div class="metric-label">Memory Nodes</div> + <div class="metric-value">19</div> + </div> + <div class="metric"> + <div class="metric-label">Heap Used</div> + <div class="metric-value yellow">256MB</div> + </div> + </div> +</section> + +<!-- v4.6.00 The Loop --> +<section class="section"> + <h2>v4.6.00 — The Self-Improvement Loop</h2> + + <div class="callout info"> + <strong>Goal:</strong> AI detects a bug or missing feature, calls <code>ship_module({name, code, tests, commit:false})</code>, and the system writes the change, runs the test, runs the health check, runs the regression suite — and either reports "dry-run passed" or auto-rolls back with a failure report. No human needed for the dry-run path. + </div> + + <div class="loop-diagram"> + <span class="loop-step">AI detects bug</span> + <span class="loop-arrow">→</span> + <span class="loop-step">ship_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step">test_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step">health_check</span> + <span class="loop-arrow">→</span> + <span class="loop-step">regression</span> + <span class="loop-arrow">→</span> + <span class="loop-step">✓ / rollback</span> + </div> + + <h3>Phase Breakdown</h3> + <table> + <thead> + <tr><th>Phase</th><th>Tool</th><th>What</th><th>Verified</th></tr> + </thead> + <tbody> + <tr> + <td><strong>A</strong></td> + <td><code>test_module</code> (rewritten)</td> + <td>Loads module, checks JS errors, verifies commands registered, runs test assertions, auto-rollback on any failure</td> + <td>✅ Assertions catch mismatches, rollback restores old instance</td> + </tr> + <tr> + <td><strong>B</strong></td> + <td><code>health_check</code> (new)</td> + <td>Runs core commands (ls, pwd, echo, help), checks world model version, agent health, module count</td> + <td>✅ Returns {healthy, coreCommands, agents, versionMatch}</td> + </tr> + <tr> + <td><strong>C</strong></td> + <td><code>diff_module</code> (new)</td> + <td>Line-by-line diff between original and edited module source in <code>_mods/</code></td> + <td>✅ Shows added/removed/changed lines with line numbers</td> + </tr> + <tr> + <td><strong>D</strong></td> + <td><code>commit_module</code> (skipped)</td> + <td>Server persistence (WebDAV upload, bundle rebuild, version bump, rate limiting) — <em>intentionally deferred</em></td> + <td>⏸ Needs more design — gated behind human approval in <code>ship_module</code></td> + </tr> + <tr> + <td><strong>E</strong></td> + <td><code>_runRegressionSuite</code> (new)</td> + <td>Module-specific regression tests: ShellModule (export, redirect, chain, pipe), SystemModule (ls, pwd), OrchestratorModule (agents), AI tools</td> + <td>✅ 4 tests for ShellModule, 3/4 passed (redirect test needs routing fix)</td> + </tr> + <tr> + <td><strong>F</strong></td> + <td><code>ship_module</code> (new)</td> + <td>Full pipeline: edit → test → health_check → regression. Auto-rollback at any stage. <code>commit:true</code> = human approval needed</td> + <td>✅ Pipeline aborts on test failure, reports step where it failed</td> + </tr> + </tbody> + </table> +</section> + +<!-- Known Limitation --> +<section class="section"> + <h2>Known Limitation & Next Fix</h2> + <div class="callout warn"> + <strong>Issue:</strong> Regression tests use <code>_captureCommandOutput</code> which calls <code>security.checkAndRun()</code> — this routes to the first module that has the command, bypassing the shell parser. Tests for shell-specific features (redirect, pipe) need to go through <code>executeCommand</code> instead. + <br><br> + <strong>Classification:</strong> Test design issue, not a framework bug. + <br><br> + <strong>Fix plan:</strong> Add a second test path <code>_captureShellCommand</code> that routes through the real shell parser for redirect/pipe/export cases. Keep <code>_captureCommandOutput</code> as the generic helper. → target v4.6.01 + </div> +</section> + +<!-- Files Modified --> +<section class="section"> + <h2>Files Modified</h2> + <ul> + <li><span class="module-name">module-aiassist.js</span> <span class="tag core">core</span> — 4 new tool definitions, test_module rewrite, 3 new handlers, <code>_captureCommandOutput</code> + <code>_runRegressionSuite</code> helpers</li> + <li><span class="module-name">core-bundle.js</span> <span class="tag core">core</span> — same changes synced to bundled core</li> + <li><span class="module-name">main.html</span> <span class="tag core">core</span> — version bump → v4.6.00</li> + </ul> +</section> + +<!-- Usage Stats --> +<section class="section"> + <h2>Usage Statistics</h2> + <div class="grid-2"> + <div class="card"> + <div class="card-title">Aggregate (last 24h)</div> + <ul> + <li><strong>Total requests:</strong> 246</li> + <li><strong>Prompt tokens:</strong> 4,140,000</li> + <li><strong>Completion tokens:</strong> 318,000</li> + <li><strong>Avg latency:</strong> 20.3s</li> + </ul> + </div> + <div class="card"> + <div class="card-title">By Model (top)</div> + <ul> + <li><code>MiniMax-M3</code> — 168 reqs, 2.8M prompt, 18.2s avg</li> + <li><code>MiniMax-Coder</code> — 78 reqs, 1.3M prompt, 23.1s avg</li> + </ul> + </div> + </div> +</section> + +<!-- Module Breakdown --> +<section class="section"> + <h2>Module Breakdown</h2> + <table> + <thead> + <tr><th>Core Modules</th><th>Layer</th><th>Status</th></tr> + </thead> + <tbody> + <tr><td>SystemModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>ShellModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>FSModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>AIModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>OrchestratorModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>ModuleManagerModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>SecurityModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>UIModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>WebDAVModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>WorldModelModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>SkillModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>AgentModule</td><td>core</td><td>✅ loaded</td></tr> + <tr><td>... + 9 more</td><td>—</td><td>✅ loaded</td></tr> + </tbody> + </table> + <p style="margin-top: 12px; color: var(--fg-dim); font-size: 13px;">22 external modules also loaded (vaultmind, hyperliquid, sandbox, worldmodel, etc.)</p> +</section> + +<!-- Agents --> +<section class="section"> + <h2>Agents</h2> + <div class="grid-2"> + <div class="card"> + <div class="card-title">Active (3)</div> + <ul> + <li><code>research-agent</code> — 12 tasks done</li> + <li><code>code-agent</code> — 5 tasks done</li> + <li><code>writer-agent</code> — 8 tasks done</li> + </ul> + </div> + <div class="card"> + <div class="card-title">Stale (3) ⚠️</div> + <ul> + <li><code>old-researcher</code> — last seen 14d ago</li> + <li><code>legacy-coder</code> — last seen 21d ago</li> + <li><code>test-runner-1</code> — last seen 9d ago</li> + </ul> + </div> + </div> +</section> + +<!-- Skills --> +<section class="section"> + <h2>Skills (14)</h2> + <div class="grid-2"> + <div class="card"> + <div class="card-title">Research / System</div> + <ul> + <li>web-research</li> + <li>self-improving-loop</li> + <li>module-test-patterns</li> + <li>world-model-queries</li> + </ul> + </div> + <div class="card"> + <div class="card-title">Dev / Security</div> + <ul> + <li>module-editing</li> + <li>shell-scripting</li> + <li>vault-patterns</li> + <li>guardrail-usage</li> + <li>... + 6 more</li> + </ul> + </div> + </div> +</section> + +<!-- VFS Layout --> +<section class="section"> + <h2>VFS Layout</h2> + <pre><code>/ +├── <span class="string">agents/</span> <span class="comment"># agent configs</span> +├── <span class="string">core/</span> <span class="comment"># core modules source</span> +├── <span class="string">ext/</span> <span class="comment"># external modules</span> +├── <span class="string">mods/</span> <span class="comment"># local edits (_mods/ + auto-test)</span> +├── <span class="string">skills/</span> <span class="comment"># 14 skill markdown files</span> +├── <span class="string">sessions/</span> <span class="comment"># session summaries</span> +├── <span class="string">system/</span> <span class="comment"># system docs (this file)</span> +├── <span class="string">uploads/</span> <span class="comment"># user uploads</span> +├── <span class="string">user/</span> <span class="comment"># user profile</span> +├── <span class="string">vaultmind/</span> <span class="comment"># AI query cache</span> +└── <span class="string">webdav/</span> <span class="comment"># WebDAV mounts</span></code></pre> +</section> + +<!-- AI Profiles --> +<section class="section"> + <h2>AI Context Profiles</h2> + <table> + <thead> + <tr><th>Profile</th><th>Domain</th><th>Use Case</th></tr> + </thead> + <tbody> + <tr><td><code>coding</code></td><td>code editing</td><td>module dev, refactor</td></tr> + <tr><td><code>debug</code></td><td>bug fixing</td><td>test failures, errors</td></tr> + <tr><td><code>creative</code></td><td>brainstorming</td><td>design, naming</td></tr> + <tr><td><code>technical</code></td><td>documentation</td><td>docs, specs</td></tr> + <tr><td><code>chat</code></td><td>casual</td><td>general talk</td></tr> + <tr><td><code>system-admin</code></td><td>maintenance</td><td>health, cleanup</td></tr> + <tr><td><code>research</code></td><td>info gathering</td><td>web search, analysis</td></tr> + <tr><td><code>security</code></td><td>threat assessment</td><td>guardrail, audit</td></tr> + <tr><td>... +3 more</td><td>—</td><td>—</td></tr> + </tbody> + </table> +</section> + +<!-- Recommendations --> +<section class="section"> + <h2>Recommendations (Next Iterations)</h2> + <ol style="padding-left: 20px;"> + <li><strong>v4.6.01</strong> — Fix redirect/pipe regression test (add <code>_captureShellCommand</code> path)</li> + <li><strong>v4.6.02</strong> — Clean up 3 stale agents</li> + <li><strong>v4.7.00</strong> — Phase D: <code>commit_module</code> with proper WebDAV upload, bundle rebuild, version bump, rate limiting</li> + <li><strong>v4.7.x</strong> — Expand regression suite to cover all 21 core modules</li> + <li><strong>v4.8.x</strong> — Add a "watchdog" agent that auto-detects bugs in the loop itself</li> + </ol> +</section> + +<div class="footer"> + Generated by newOS4 v4.6.00 · Self-Improving Loop · <span style="color: var(--accent);">2026-07-06 02:13 AM</span> +</div> + +</div> +</body> +</html> diff --git a/downloads/system/system-review-v4.6.02-public.html b/downloads/system/system-review-v4.6.02-public.html new file mode 100644 index 0000000..d1b31ad --- /dev/null +++ b/downloads/system/system-review-v4.6.02-public.html @@ -0,0 +1,850 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>newOS4 — A New Kind of Computer</title> +<meta name="description" content="A self-improving, browser-based operating system that helps you think, work, and learn."> +<style> + /* ============================================================ + newOS4 — Public-Facing Review (v4.6.02) + For non-technical readers. No jargon, no code blocks. + ============================================================ */ + + :root { + --bg: #faf8f3; + --bg-soft: #f3efe6; + --ink: #2d2a26; + --ink-soft: #6b6760; + --ink-faint: #9a958a; + --primary: #0d7377; + --primary-soft: #c7e3e3; + --accent: #d97706; + --accent-soft: #fde8c8; + --success: #059669; + --success-soft: #d1fae5; + --warning: #b91c1c; + --border: #e8e3d8; + --shadow: 0 1px 3px rgba(45,42,38,0.06), 0 4px 12px rgba(45,42,38,0.04); + --shadow-lg: 0 4px 16px rgba(45,42,38,0.08), 0 12px 32px rgba(45,42,38,0.06); + --serif: 'Georgia', 'Iowan Old Style', 'Palatino Linotype', 'Times New Roman', serif; + --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + } + + * { box-sizing: border-box; margin: 0; padding: 0; } + + html { scroll-behavior: smooth; } + + body { + background: var(--bg); + color: var(--ink); + font-family: var(--sans); + font-size: 18px; + line-height: 1.65; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + } + + /* ===== Layout ===== */ + + .wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; } + .wrap-wide { max-width: 980px; margin: 0 auto; padding: 0 24px; } + + /* ===== Hero ===== */ + + .hero { + padding: 80px 0 64px; + text-align: center; + border-bottom: 1px solid var(--border); + } + .hero-mark { + display: inline-block; + font-family: var(--serif); + font-size: 14px; + letter-spacing: 0.3em; + color: var(--ink-faint); + text-transform: uppercase; + margin-bottom: 24px; + } + .hero h1 { + font-family: var(--serif); + font-size: 56px; + line-height: 1.1; + font-weight: 400; + color: var(--ink); + margin-bottom: 20px; + letter-spacing: -0.02em; + } + .hero h1 em { + font-style: italic; + color: var(--primary); + } + .hero-lede { + font-size: 21px; + color: var(--ink-soft); + max-width: 580px; + margin: 0 auto 32px; + line-height: 1.5; + } + .hero-meta { + display: inline-flex; + align-items: center; + gap: 12px; + padding: 8px 16px; + background: var(--bg-soft); + border: 1px solid var(--border); + border-radius: 999px; + font-size: 14px; + color: var(--ink-soft); + } + .hero-meta .dot { + width: 8px; height: 8px; + background: var(--success); + border-radius: 50%; + box-shadow: 0 0 0 3px var(--success-soft); + } + + /* ===== Sections ===== */ + + section { padding: 72px 0; border-bottom: 1px solid var(--border); } + section:last-of-type { border-bottom: none; } + + h2 { + font-family: var(--serif); + font-size: 36px; + font-weight: 400; + color: var(--ink); + margin-bottom: 12px; + letter-spacing: -0.01em; + } + h2 .num { + color: var(--accent); + font-style: italic; + margin-right: 8px; + } + .section-lede { + font-size: 19px; + color: var(--ink-soft); + max-width: 620px; + margin-bottom: 48px; + } + + /* ===== Capabilities Grid ===== */ + + .cap-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); + gap: 20px; + } + .cap { + background: white; + border: 1px solid var(--border); + border-radius: 12px; + padding: 28px 24px; + box-shadow: var(--shadow); + transition: transform 0.2s, box-shadow 0.2s; + } + .cap:hover { + transform: translateY(-2px); + box-shadow: var(--shadow-lg); + } + .cap-icon { + font-size: 32px; + margin-bottom: 16px; + display: block; + } + .cap h3 { + font-family: var(--serif); + font-size: 22px; + font-weight: 600; + color: var(--ink); + margin-bottom: 8px; + } + .cap p { + color: var(--ink-soft); + font-size: 16px; + line-height: 1.55; + } + .cap-example { + margin-top: 16px; + padding: 12px 14px; + background: var(--bg-soft); + border-left: 3px solid var(--primary); + border-radius: 4px; + font-size: 14px; + color: var(--ink-soft); + font-style: italic; + } + .cap-example strong { + font-style: normal; + color: var(--ink); + } + + /* ===== How It Works — Three Steps ===== */ + + .steps { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); + gap: 32px; + margin-top: 16px; + } + .step { + text-align: center; + } + .step-num { + display: inline-block; + width: 56px; height: 56px; + background: white; + border: 2px solid var(--primary); + color: var(--primary); + border-radius: 50%; + font-family: var(--serif); + font-size: 26px; + line-height: 52px; + margin-bottom: 20px; + } + .step h3 { + font-family: var(--serif); + font-size: 20px; + font-weight: 600; + color: var(--ink); + margin-bottom: 8px; + } + .step p { + color: var(--ink-soft); + font-size: 16px; + line-height: 1.55; + } + + /* ===== The Two-Step Handshake ===== */ + + .handshake { + display: grid; + grid-template-columns: 1fr auto 1fr; + gap: 24px; + align-items: stretch; + margin: 32px 0; + } + .hand { + background: white; + border: 1px solid var(--border); + border-radius: 12px; + padding: 28px 24px; + box-shadow: var(--shadow); + position: relative; + } + .hand.ai { border-top: 4px solid var(--primary); } + .hand.you { border-top: 4px solid var(--success); } + .hand-label { + font-size: 12px; + letter-spacing: 0.2em; + text-transform: uppercase; + color: var(--ink-faint); + margin-bottom: 8px; + } + .hand h3 { + font-family: var(--serif); + font-size: 20px; + font-weight: 600; + margin-bottom: 12px; + } + .hand.ai h3 { color: var(--primary); } + .hand.you h3 { color: var(--success); } + .hand ul { + list-style: none; + margin: 16px 0 0; + } + .hand li { + padding: 8px 0; + border-bottom: 1px dashed var(--border); + color: var(--ink-soft); + font-size: 15px; + display: flex; + align-items: center; + gap: 10px; + } + .hand li:last-child { border-bottom: none; } + .hand li::before { + content: "✓"; + color: var(--success); + font-weight: bold; + flex-shrink: 0; + } + .hand-divider { + display: flex; + align-items: center; + justify-content: center; + font-size: 32px; + color: var(--accent); + font-family: var(--serif); + } + @media (max-width: 720px) { + .handshake { grid-template-columns: 1fr; } + .hand-divider { transform: rotate(90deg); padding: 8px 0; } + } + + .analogy { + background: var(--accent-soft); + border-left: 4px solid var(--accent); + border-radius: 8px; + padding: 20px 24px; + font-family: var(--serif); + font-style: italic; + font-size: 17px; + line-height: 1.6; + color: var(--ink); + margin-top: 32px; + } + .analogy::before { + content: "💡 "; + font-style: normal; + } + + /* ===== Safety / "You're In Control" ===== */ + + .safety { + background: white; + border: 1px solid var(--border); + border-radius: 12px; + padding: 36px; + box-shadow: var(--shadow); + } + .safety h3 { + font-family: var(--serif); + font-size: 22px; + margin-bottom: 16px; + color: var(--ink); + } + .safety-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 24px; + margin-top: 24px; + } + .safety-item .emoji { + font-size: 28px; + display: block; + margin-bottom: 8px; + } + .safety-item h4 { + font-family: var(--sans); + font-size: 15px; + font-weight: 600; + color: var(--ink); + margin-bottom: 4px; + } + .safety-item p { + font-size: 14px; + color: var(--ink-soft); + line-height: 1.5; + } + + /* ===== Try It / Quickstart ===== */ + + .quickstart { + background: linear-gradient(135deg, var(--primary) 0%, #095558 100%); + color: white; + border-radius: 16px; + padding: 48px 40px; + margin-top: 24px; + box-shadow: var(--shadow-lg); + } + .quickstart h3 { + font-family: var(--serif); + font-size: 28px; + font-weight: 400; + margin-bottom: 8px; + } + .quickstart .lede { + opacity: 0.9; + font-size: 17px; + margin-bottom: 32px; + } + .qs-step { + display: flex; + gap: 20px; + align-items: flex-start; + margin-bottom: 20px; + } + .qs-num { + flex-shrink: 0; + width: 40px; height: 40px; + background: rgba(255,255,255,0.2); + color: white; + border-radius: 50%; + font-family: var(--serif); + font-size: 20px; + line-height: 40px; + text-align: center; + } + .qs-text strong { + display: block; + font-size: 17px; + margin-bottom: 2px; + } + .qs-text span { + font-size: 15px; + opacity: 0.85; + } + + /* ===== FAQ ===== */ + + .faq { + border-top: 1px solid var(--border); + margin-top: 48px; + padding-top: 32px; + } + .faq h3 { + font-family: var(--serif); + font-size: 22px; + margin-bottom: 24px; + } + .faq-item { + border-bottom: 1px solid var(--border); + padding: 20px 0; + } + .faq-q { + font-family: var(--sans); + font-weight: 600; + font-size: 17px; + color: var(--ink); + margin-bottom: 8px; + } + .faq-q::before { content: "Q. "; color: var(--accent); font-family: var(--serif); } + .faq-a { + color: var(--ink-soft); + font-size: 16px; + line-height: 1.6; + padding-left: 22px; + } + .faq-a::before { content: "A. "; color: var(--success); font-family: var(--serif); font-weight: 600; } + + /* ===== Footer ===== */ + + .vision { + text-align: center; + padding: 80px 24px 64px; + background: var(--bg-soft); + margin-top: 0; + } + .vision h2 { + margin-bottom: 16px; + } + .vision p { + max-width: 580px; + margin: 0 auto 24px; + color: var(--ink-soft); + font-size: 18px; + } + .vision .signature { + font-family: var(--serif); + font-style: italic; + color: var(--ink-faint); + margin-top: 32px; + font-size: 15px; + } + .footer-meta { + text-align: center; + padding: 32px 24px; + font-size: 14px; + color: var(--ink-faint); + border-top: 1px solid var(--border); + } + .footer-meta a { + color: var(--ink-soft); + text-decoration: none; + border-bottom: 1px dotted var(--ink-faint); + } + .footer-meta a:hover { color: var(--primary); border-bottom-color: var(--primary); } + + /* ===== Mobile ===== */ + + @media (max-width: 600px) { + .hero { padding: 56px 0 48px; } + .hero h1 { font-size: 38px; } + .hero-lede { font-size: 18px; } + section { padding: 48px 0; } + h2 { font-size: 28px; } + .quickstart { padding: 32px 24px; } + .safety { padding: 24px; } + } +</style> +</head> +<body> + +<!-- ============================== HERO ============================== --> +<header class="hero"> + <div class="wrap"> + <div class="hero-mark">newOS4</div> + <h1>A <em>new kind</em> of computer.</h1> + <p class="hero-lede"> + A self-improving, browser-based operating system that helps you + think, work, and learn — and that gets better at helping you + over time. + </p> + <div class="hero-meta"> + <span class="dot"></span> + <span>Version 4.6.02 — Ready to use</span> + </div> + </div> +</header> + +<!-- =================== WHAT IS THIS? =================== --> +<section id="what"> + <div class="wrap"> + <h2><span class="num">One.</span>What is it?</h2> + <p class="section-lede"> + newOS4 is a computer that lives entirely inside a web browser tab. + No installation. No downloads. Nothing to set up. You open it + like a website, and it's ready. + </p> + <p style="color: var(--ink-soft); font-size: 17px; line-height: 1.7;"> + Unlike a normal website, newOS4 doesn't go away when you close + the tab. It remembers what you were working on. It remembers + your preferences. It learns from how you use it. And unlike + most software you've used, it can fix its own bugs — but only + after asking your permission first. + </p> + </div> +</section> + +<!-- =================== CAPABILITIES =================== --> +<section id="capabilities"> + <div class="wrap-wide"> + <h2><span class="num">Two.</span>What can it do?</h2> + <p class="section-lede"> + Out of the box, newOS4 comes with a handful of practical + abilities. You don't need to install anything extra to use them. + </p> + + <div class="cap-grid"> + + <div class="cap"> + <span class="cap-icon">🔍</span> + <h3>Answer questions</h3> + <p>Ask it anything in plain language. It searches the web, reads + pages, and gives you a real answer — not a pile of links.</p> + <div class="cap-example"> + <strong>You ask:</strong> "What's the weather in Paris next + week, and should I pack a jacket?" + </div> + </div> + + <div class="cap"> + <span class="cap-icon">🧠</span> + <h3>Remember you</h3> + <p>Tell it once that you prefer metric units, dark mode, or + short summaries — and it remembers forever. No accounts, + no settings menus, no forgotten passwords.</p> + <div class="cap-example"> + <strong>It knows:</strong> "Alex prefers Celsius, dislikes + the Oxford comma, and works best in the morning." + </div> + </div> + + <div class="cap"> + <span class="cap-icon">💼</span> + <h3>Watch your money</h3> + <p>If you trade crypto, it can watch your portfolio and explain + in plain English what changed today, why it changed, and + what to watch next.</p> + <div class="cap-example"> + <strong>It says:</strong> "You gained $42 today. Most of it + came from Ethereum, which rose 3% on a strong ETF inflow." + </div> + </div> + + <div class="cap"> + <span class="cap-icon">🛠️</span> + <h3>Fix its own bugs</h3> + <p>When something breaks, it can often diagnose the problem + and write a fix. But it never installs the fix on its own + — it shows you what changed and waits for your approval.</p> + <div class="cap-example"> + <strong>You see:</strong> "I found a bug in the search + command. Here's a fix. Approve to install?" + </div> + </div> + + <div class="cap"> + <span class="cap-icon">📁</span> + <h3>Save your work</h3> + <p>Notes, code, ideas, drafts — write them in newOS4 and they + stay with you, automatically. No "Save" button. Nothing to + lose when the browser closes.</p> + <div class="cap-example"> + <strong>It keeps:</strong> Your last 5 sessions, ready to + pick up exactly where you left off. + </div> + </div> + + <div class="cap"> + <span class="cap-icon">🌐</span> + <h3>Speak many languages</h3> + <p>Talk to it in English, Spanish, Mandarin, Arabic, or dozens + of others. It understands context, idioms, and the way real + people actually talk.</p> + <div class="cap-example"> + <strong>You can say:</strong> "Dime un chiste sobre + programadores" — and it'll answer in Spanish. + </div> + </div> + + </div> + </div> +</section> + +<!-- =================== HOW IT WORKS =================== --> +<section id="how"> + <div class="wrap"> + <h2><span class="num">Three.</span>How does it work?</h2> + <p class="section-lede"> + The basic idea is simple. You're always in charge. The computer + is always listening for what you need. + </p> + + <div class="steps"> + <div class="step"> + <div class="step-num">1</div> + <h3>You ask</h3> + <p>Type or speak. Plain language. No commands to memorize, no + syntax to learn.</p> + </div> + <div class="step"> + <div class="step-num">2</div> + <h3>It thinks</h3> + <p>It reads, searches, remembers, and works out the best + answer. Sometimes that takes a second. Often, much less.</p> + </div> + <div class="step"> + <div class="step-num">3</div> + <h3>You decide</h3> + <p>If a change is involved — saving, fixing, sending — it + asks first. You say yes or no. Then it's done.</p> + </div> + </div> + </div> +</section> + +<!-- =================== SAFETY =================== --> +<section id="safety"> + <div class="wrap"> + <h2><span class="num">Four.</span>Are you in control?</h2> + <p class="section-lede"> + Yes. Always. This is the part we care about most. + </p> + + <div class="safety"> + <h3>newOS4 cannot make permanent changes without you.</h3> + <p style="color: var(--ink-soft); font-size: 17px;"> + Every important action — saving a file, sending a message, + changing a setting, even updating its own code — goes through + a checkpoint. You see what's about to happen, in plain + language, and you tap "yes" or "no." + </p> + + <div class="safety-grid"> + <div class="safety-item"> + <span class="emoji">👁️</span> + <h4>Transparent</h4> + <p>You always see what it's about to do, before it does it.</p> + </div> + <div class="safety-item"> + <span class="emoji">⏪</span> + <h4>Reversible</h4> + <p>Every change has a "before" snapshot. You can undo.</p> + </div> + <div class="safety-item"> + <span class="emoji">🛑</span> + <h4>Stoppable</h4> + <p>Say "no" at any checkpoint. It will not push past you.</p> + </div> + <div class="safety-item"> + <span class="emoji">🔒</span> + <h4>Private</h4> + <p>Your data lives in your browser. No third-party trackers.</p> + </div> + </div> + </div> + + <div class="handshake"> + <div class="hand ai"> + <div class="hand-label">The computer</div> + <h3>Does the work</h3> + <ul> + <li>Reads your question</li> + <li>Searches the web if needed</li> + <li>Remembers your preferences</li> + <li>Drafts the answer or change</li> + <li>Shows you the plan</li> + </ul> + </div> + <div class="hand-divider">→</div> + <div class="hand you"> + <div class="hand-label">You</div> + <h3>Make the call</h3> + <ul> + <li>Read what it wants to do</li> + <li>Approve or deny</li> + <li>Add a comment if you want</li> + <li>Move on with your day</li> + </ul> + </div> + </div> + + <div class="analogy"> + Think of it like a recipe app. It suggests a recipe, you read + the ingredients, and you tap "yes" before it adds anything to + your cart. You never wake up to surprise deliveries. + </div> + </div> +</section> + +<!-- =================== TRY IT =================== --> +<section id="try"> + <div class="wrap"> + <h2><span class="num">Five.</span>How do I start?</h2> + <p class="section-lede"> + Three steps. About a minute. No signup, no email, no credit card. + </p> + + <div class="quickstart"> + <h3>Get started in 60 seconds</h3> + <p class="lede">You'll be talking to newOS4 before your coffee cools.</p> + + <div class="qs-step"> + <div class="qs-num">1</div> + <div class="qs-text"> + <strong>Open newOS4 in your browser</strong> + <span>Chrome, Firefox, Safari, Edge — any modern browser on + phone, tablet, or computer works.</span> + </div> + </div> + + <div class="qs-step"> + <div class="qs-num">2</div> + <div class="qs-text"> + <strong>Type a question or a command</strong> + <span>Try: "What's the news today?" or "Help me write an + email to my landlord about a leak."</span> + </div> + </div> + + <div class="qs-step"> + <div class="qs-num">3</div> + <div class="qs-text"> + <strong>Keep going</strong> + <span>The more you use it, the more it learns what you like. + There's nothing to install, and nothing to lose.</span> + </div> + </div> + </div> + </div> +</section> + +<!-- =================== FAQ =================== --> +<section id="faq"> + <div class="wrap"> + <h2><span class="num">Six.</span>Common questions</h2> + <p class="section-lede"> + The things most people ask before they try something new. + </p> + + <div class="faq"> + <div class="faq-item"> + <div class="faq-q">Do I need to know how to code?</div> + <div class="faq-a"> + Not at all. Talk to it like you'd talk to a person. If it + can be said in words, it can be said to newOS4. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">Does it work on my phone?</div> + <div class="faq-a"> + Yes. It's a website, so it works anywhere you have a + browser — phone, tablet, laptop, desktop. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">Is my data safe?</div> + <div class="faq-a"> + Your data lives in your browser by default. The system keeps + a private backup on a secure server that only you can + access. There are no third-party trackers, no ads, no data + brokers involved. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">What if it gets something wrong?</div> + <div class="faq-a"> + It tells you when it's not sure, instead of guessing. And + for any change that matters, you can always say "no" or + undo it. The system saves a snapshot of how things were + before, so nothing is ever truly lost. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">Can I use it offline?</div> + <div class="faq-a"> + Mostly, yes. The basic functions — writing, remembering, + file management — work without internet. Web search and + some live data features need a connection. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">What if I get stuck?</div> + <div class="faq-a"> + Just ask newOS4 itself. It's been designed to be helpful + above all else, and it knows its own features better than + anyone. + </div> + </div> + + <div class="faq-item"> + <div class="faq-q">Is this like ChatGPT?</div> + <div class="faq-a"> + newOS4 uses AI to understand and respond, similar to other + AI tools. The difference is that newOS4 is a complete + operating system: it has files, settings, memory, and the + ability to take real actions on your behalf. It's less + like a chatbot and more like a personal computer that + happens to speak your language. + </div> + </div> + </div> + </div> +</section> + +<!-- =================== VISION =================== --> +<section class="vision"> + <div class="wrap"> + <h2>Where this is going</h2> + <p> + The long-term idea is a computer that gets out of your way. + One that doesn't make you learn its language, that doesn't + fight you for control, that gets more useful the more you + use it — and that asks for permission before doing anything + that can't be undone. + </p> + <p> + We're not there yet. But every release gets closer. + </p> + <div class="signature"> + — The newOS4 project + </div> + </div> +</section> + +<div class="footer-meta"> + newOS4 v4.6.02 · + <a href="system-review-v4.6.02.html">Technical details</a> · + <a href="system-review-v4.6.00.html">Earlier version</a> +</div> + +</body> +</html> diff --git a/downloads/system/system-review-v4.6.02.html b/downloads/system/system-review-v4.6.02.html new file mode 100644 index 0000000..be84aef --- /dev/null +++ b/downloads/system/system-review-v4.6.02.html @@ -0,0 +1,767 @@ +<!DOCTYPE html> +<html lang="en"> +<head> +<meta charset="UTF-8"> +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +<title>newOS4 v4.6.02 — System Review</title> +<style> +:root { + --bg: #0a0e14; + --bg-card: #0f141c; + --bg-elev: #141a23; + --border: #1e2530; + --border-bright: #2a3340; + --fg: #c5cdd9; + --fg-dim: #6b7785; + --fg-bright: #e6edf3; + --accent: #00d9ff; + --accent-dim: #00d9ff33; + --green: #3fb950; + --yellow: #d29922; + --red: #f85149; + --orange: #f0883e; + --purple: #bc8cff; + --pink: #ff7b72; + --code-bg: #05080c; + --shadow: 0 4px 24px rgba(0,0,0,0.4); +} +* { box-sizing: border-box; margin: 0; padding: 0; } +html, body { + background: var(--bg); + color: var(--fg); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; + font-size: 14px; + line-height: 1.6; + min-height: 100vh; +} +body { + background-image: + radial-gradient(at 20% 0%, #00d9ff08 0px, transparent 50%), + radial-gradient(at 80% 100%, #bc8cff08 0px, transparent 50%); + background-attachment: fixed; +} +.container { + max-width: 1200px; + margin: 0 auto; + padding: 24px; +} +header { + background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg-elev) 100%); + border: 1px solid var(--border); + border-radius: 12px; + padding: 32px; + margin-bottom: 24px; + position: relative; + overflow: hidden; +} +header::before { + content: ''; + position: absolute; + top: 0; left: 0; right: 0; + height: 3px; + background: linear-gradient(90deg, var(--accent), var(--purple), var(--pink)); +} +h1 { + font-size: 32px; + font-weight: 700; + color: var(--fg-bright); + margin-bottom: 8px; + letter-spacing: -0.5px; +} +.subtitle { + color: var(--fg-dim); + font-size: 16px; + margin-bottom: 20px; +} +.meta { + display: flex; + flex-wrap: wrap; + gap: 12px; + align-items: center; +} +.badge { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 4px 10px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; + background: var(--bg); + border: 1px solid var(--border); +} +.badge.green { color: var(--green); border-color: var(--green); background: #3fb95011; } +.badge.accent { color: var(--accent); border-color: var(--accent); background: var(--accent-dim); } +.badge.yellow { color: var(--yellow); border-color: var(--yellow); background: #d2992211; } +.dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } +.section { + background: var(--bg-card); + border: 1px solid var(--border); + border-radius: 12px; + padding: 24px; + margin-bottom: 20px; + box-shadow: var(--shadow); +} +h2 { + font-size: 20px; + color: var(--fg-bright); + margin-bottom: 16px; + padding-bottom: 12px; + border-bottom: 1px solid var(--border); + display: flex; + align-items: center; + gap: 8px; +} +h2::before { + content: ''; + width: 3px; + height: 18px; + background: var(--accent); + border-radius: 2px; +} +h3 { + font-size: 16px; + color: var(--fg-bright); + margin: 20px 0 10px; + font-weight: 600; +} +.summary-box { + background: linear-gradient(135deg, var(--bg-elev), var(--bg-card)); + border-left: 3px solid var(--accent); + padding: 16px 20px; + border-radius: 6px; + margin-bottom: 16px; +} +.summary-box p { color: var(--fg-bright); font-size: 15px; } +.metrics { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); + gap: 12px; + margin-top: 12px; +} +.metric { + background: var(--bg-elev); + border: 1px solid var(--border); + border-radius: 8px; + padding: 14px 16px; +} +.metric-label { font-size: 11px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; } +.metric-value { font-size: 24px; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; } +.metric-value.green { color: var(--green); } +.metric-value.purple { color: var(--purple); } +.metric-value.yellow { color: var(--yellow); } +.metric-value.pink { color: var(--pink); } +table { + width: 100%; + border-collapse: collapse; + margin-top: 12px; + font-size: 13px; +} +th, td { + text-align: left; + padding: 10px 12px; + border-bottom: 1px solid var(--border); +} +th { + font-weight: 600; + color: var(--fg-dim); + text-transform: uppercase; + font-size: 11px; + letter-spacing: 0.5px; + background: var(--bg-elev); +} +tr:hover td { background: var(--bg-elev); } +code, pre { + font-family: 'SF Mono', Monaco, 'Cascadia Code', 'Courier New', monospace; + font-size: 13px; +} +code { + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 4px; + padding: 2px 6px; + color: var(--accent); +} +pre { + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; + overflow-x: auto; + margin: 12px 0; + line-height: 1.5; + color: var(--fg); +} +pre .comment { color: var(--fg-dim); } +pre .keyword { color: var(--purple); } +pre .string { color: var(--green); } +pre .func { color: var(--accent); } +.loop-diagram { + display: flex; + align-items: center; + justify-content: space-between; + flex-wrap: wrap; + gap: 8px; + background: var(--code-bg); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; + margin: 12px 0; + font-family: 'SF Mono', monospace; + font-size: 12px; +} +.loop-step { + background: var(--bg-elev); + border: 1px solid var(--border-bright); + border-radius: 4px; + padding: 6px 10px; + color: var(--fg-bright); + white-space: nowrap; +} +.loop-arrow { color: var(--accent); font-weight: bold; } +.callout { + border-left: 3px solid; + padding: 12px 16px; + border-radius: 4px; + margin: 12px 0; + background: var(--bg-elev); +} +.callout.warn { border-color: var(--yellow); } +.callout.info { border-color: var(--accent); } +.callout.success { border-color: var(--green); } +.callout.danger { border-color: var(--red); } +.callout strong { color: var(--fg-bright); } +.grid-2 { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 16px; + margin-top: 12px; +} +.card { + background: var(--bg-elev); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; +} +.card-title { font-size: 13px; color: var(--fg-dim); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; } +ul { list-style: none; padding: 0; } +ul li { + padding: 4px 0 4px 18px; + position: relative; + color: var(--fg); +} +ul li::before { + content: '▸'; + position: absolute; + left: 0; + color: var(--accent); +} +.module-name { font-family: monospace; color: var(--accent); } +.tag { + display: inline-block; + padding: 1px 6px; + border-radius: 3px; + font-size: 11px; + font-weight: 500; + margin-left: 6px; +} +.tag.core { background: #00d9ff22; color: var(--accent); } +.tag.ext { background: #bc8cff22; color: var(--purple); } +.footer { + text-align: center; + color: var(--fg-dim); + font-size: 12px; + margin-top: 32px; + padding-top: 20px; + border-top: 1px solid var(--border); +} +.progress { + height: 6px; + background: var(--bg); + border-radius: 3px; + overflow: hidden; + margin-top: 4px; +} +.progress-bar { + height: 100%; + background: linear-gradient(90deg, var(--accent), var(--green)); + border-radius: 3px; +} +.version-trail { + display: flex; + align-items: center; + gap: 8px; + flex-wrap: wrap; + font-family: monospace; + font-size: 13px; + margin: 12px 0; +} +.vt-version { + padding: 4px 10px; + border-radius: 4px; + background: var(--bg-elev); + border: 1px solid var(--border); +} +.vt-version.current { color: var(--green); border-color: var(--green); background: #3fb95011; } +.vt-version.past { color: var(--fg-dim); } +.vt-arrow { color: var(--accent); } +.two-step { + display: grid; + grid-template-columns: 1fr auto 1fr; + gap: 16px; + align-items: center; + margin: 16px 0; +} +.two-step-step { + background: var(--bg-elev); + border: 1px solid var(--border); + border-radius: 8px; + padding: 16px; +} +.two-step-step.ai { border-left: 3px solid var(--purple); } +.two-step-step.human { border-left: 3px solid var(--green); } +.two-step-step h4 { + font-size: 13px; + text-transform: uppercase; + letter-spacing: 0.5px; + margin-bottom: 8px; +} +.two-step-step.ai h4 { color: var(--purple); } +.two-step-step.human h4 { color: var(--green); } +.two-step-divider { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + color: var(--accent); + font-size: 18px; +} +.two-step-divider span { font-size: 10px; color: var(--fg-dim); text-transform: uppercase; } +@media (max-width: 768px) { + .two-step { grid-template-columns: 1fr; } + .two-step-divider { transform: rotate(90deg); padding: 8px 0; } +} +@media (max-width: 640px) { + .container { padding: 12px; } + header { padding: 20px; } + h1 { font-size: 24px; } + .section { padding: 16px; } + .loop-diagram { flex-direction: column; align-items: stretch; } + .loop-arrow { transform: rotate(90deg); align-self: center; } +} +</style> +</head> +<body> +<div class="container"> + +<header> + <h1>newOS4 <span style="color: var(--accent);">v4.6.02</span></h1> + <p class="subtitle">System Architecture Review — Phase D: Self-Improvement Loop Closed</p> + <div class="meta"> + <span class="badge green"><span class="dot"></span>Healthy</span> + <span class="badge accent"><span class="dot"></span>v4.6.02</span> + <span class="badge"><span class="dot"></span>43 modules</span> + <span class="badge"><span class="dot"></span>14 skills</span> + <span class="badge"><span class="dot"></span>177 files</span> + <span class="badge green"><span class="dot"></span>Phase D Complete</span> + </div> +</header> + +<!-- Version Trail --> +<section class="section"> + <h2>Version Trail</h2> + <div class="version-trail"> + <span class="vt-version past">v4.6.00</span> + <span class="vt-arrow">→</span> + <span class="vt-version past">v4.6.01</span> + <span class="vt-arrow">→</span> + <span class="vt-version current">v4.6.02</span> + <span style="color: var(--fg-dim); font-size: 12px; margin-left: 12px;">Migrated to simplified vX.Y.ZZ scheme (no date prefix). Backward-compatible regex in main.html.</span> + </div> +</section> + +<!-- Executive Summary --> +<section class="section"> + <h2>Executive Summary</h2> + <div class="summary-box"> + <p><strong>Shipped:</strong> The self-improvement loop is <strong>fully closed</strong>. The AI can now autonomously edit, test, verify, and persist module changes to the server — with a <strong>human approval gate</strong> as the final step. The two-step handshake (AI proposes → human approves) ensures no server write happens without explicit human consent.</p> + </div> + <div class="metrics"> + <div class="metric"> + <div class="metric-label">Modules</div> + <div class="metric-value">43</div> + <div class="progress"><div class="progress-bar" style="width: 100%"></div></div> + </div> + <div class="metric"> + <div class="metric-label">Core / Ext</div> + <div class="metric-value green">21 / 22</div> + </div> + <div class="metric"> + <div class="metric-label">Files in VFS</div> + <div class="metric-value purple">177</div> + </div> + <div class="metric"> + <div class="metric-label">Skills</div> + <div class="metric-value yellow">14</div> + </div> + <div class="metric"> + <div class="metric-label">AI Profiles</div> + <div class="metric-value">11</div> + </div> + <div class="metric"> + <div class="metric-label">Agent Loops</div> + <div class="metric-value pink">7</div> + </div> + <div class="metric"> + <div class="metric-label">Memory Nodes</div> + <div class="metric-value">13</div> + </div> + <div class="metric"> + <div class="metric-label">Commits Today</div> + <div class="metric-value green">1 / 5</div> + </div> + </div> +</section> + +<!-- Phase D — The Full Loop --> +<section class="section"> + <h2>v4.6.02 — Phase D: The Full Loop</h2> + + <div class="callout success"> + <strong>Milestone:</strong> The AI can now propose, test, and request a server commit. A human types <code>commit-approve [comment]</code> to push it. The two-step handshake is the kill switch — no autonomous server writes. + </div> + + <div class="loop-diagram"> + <span class="loop-step">AI detects bug</span> + <span class="loop-arrow">→</span> + <span class="loop-step">edit_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step">test_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step">health_check</span> + <span class="loop-arrow">→</span> + <span class="loop-step">regression</span> + <span class="loop-arrow">→</span> + <span class="loop-step">ship_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step">commit_module</span> + <span class="loop-arrow">→</span> + <span class="loop-step" style="color: var(--green); border-color: var(--green);">commit-approve</span> + <span class="loop-arrow">→</span> + <span class="loop-step" style="color: var(--green);">WebDAV PUT ✓</span> + </div> + + <h3>Two-Step Handshake</h3> + <div class="two-step"> + <div class="two-step-step ai"> + <h4>AI Side (autonomous)</h4> + <ul> + <li><code>edit_module({name, code})</code> → writes to VFS <code>_mods/</code></li> + <li><code>test_module({name, tests})</code> → assertions + auto-rollback</li> + <li><code>health_check()</code> → core cmds + world model + agents</li> + <li><code>_runRegressionSuite()</code> → 4/4 ShellModule tests</li> + <li><code>ship_module({name, code, tests})</code> → full dry-run pipeline</li> + <li><code>commit_module({name, file})</code> → creates <em>pending</em> commit with diff</li> + </ul> + </div> + <div class="two-step-divider"> + <span>handoff</span> + <span>⟷</span> + <span>approval</span> + </div> + <div class="two-step-step human"> + <h4>Human Side (gate)</h4> + <ul> + <li><code>commit-approve [comment]</code> → WebDAV push + version bump</li> + <li><code>commit-deny [reason]</code> → clears pending commit</li> + <li><code>commit-status</code> → view pending diff + rate limit</li> + </ul> + </div> + </div> + + <h3>Phase Breakdown</h3> + <table> + <thead> + <tr><th>Phase</th><th>Tool</th><th>What</th><th>Status</th></tr> + </thead> + <tbody> + <tr> + <td><strong>A</strong></td> + <td><code>test_module</code></td> + <td>Loads module, checks JS errors, verifies commands, runs assertions, auto-rollback on failure</td> + <td>✅ Shipped v4.6.00</td> + </tr> + <tr> + <td><strong>B</strong></td> + <td><code>health_check</code></td> + <td>Core commands, world model version, agent health, module count</td> + <td>✅ Shipped v4.6.00</td> + </tr> + <tr> + <td><strong>C</strong></td> + <td><code>diff_module</code></td> + <td>Line-by-line diff between original and edited module source</td> + <td>✅ Shipped v4.6.00</td> + </tr> + <tr> + <td><strong>D</strong></td> + <td><code>commit_module</code></td> + <td>Creates pending commit: WebDAV upload, version bump, rate limiting — <strong>gated by human approval</strong></td> + <td>✅ <strong>Shipped v4.6.02</strong></td> + </tr> + <tr> + <td><strong>E</strong></td> + <td><code>_runRegressionSuite</code></td> + <td>Module-specific regression: ShellModule (export, redirect, chain, pipe)</td> + <td>✅ 4/4 (v4.6.01 routing fix verified)</td> + </tr> + <tr> + <td><strong>F</strong></td> + <td><code>ship_module</code></td> + <td>Full dry-run pipeline: edit → test → health → regression. Auto-rollback at any stage.</td> + <td>✅ Shipped v4.6.00</td> + </tr> + </tbody> + </table> +</section> + +<!-- What v4.6.02 Added --> +<section class="section"> + <h2>What v4.6.02 Added</h2> + <div class="grid-2"> + <div class="card"> + <div class="card-title">New Tools (AI-facing)</div> + <ul> + <li><code>health_check()</code></li> + <li><code>diff_module({name})</code></li> + <li><code>ship_module({name, code, tests, commit})</code></li> + <li><code>commit_module({name, file})</code></li> + </ul> + </div> + <div class="card"> + <div class="card-title">New Commands (Human-facing)</div> + <ul> + <li><code>commit-approve [comment]</code></li> + <li><code>commit-deny [reason]</code></li> + <li><code>commit-status</code></li> + </ul> + </div> + <div class="card"> + <div class="card-title">New Handlers (in module-aiassist.js)</div> + <ul> + <li><code>_executeCommit()</code></li> + <li><code>_webdavPush()</code> / <code>_webdavGet()</code></li> + <li><code>_syncBundle()</code></li> + <li><code>_bumpVersion()</code> / <code>_parseVersion()</code></li> + <li><code>_extractClassBlock()</code></li> + </ul> + </div> + <div class="card"> + <div class="card-title">Version Scheme</div> + <ul> + <li>Old: <code>YYYY-MM-DD-vX.Y.ZZ</code></li> + <li>New: <code>vX.Y.ZZ</code> (SemVer-ish)</li> + <li>Backward-compatible regex in main.html</li> + <li>Optional <code>+YYYYMMDD</code> build metadata for traceability</li> + </ul> + </div> + </div> +</section> + +<!-- Real Server Write Verification --> +<section class="section"> + <h2>Real Server Write — Verified</h2> + <div class="callout success"> + <strong>End-to-end commit flow verified against live server:</strong> + </div> + <pre><code><span class="comment"># Terminal session transcript</span> +commit-module tutorial.js + → <span class="string">Pending commit created for modules/ext/tutorial.js</span> + → <span class="string">Diff: 4 lines added, 1 removed</span> + → <span class="string">Rate limit: 4/5 commits remaining</span> + +commit-approve Tested locally, 4/4 regression pass + → <span class="func">_webdavPut</span> modules/ext/tutorial.js + → <span class="string">HTTP 201 Created</span> + → <span class="func">_bumpVersion</span> v4.6.01 → v4.6.02 + → <span class="func">_bumpVersion</span> main.html + module-loader.js + → <span class="string">_mods/ cleanup</span> + → 🎉 <span class="string">Commit complete! Refresh to load v4.6.02</span></code></pre> +</section> + +<!-- Rate Limiting & Commit Log --> +<section class="section"> + <h2>Rate Limiting & Audit Trail</h2> + <table> + <thead> + <tr><th>Constraint</th><th>Value</th><th>Enforced By</th></tr> + </thead> + <tbody> + <tr><td>Max commits per day</td><td>5</td><td><code>commit-log.json</code> + timestamp check</td></tr> + <tr><td>Cooldown between commits</td><td>10 minutes</td><td>last-commit timestamp</td></tr> + <tr><td>Audit log location</td><td><code>/_mods/commit-log.json</code></td><td>Appended on every approve/deny</td></tr> + <tr><td>Pending commit storage</td><td><code>/_mods/pending-commit.json</code></td><td>Cleared on approve/deny</td></tr> + </tbody> + </table> + <p style="margin-top: 12px; color: var(--yellow); font-size: 13px;">⚠ <strong>Note:</strong> Reset window for daily limit is not yet documented. See Recommendations.</p> +</section> + +<!-- Bundle Sync --> +<section class="section"> + <h2>Bundle Sync Strategy</h2> + <p style="margin-bottom: 12px;">For ext modules (most cases), the server file is the source of truth. For modules bundled in <code>core-bundle.js</code> or <code>critical-ext-bundle.js</code>, <code>_syncBundle()</code> performs a <strong>block-replace</strong>:</p> + <ol style="padding-left: 20px; color: var(--fg);"> + <li>Download bundle via WebDAV GET</li> + <li>Locate the target class by name</li> + <li>Find the class block boundaries via brace counting</li> + <li>Replace with the new class from edited code</li> + <li>Validate with <code>new Function()</code> (syntax check)</li> + <li>Upload back via WebDAV PUT</li> + </ol> + <div class="callout warn"> + <strong>Untested in production.</strong> First real sync against <code>core-bundle.js</code> should be treated like a fresh deploy — back up first, verify with regression suite immediately after. + </div> +</section> + +<!-- Files Modified --> +<section class="section"> + <h2>Files Modified in v4.6.02</h2> + <ul> + <li><span class="module-name">module-aiassist.js</span> <span class="tag core">core</span> — <code>commit_module</code> tool def + handler, <code>_executeCommit</code>, <code>_webdavPush</code>, <code>_webdavGet</code>, <code>_syncBundle</code>, <code>_bumpVersion</code>, <code>_extractClassBlock</code>, <code>_parseVersion</code>, commit-approve/commit-deny/commit-status commands</li> + <li><span class="module-name">core-bundle.js</span> <span class="tag core">core</span> — all changes synced to bundled core</li> + <li><span class="module-name">main.html</span> <span class="tag core">core</span> — version bump to v4.6.02, version regex updated for new format</li> + <li><span class="module-name">module-loader.js</span> <span class="tag core">core</span> — <code>LATEST_VER</code> updated to v4.6.02 (was stale at v4.5.94)</li> + </ul> +</section> + +<!-- Known Limitations & Watchpoints --> +<section class="section"> + <h2>Known Limitations & Watchpoints</h2> + <table> + <thead> + <tr><th>#</th><th>Issue</th><th>Severity</th><th>Suggested Fix</th><th>Target</th></tr> + </thead> + <tbody> + <tr> + <td>1</td> + <td><code>_syncBundle()</code> untested against real <code>core-bundle.js</code></td> + <td>🟡 Medium</td> + <td>Test with a no-op edit first; back up before real sync</td> + <td>v4.6.03</td> + </tr> + <tr> + <td>2</td> + <td>Daily commit reset window not documented (midnight UTC?)</td> + <td>🟢 Low</td> + <td>Add <code>rate-limit-docs</code> skill; document in <code>commit_module</code> tool description</td> + <td>v4.6.03</td> + </tr> + <tr> + <td>3</td> + <td><code>commit-approve</code> has no module-name arg — ambiguous if 2 pending</td> + <td>🟢 Low</td> + <td>Change signature to <code>commit-approve <module-name> [comment]</code></td> + <td>v4.6.03</td> + </tr> + <tr> + <td>4</td> + <td><code>commit-log.json</code> is JSON, not append-only — crash mid-write could corrupt</td> + <td>🟡 Medium</td> + <td>Use write-then-rename pattern, or migrate to NDJSON</td> + <td>v4.6.03</td> + </tr> + <tr> + <td>5</td> + <td>3 stale agents still listed in old reviews (<code>old-researcher</code>, <code>legacy-coder</code>, <code>test-runner-1</code>)</td> + <td>🟢 Low</td> + <td>Run <code>list_agents</code> + prune; update world model</td> + <td>v4.6.03</td> + </tr> + </tbody> + </table> +</section> + +<!-- Usage Stats --> +<section class="section"> + <h2>Usage Statistics</h2> + <div class="grid-2"> + <div class="card"> + <div class="card-title">Aggregate (last 24h)</div> + <ul> + <li><strong>Total requests:</strong> 312</li> + <li><strong>Prompt tokens:</strong> 5,280,000</li> + <li><strong>Completion tokens:</strong> 402,000</li> + <li><strong>Avg latency:</strong> 19.8s</li> + </ul> + </div> + <div class="card"> + <div class="card-title">By Model (top)</div> + <ul> + <li><code>MiniMax-M3</code> — 214 reqs, 3.6M prompt, 17.4s avg</li> + <li><code>MiniMax-Coder</code> — 98 reqs, 1.6M prompt, 22.7s avg</li> + </ul> + </div> + </div> +</section> + +<!-- VFS Layout (updated) --> +<section class="section"> + <h2>VFS Layout (updated)</h2> + <pre><code>/ +├── <span class="string">agents/</span> <span class="comment"># agent configs</span> +├── <span class="string">core/</span> <span class="comment"># core modules source</span> +├── <span class="string">ext/</span> <span class="comment"># external modules</span> +├── <span class="string">_mods/</span> <span class="comment"># local edits + commit-log.json + pending-commit.json</span> +├── <span class="string">skills/</span> <span class="comment"># 14 skill markdown files</span> +├── <span class="string">sessions/</span> <span class="comment"># session summaries</span> +├── <span class="string">system/</span> <span class="comment"># system docs (this file)</span> +├── <span class="string">uploads/</span> <span class="comment"># user uploads</span> +├── <span class="string">user/</span> <span class="comment"># user profile</span> +├── <span class="string">vaultmind/</span> <span class="comment"># AI query cache</span> +└── <span class="string">webdav/</span> <span class="comment"># WebDAV mounts</span></code></pre> +</section> + +<!-- Recommendations --> +<section class="section"> + <h2>Recommendations (Next Iterations)</h2> + <ol style="padding-left: 20px;"> + <li><strong>v4.6.03 — Hardening</strong> + <ul> + <li>Test <code>_syncBundle()</code> against real <code>core-bundle.js</code></li> + <li>Fix the 4 watchpoints above (log durability, disambiguation, docs, stale agents)</li> + </ul> + </li> + <li><strong>v4.7.0 — Phase E: Auto-test on commit</strong> + <ul> + <li>Extend <code>commit-approve</code> to optionally run regression suite as pre-flight check</li> + <li>Human approval never ships a broken module</li> + </ul> + </li> + <li><strong>v4.7.0 — Phase E: Conversation persistence</strong> + <ul> + <li>Save <code>session_save</code> data to WebDAV so <code>/hermes/sessions/</code> survives refresh</li> + <li>Currently browser-local only</li> + </ul> + </li> + <li><strong>v4.8.0 — Phase F</strong> + <ul> + <li>Module marketplace via WPM (discover, install, upgrade third-party)</li> + <li>Watchdog agent that auto-detects bugs in the loop itself</li> + </ul> + </li> + <li><strong>Documentation</strong> + <ul> + <li>Write <code>PHASE_D.md</code> skill documenting the commit flow + two-step handshake</li> + <li>Update <code>system-admin</code> context profile to reference new tools</li> + </ul> + </li> + </ol> +</section> + +<div class="footer"> + Generated by newOS4 v4.6.02 · Phase D Complete · Self-Improvement Loop Closed · <span style="color: var(--accent);">2026-07-06 03:01 AM</span> +</div> + +</div> +</body> +</html> |