kittybrowse / index.html
SNAPKITTYWEST's picture
push from SNAPKITTYWEST/kittybrowse
39b3fb5 verified
Raw
History Blame Contribute Delete
9.09 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<title>KittyBrowse — Sovereign Agent File Browser</title>
<meta name="description" content="Electron agent browser shell. APL/WASM runtime. NATS mesh + Rust VM bridge + entropy scheduler. Right-join logic. 9/9 tests passing."/>
<meta name="theme-color" content="#0a84ff"/>
<style>
*{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#04040a;--bg1:#060b10;--bg2:#09101a;--border:#1a2030;--text:#e0e0f0;--dim:#555;--blue:#0a84ff;--green:#00ff88;--purple:#bf5af2;--mono:'SF Mono',Monaco,Consolas,monospace}
html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--mono)}
a{color:inherit;text-decoration:none}
.hero{max-width:920px;margin:0 auto;padding:80px 24px 60px;text-align:center}
.mark{display:inline-flex;align-items:center;gap:8px;font-size:9px;letter-spacing:3px;color:var(--blue);border:1px solid #1a2030;border-radius:4px;padding:4px 12px;margin-bottom:32px}
h1{font-size:clamp(28px,5vw,52px);font-weight:700;line-height:1.15;margin-bottom:18px}
h1 span{color:var(--blue)}
.sub{font-size:15px;color:#666;line-height:1.7;max-width:560px;margin:0 auto 40px}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-primary{padding:12px 28px;background:var(--blue);color:#fff;border-radius:8px;font-weight:700;font-size:13px;font-family:var(--mono)}
.btn-ghost{padding:12px 28px;border:1px solid var(--border);color:#888;border-radius:8px;font-size:13px;font-family:var(--mono)}
.screen{max-width:680px;margin:0 auto 72px;background:var(--bg1);border:1px solid var(--border);border-radius:10px;overflow:hidden}
.screen-bar{background:var(--bg2);border-bottom:1px solid var(--border);padding:10px 14px;display:flex;align-items:center;gap:8px}
.dot{width:8px;height:8px;border-radius:50%}
.screen-title{font-size:9px;color:#555;margin-left:6px;letter-spacing:1px}
.screen-body{display:grid;grid-template-columns:200px 1fr;min-height:200px}
.sb{border-right:1px solid var(--border);padding:12px}
.sb-label{font-size:8px;letter-spacing:2px;color:var(--dim);margin-bottom:8px}
.sb-item{font-size:10px;color:#888;padding:4px 6px;border-radius:4px;cursor:pointer;margin-bottom:2px}
.sb-item.active{color:var(--blue);background:#0a84ff15}
.main-pane{padding:12px}
.file-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:4px;font-size:10px;color:#888;cursor:pointer}
.file-row:hover{background:#0a84ff10;color:var(--text)}
.file-icon{width:16px;text-align:center}
.file-name{flex:1}
.file-size{color:var(--dim)}
.file-status{font-size:8px;padding:1px 6px;border-radius:3px}
.s-ok{background:#00ff8815;color:#00ff88;border:1px solid #00ff8825}
.s-seal{background:#0a84ff15;color:#0a84ff;border:1px solid #0a84ff25}
.status-bar{border-top:1px solid var(--border);padding:6px 12px;display:flex;gap:16px;font-size:9px;color:var(--dim)}
.sb-dot{width:5px;height:5px;border-radius:50%;background:var(--green);display:inline-block;margin-right:4px}
.features{max-width:920px;margin:0 auto;padding:0 24px 80px}
.section-label{font-size:9px;letter-spacing:3px;color:var(--dim);margin-bottom:24px;text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.card{background:var(--bg1);border:1px solid var(--border);border-radius:10px;padding:18px 20px}
.card-icon{font-size:18px;margin-bottom:10px}
.card-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:6px}
.card-desc{font-size:11px;color:#555;line-height:1.6}
.tests{max-width:560px;margin:0 auto 60px;background:var(--bg1);border:1px solid var(--border);border-radius:8px;padding:16px 20px}
.test-row{display:flex;align-items:center;gap:10px;font-size:10px;padding:3px 0}
.t-pass{color:#00ff88}
.t-name{color:#888;flex:1}
footer{border-top:1px solid var(--border);padding:20px 24px;text-align:center;font-size:10px;color:var(--dim)}
footer a{color:var(--blue)}
</style>
</head>
<body>
<div class="hero">
<div class="mark">SNAPKITTY SOVEREIGN OS - BUILD LANE</div>
<h1>NATS-native<br><span>agent file browser.</span></h1>
<p class="sub">KittyBrowse is an Electron shell that mounts agent file systems over NATS mesh. APL/WASM runtime, Rust VM bridge, entropy scheduler. Right-join directory logic. 9/9 tests green.</p>
<div class="ctas">
<a class="btn-primary" href="https://github.com/SNAPKITTYWEST/kittybrowse" target="_blank">View Source</a>
<a class="btn-ghost" href="https://collectivekitty.com/apps" target="_blank">App Directory</a>
</div>
</div>
<div class="screen">
<div class="screen-bar">
<div class="dot" style="background:#ff453a"></div>
<div class="dot" style="background:#ffd60a"></div>
<div class="dot" style="background:#00ff88"></div>
<span class="screen-title">KittyBrowse - agent://nova/workspace</span>
</div>
<div class="screen-body">
<div class="sb">
<div class="sb-label">AGENTS</div>
<div class="sb-item active">NOVA</div>
<div class="sb-item">BOB</div>
<div class="sb-item">BIFROST</div>
<div class="sb-item">HERALD</div>
<div class="sb-label" style="margin-top:12px">VOLUMES</div>
<div class="sb-item active">workspace/</div>
<div class="sb-item">worm/</div>
<div class="sb-item">entropy/</div>
</div>
<div class="main-pane">
<div class="file-row"><span class="file-icon">folder</span><span class="file-name">src/</span><span class="file-size">12 items</span></div>
<div class="file-row"><span class="file-icon">file</span><span class="file-name">trust.deed</span><span class="file-size">2.1KB</span><span class="file-status s-seal">WORM</span></div>
<div class="file-row"><span class="file-icon">file</span><span class="file-name">chain.jsonl</span><span class="file-size">44KB</span><span class="file-status s-seal">WORM</span></div>
<div class="file-row"><span class="file-icon">file</span><span class="file-name">session.apl</span><span class="file-size">880B</span><span class="file-status s-ok">APL</span></div>
<div class="file-row"><span class="file-icon">file</span><span class="file-name">entropy.bin</span><span class="file-size">128B</span><span class="file-status s-ok">VM</span></div>
</div>
</div>
<div class="status-bar">
<span><span class="sb-dot"></span>NATS connected</span>
<span>4 agents online</span>
<span>right-join active</span>
<span>9/9 tests pass</span>
</div>
</div>
<div class="features">
<p class="section-label">UNDER THE HOOD</p>
<div class="grid">
<div class="card"><div class="card-icon">network</div><div class="card-title">NATS Mesh</div><div class="card-desc">Mounts agent volumes over NATS subjects. Each agent exposes a file system endpoint. Right-join logic merges overlapping trees.</div></div>
<div class="card"><div class="card-icon">apl</div><div class="card-title">APL/WASM Runtime</div><div class="card-desc">Primary computation engine. APL array operations compiled to WASM for browser-speed execution inside Electron.</div></div>
<div class="card"><div class="card-icon">rust</div><div class="card-title">Rust VM Bridge</div><div class="card-desc">Rust VM handles entropy scheduling and low-level I/O. Bridges the NATS layer with the WASM APL runtime.</div></div>
<div class="card"><div class="card-icon">worm</div><div class="card-title">WORM Sealing</div><div class="card-desc">Files written to worm/ are automatically sealed. SHA-256 chain enforced at the Rust VM level.</div></div>
</div>
</div>
<div class="tests">
<p style="font-size:9px;letter-spacing:2px;color:var(--dim);margin-bottom:12px">TEST SUITE - 9/9 PASSING</p>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">right-join empty left tree</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">right-join empty right tree</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">right-join overlapping keys</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">NATS subject mount</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">WORM seal on write</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">APL array operations</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">entropy scheduler tick</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">Rust VM bridge init</span></div>
<div class="test-row"><span class="t-pass">PASS</span><span class="t-name">file status badges render</span></div>
</div>
<footer>
Built by <a href="https://collectivekitty.com" target="_blank">SnapKitty Sovereign OS</a>
<a href="https://github.com/SNAPKITTYWEST/kittybrowse" target="_blank">GitHub</a>
Sovereign License
</footer>
</body>
</html>