index.html
html
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
10 hours ago
| 1 | <!DOCTYPE html> |
| 2 | <html lang="en" data-theme="dark"> |
| 3 | <head> |
| 4 | <meta charset="utf-8"> |
| 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
| 6 | <meta name="description" content="Overseer Kit — governance and honesty for AI-assisted work. Download the Mac console or clone on GitHub."> |
| 7 | <title>Overseer Kit — Governance and honesty for AI-assisted work</title> |
| 8 | <link rel="icon" href="assets/favicon.ico" sizes="any"> |
| 9 | <link rel="icon" type="image/png" href="assets/favicon-32.png" sizes="32x32"> |
| 10 | <link rel="apple-touch-icon" href="assets/apple-touch-icon.png"> |
| 11 | <link rel="stylesheet" href="assets/style.css"> |
| 12 | <script src="assets/theme.js" defer></script> |
| 13 | </head> |
| 14 | <body> |
| 15 | <header class="site-header"> |
| 16 | <nav> |
| 17 | <a class="brand" href="index.html" aria-label="Overseer Kit home"> |
| 18 | <span class="logo-mark" aria-hidden="true">OK</span> |
| 19 | <span class="brand-name">Overseer Kit</span> |
| 20 | </a> |
| 21 | <div class="nav-links"> |
| 22 | <a href="#how-it-works">How it works</a> |
| 23 | <a href="#console-access">Get started</a> |
| 24 | <a href="scenarios/index.html">Scenarios</a> |
| 25 | <a href="docs.html">Docs</a> |
| 26 | <button type="button" id="theme-toggle" class="theme-toggle" aria-label="Switch to light mode" title="Light / dark"> |
| 27 | <span class="theme-icon theme-icon-moon" aria-hidden="true">☾</span> |
| 28 | <span class="theme-icon theme-icon-sun" aria-hidden="true">☀</span> |
| 29 | </button> |
| 30 | </div> |
| 31 | </nav> |
| 32 | </header> |
| 33 | |
| 34 | <main> |
| 35 | <section id="hero" class="hero"> |
| 36 | <div class="hero-plane" aria-hidden="true"></div> |
| 37 | <div class="hero-inner"> |
| 38 | <div class="hero-copy"> |
| 39 | <h1>Honesty for your agents</h1> |
| 40 | <p class="lead">Freeze the plan. Review it independently. Then build — so AI work cannot fake DONE.</p> |
| 41 | <p class="sublead">Portable governance for any repo. Your apps keep the product runtime; this kit keeps the plan honest between sessions.</p> |
| 42 | |
| 43 | <div class="hero-terminal" role="region" aria-label="Check OK command example"> |
| 44 | <div class="hero-terminal-chrome" aria-hidden="true"> |
| 45 | <span class="hero-terminal-dot"></span> |
| 46 | <span class="hero-terminal-dot"></span> |
| 47 | <span class="hero-terminal-dot"></span> |
| 48 | <span class="hero-terminal-title">ok — Check OK</span> |
| 49 | </div> |
| 50 | <pre class="hero-terminal-body"><code><span class="term-prompt">$</span> <span class="term-cmd">ok check-ok</span> <span class="term-flag">--topic</span> <span class="term-str">"side-research"</span> |
| 51 | <span class="term-out">check-ok: scaffolded docs/reviews/…</span> |
| 52 | <span class="term-prompt">$</span> <span class="term-cmd">ok check-ok</span> <span class="term-flag">--path</span> <span class="term-str">docs/reviews/…</span> |
| 53 | <span class="term-ok">verdict: pass</span> <span class="term-cursor" aria-hidden="true"></span></code></pre> |
| 54 | </div> |
| 55 | |
| 56 | <p class="hero-foot-links"> |
| 57 | <a id="cta-download-mac" |
| 58 | href="https://github.com/aaronrene/overseer-kit/releases/download/v0.1.0/Overseer.Kit_0.1.0_aarch64.dmg">Download Mac console (Apple Silicon)</a> |
| 59 | <span class="hero-foot-sep" aria-hidden="true">·</span> |
| 60 | <a href="https://github.com/aaronrene/overseer-kit">Clone on GitHub</a> |
| 61 | </p> |
| 62 | <p class="tertiary-links"> |
| 63 | <a href="scenarios/index.html">Scenarios</a> |
| 64 | · <a href="docs.html">Docs</a> |
| 65 | · <a href="https://github.com/aaronrene/overseer-kit/releases/tag/v0.1.0">Releases</a> |
| 66 | </p> |
| 67 | </div> |
| 68 | <figure class="hero-visual"> |
| 69 | <img src="assets/diagrams/honesty-loop.svg" |
| 70 | width="640" |
| 71 | height="560" |
| 72 | alt="Overseer honesty loop: Think and freeze, freeze review with re-review on findings, Auto build, build verification with re-check, Check OK pass in the center"> |
| 73 | </figure> |
| 74 | </div> |
| 75 | </section> |
| 76 | |
| 77 | <section id="kit-basics" class="band-kit-basics" aria-label="Mechanical check, Check OK, and living docs"> |
| 78 | <div class="kit-basics-inner"> |
| 79 | <aside class="mech-check-strip" id="mechanical-check" aria-label="Mechanical check"> |
| 80 | <figure class="mech-check-visual"> |
| 81 | <img src="assets/diagrams/mechanical-check.svg" |
| 82 | width="448" |
| 83 | height="148" |
| 84 | alt="Agent claim enters a mechanical gate that compares bytes and diffs against your bar; only a real match may pass"> |
| 85 | </figure> |
| 86 | <div class="mech-check-copy"> |
| 87 | <div class="mech-check-kicker-row"> |
| 88 | <p class="mech-check-kicker">The power feature</p> |
| 89 | <details class="mech-check-details"> |
| 90 | <summary>Technical detail</summary> |
| 91 | <div class="mech-details-body"> |
| 92 | <p><strong>Default after <code>ok init</code>:</strong> L0 honesty gates are on — freeze review before Auto, build verification before DONE (diffs vs freeze, not the agent’s word). Domain L1 byte-check scripts are off until you set <code>checkpoints.enabled: true</code> and ship consumer verify scripts (what video pipelines add at many steps).</p> |
| 93 | <p class="mech-details-cmd-label">L0 (on by default)</p> |
| 94 | <pre class="mech-details-cmd"><code>ok review --freeze docs/archive/phases/PHASE-….md |
| 95 | ok check-ok --path docs/reviews/….md</code></pre> |
| 96 | <p class="mech-details-cmd-label">L1 (opt-in)</p> |
| 97 | <pre class="mech-details-cmd"><code>ok verify-step --through current</code></pre> |
| 98 | </div> |
| 99 | </details> |
| 100 | </div> |
| 101 | <h2>Mechanical check — your bar, on-disk evidence</h2> |
| 102 | <p>You define what “done” means: a frozen plan, required files, hashes, diffs, test exits, or your own scripts. Independent review and verify steps compare the work on disk against that bar — not the agent’s summary. Customize the checks for research, finance, academics, classrooms, or code; pass only when the evidence matches.</p> |
| 103 | </div> |
| 104 | </aside> |
| 105 | <div class="kit-basics-grid"> |
| 106 | <article class="kit-basics-panel"> |
| 107 | <div class="kit-basics-icon" aria-hidden="true"> |
| 108 | <img src="assets/ok-mark.svg" width="64" height="64" alt=""> |
| 109 | </div> |
| 110 | <div class="kit-basics-copy"> |
| 111 | <h2>Check OK</h2> |
| 112 | <ul class="kit-basics-list"> |
| 113 | <li><strong>Any work</strong> — type Check OK (or run <code>ok check-ok</code>) on a side spike, a draft, or a full phase. No roadmap row required.</li> |
| 114 | <li><strong>Same honesty loop</strong> — freeze the plan, review it independently, then build and verify. Findings go back around until pass.</li> |
| 115 | <li><strong>Anywhere you work</strong> — Cursor, Claude Code, or the terminal. One gate for ad-hoc work and larger phased projects.</li> |
| 116 | </ul> |
| 117 | </div> |
| 118 | </article> |
| 119 | <article class="kit-basics-panel"> |
| 120 | <div class="kit-basics-icon kit-basics-icon-docs" aria-hidden="true"> |
| 121 | <svg xmlns="http://www.w3.org/2000/svg" width="78" height="78" viewBox="8 12 84 72" focusable="false"> |
| 122 | <rect x="14" y="18" width="40" height="52" rx="4" fill="none" stroke="#7ec8ff" stroke-width="3"/> |
| 123 | <path d="M24 34h20M24 46h20M24 58h12" fill="none" stroke="#7ec8ff" stroke-width="2.5" stroke-linecap="round"/> |
| 124 | <path d="M24 34l3.5 3.5 7-8" fill="none" stroke="#5cb88a" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> |
| 125 | <path d="M68 28a18 18 0 0 1 0 36" fill="none" stroke="#e8a35c" stroke-width="3" stroke-linecap="round"/> |
| 126 | <path d="M68 64a18 18 0 0 1 0-36" fill="none" stroke="#e85d4c" stroke-width="3" stroke-linecap="round" stroke-dasharray="4 5"/> |
| 127 | <path d="M78 22l6 6-6 6" fill="none" stroke="#e8a35c" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> |
| 128 | <path d="M58 70l-6-6 6-6" fill="none" stroke="#e85d4c" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/> |
| 129 | </svg> |
| 130 | </div> |
| 131 | <div class="kit-basics-copy"> |
| 132 | <h2>Roadmap · Handover · Lanes</h2> |
| 133 | <ul class="kit-basics-list"> |
| 134 | <li><strong>Roadmap</strong> — the phase board: what is planned, frozen, building, or done.</li> |
| 135 | <li><strong>Handover</strong> — the session baton: what just landed and the one next prompt to paste.</li> |
| 136 | <li><strong>Lanes</strong> — more than one roadmap/handover pair when several streams of work run in parallel.</li> |
| 137 | <li><strong>Hygiene</strong> — sync roadmap and handover every session; commit the feature branch; no dirty tree at close.</li> |
| 138 | </ul> |
| 139 | </div> |
| 140 | </article> |
| 141 | </div> |
| 142 | </div> |
| 143 | </section> |
| 144 | |
| 145 | <section id="problem" class="band-problem"> |
| 146 | <header class="section-intro"> |
| 147 | <p class="section-kicker">The failure mode</p> |
| 148 | <h2>Why governance honesty matters</h2> |
| 149 | <p class="section-lede">AI-assisted development breaks down at the boundaries between sessions.</p> |
| 150 | </header> |
| 151 | <ul class="pain-grid"> |
| 152 | <li> |
| 153 | <span class="pain-label">Amnesia</span> |
| 154 | <p>Each new chat re-derives context from scratch.</p> |
| 155 | </li> |
| 156 | <li> |
| 157 | <span class="pain-label">Self-approval</span> |
| 158 | <p>Phases get marked complete without independent review.</p> |
| 159 | </li> |
| 160 | <li> |
| 161 | <span class="pain-label">Silent drift</span> |
| 162 | <p>Living docs fall out of sync with reality.</p> |
| 163 | </li> |
| 164 | <li> |
| 165 | <span class="pain-label">Skipped checkpoints</span> |
| 166 | <p>Expensive remakes when mechanical gates are bypassed.</p> |
| 167 | </li> |
| 168 | </ul> |
| 169 | <p class="problem-close"><span class="problem-close-lead">Overseer Kit makes skipping honesty expensive</span> — not by running your product, but by governing how phased work proceeds.</p> |
| 170 | </section> |
| 171 | |
| 172 | <section id="how-it-works" class="band-how"> |
| 173 | <header class="section-intro"> |
| 174 | <p class="section-kicker">The loop</p> |
| 175 | <h2>How it works</h2> |
| 176 | <p class="section-lede">Lock the plan, check it independently, then build only against that freeze. Living docs carry the baton between chats.</p> |
| 177 | </header> |
| 178 | <ol class="loop-steps"> |
| 179 | <li class="loop-step"> |
| 180 | <span class="loop-index" aria-hidden="true">01</span> |
| 181 | <div class="loop-body"> |
| 182 | <h3>Lock the plan</h3> |
| 183 | <p>Design freezes what to build and how. No build claims DONE until an independent freeze review passes.</p> |
| 184 | </div> |
| 185 | </li> |
| 186 | <li class="loop-step"> |
| 187 | <span class="loop-index" aria-hidden="true">02</span> |
| 188 | <div class="loop-body"> |
| 189 | <h3>Keep docs truthful</h3> |
| 190 | <p>A phase board and a session handover stay aligned with real work — so the next chat starts from facts, not memory.</p> |
| 191 | </div> |
| 192 | </li> |
| 193 | <li class="loop-step"> |
| 194 | <span class="loop-index" aria-hidden="true">03</span> |
| 195 | <div class="loop-body"> |
| 196 | <h3>Spend models wisely</h3> |
| 197 | <p>Use deeper judgment for design and review; keep mechanical build on a cheaper tier. The kit is the rulebook; your IDE dials the model.</p> |
| 198 | </div> |
| 199 | </li> |
| 200 | <li class="loop-step"> |
| 201 | <span class="loop-index" aria-hidden="true">04</span> |
| 202 | <div class="loop-body"> |
| 203 | <h3>Close clean</h3> |
| 204 | <p>Before you stop, sync living docs to real VCS state and verify the build claim. Green tests alone cannot fake completion.</p> |
| 205 | </div> |
| 206 | </li> |
| 207 | </ol> |
| 208 | </section> |
| 209 | |
| 210 | <section id="structure"> |
| 211 | <h2>Structure at a glance</h2> |
| 212 | <p>How the kit is built — work lanes, version-control options, safety layers, and the kit vs your apps.</p> |
| 213 | |
| 214 | <figure class="diagram-figure" id="diagram-lanes"> |
| 215 | <figcaption>Work lanes pair a phase board with a session handover. Keep lanes few — not one per ticket.</figcaption> |
| 216 | <img src="assets/diagrams/lanes.svg" alt="Single-lane phase board paired with handover versus optional multi-lane kit and product paths" width="720" height="280"> |
| 217 | <ul class="diagram-fallback"> |
| 218 | <li>Single-lane default: phase board ↔ handover</li> |
| 219 | <li>Optional multi-lane: each lane maps to its own living-doc pair</li> |
| 220 | </ul> |
| 221 | </figure> |
| 222 | |
| 223 | <figure class="diagram-figure" id="diagram-regimes"> |
| 224 | <figcaption>GitHub-only is a full baseline. MuseHub deepens history when you want it — it does not unlock exclusive core features.</figcaption> |
| 225 | <img src="assets/diagrams/regimes.svg" alt="Version-control options from git-only to Muse with GitHub mirror to Muse-only" width="640" height="320"> |
| 226 | <ul class="diagram-fallback"> |
| 227 | <li>git-only — GitHub canonical</li> |
| 228 | <li>muse+git-mirror — Muse canonical + GitHub mirror</li> |
| 229 | <li>muse-only — Muse canonical; no GitHub mirror</li> |
| 230 | </ul> |
| 231 | </figure> |
| 232 | |
| 233 | <figure class="diagram-figure" id="diagram-layers"> |
| 234 | <figcaption>Baseline safety is always on. Extra checkpoints and dual-control bind when your domain needs them — they never replace freeze review.</figcaption> |
| 235 | <img src="assets/diagrams/layers.svg" alt="Layer stack from baseline governance to domain checkpoints to honesty ledger" width="420" height="280"> |
| 236 | <ul class="diagram-fallback"> |
| 237 | <li>Baseline — living docs, phases, freeze review (always on)</li> |
| 238 | <li>Checkpoints — bind when you have verify scripts</li> |
| 239 | <li>Dual-control ledger — bind when money or publish stakes require it</li> |
| 240 | </ul> |
| 241 | </figure> |
| 242 | |
| 243 | <figure class="diagram-figure" id="diagram-kit-consumer"> |
| 244 | <figcaption>The kit ships sockets. Your apps own domain checks and product UX.</figcaption> |
| 245 | <img src="assets/diagrams/kit-consumer.svg" alt="Overseer Kit clone through ok init to config and living docs, then consumer domain packs" width="760" height="260"> |
| 246 | <ul class="diagram-fallback"> |
| 247 | <li>Kit clone → ok init → config + living docs</li> |
| 248 | <li>Consumers own verify scripts and product UX</li> |
| 249 | </ul> |
| 250 | </figure> |
| 251 | </section> |
| 252 | |
| 253 | <section id="console-access"> |
| 254 | <h2>Get started</h2> |
| 255 | <p>This site does <strong>not</strong> run the console and does not mint session credentials. Open a local process, then use the UI in the browser or desktop shell.</p> |
| 256 | |
| 257 | <article class="path-card path-preferred" id="path-1"> |
| 258 | <h3>Path 1 — Download Mac console <span class="path-badge">preferred · Apple Silicon</span></h3> |
| 259 | <ol> |
| 260 | <li>Confirm <strong>Python 3.11+</strong> (<code>python3 --version</code>).</li> |
| 261 | <li>Download the signed Apple Silicon <code>.dmg</code> via the Download link above (Release <code>v0.1.0</code>).</li> |
| 262 | <li>Set <code>OVERSEER_REPO_ROOT</code> to a repo that already has <code>.overseer/</code> from <code>ok init</code>. Without it, the app binds the bundled kit inside the app.</li> |
| 263 | <li>Open the app and confirm the bound path before any write action.</li> |
| 264 | </ol> |
| 265 | <p class="cta-honesty">Apple Silicon Mac · signed and notarized · Python 3.11+ required. Windows/Linux signed installers are not published yet.</p> |
| 266 | </article> |
| 267 | |
| 268 | <article class="path-card" id="path-2"> |
| 269 | <h3>Path 2 — Browser (<code>ok app</code>)</h3> |
| 270 | <ol> |
| 271 | <li>From a governed repo: <code>ok app --open</code>.</li> |
| 272 | <li>Open <a href="http://127.0.0.1:8765/" id="local-console-loopback">http://127.0.0.1:8765/</a> on this machine only (this public page is static).</li> |
| 273 | <li>From that same terminal, paste <code>session_credential</code> and <code>csrf_token</code> into Session bootstrap → Connect.</li> |
| 274 | <li>Credentials last for the process only; never commit them; this website never mints them.</li> |
| 275 | </ol> |
| 276 | </article> |
| 277 | |
| 278 | <article class="path-card" id="path-3"> |
| 279 | <h3>Path 3 — Dev desktop</h3> |
| 280 | <ol> |
| 281 | <li>From kit root: <code>./scripts/bundle-desktop-kit.sh</code>, then <code>cd desktop && npm install && npm run tauri dev</code>.</li> |
| 282 | <li>Same bind rules as Path 1; needs Python 3.11+ plus Rust/Node for dev builds.</li> |
| 283 | </ol> |
| 284 | </article> |
| 285 | |
| 286 | <p class="bound-honesty"><em>The console is bound to one local checkout — not to this website and not to arbitrary remote repos.</em></p> |
| 287 | <p>Operator detail: |
| 288 | <a href="https://github.com/aaronrene/overseer-kit/blob/main/docs/TRACK-Q-DESKTOP-OPERATOR-RUNBOOK.md">Desktop operator runbook</a> |
| 289 | · Release index: <a href="https://github.com/aaronrene/overseer-kit/releases/tag/v0.1.0">v0.1.0</a> |
| 290 | · Clone guide: |
| 291 | <a href="https://github.com/aaronrene/overseer-kit/blob/main/docs/GIT-ONLY-QUICKSTART.md">Git-only quickstart</a></p> |
| 292 | </section> |
| 293 | |
| 294 | <section id="musehub" class="musehub-band" aria-labelledby="musehub-heading"> |
| 295 | <div class="musehub-band-inner"> |
| 296 | <div class="musehub-brand"> |
| 297 | <img class="musehub-logo" src="assets/musehub-logo.svg" width="360" height="80" alt="MuseHub"> |
| 298 | </div> |
| 299 | <div class="musehub-copy"> |
| 300 | <h2 id="musehub-heading">Optional deepen with MuseHub</h2> |
| 301 | <p>Run fully on GitHub alone. When you want stronger continuity — Muse as the memory layer, GitHub as the mirror — flip the regime. Same <code>ok</code> commands. Not a second agent product.</p> |
| 302 | <p class="musehub-links"> |
| 303 | <a href="#diagram-regimes">See version-control options</a> |
| 304 | · Start Muse-backed: |
| 305 | <code>ok init --regime muse+git-mirror</code> |
| 306 | </p> |
| 307 | </div> |
| 308 | </div> |
| 309 | </section> |
| 310 | |
| 311 | <section id="next-steps"> |
| 312 | <h2>Where to go next</h2> |
| 313 | <p>This site explains Overseer Kit. Day-to-day product UX stays in your apps.</p> |
| 314 | <div class="card-grid suite-grid"> |
| 315 | <div class="card"> |
| 316 | <h3>GitHub</h3> |
| 317 | <p><a href="https://github.com/aaronrene/overseer-kit">overseer-kit</a> — clone, <code>ok init</code>, issues.</p> |
| 318 | </div> |
| 319 | <div class="card"> |
| 320 | <h3>Docs</h3> |
| 321 | <p><a href="docs.html">Docs on this site</a> |
| 322 | · <a href="https://github.com/aaronrene/overseer-kit/blob/main/docs/CONSUMER-ADAPTER-PATTERN.md">Adapter pattern</a> |
| 323 | · <a href="https://github.com/aaronrene/overseer-kit/blob/main/docs/GIT-ONLY-QUICKSTART.md">Quickstart</a></p> |
| 324 | </div> |
| 325 | <div class="card"> |
| 326 | <h3>Local console</h3> |
| 327 | <p>After <code>ok app</code> is running: |
| 328 | <a href="http://127.0.0.1:8765/">Open loopback console</a> |
| 329 | — see <a href="#console-access">Get started</a>.</p> |
| 330 | </div> |
| 331 | <div class="card"> |
| 332 | <h3>Scenarios</h3> |
| 333 | <p><a href="scenarios/index.html">Scenario gallery</a> — video, research, classroom, and more.</p> |
| 334 | </div> |
| 335 | </div> |
| 336 | <div class="funnel" id="funnel" aria-label="Adoption path"> |
| 337 | <span class="funnel-step" id="funnel-github">GitHub today</span> |
| 338 | <span class="funnel-arrow">→</span> |
| 339 | <span class="funnel-step" id="funnel-kit">Overseer Kit</span> |
| 340 | <span class="funnel-arrow">→</span> |
| 341 | <span class="funnel-step" id="funnel-musehub">Muse when ready</span> |
| 342 | </div> |
| 343 | </section> |
| 344 | |
| 345 | <section id="scenarios"> |
| 346 | <h2>Scenarios</h2> |
| 347 | <p>Short persona stories — who uses the kit and for what jobs.</p> |
| 348 | <p><a class="btn btn-secondary" href="scenarios/index.html">Open the scenario gallery →</a></p> |
| 349 | </section> |
| 350 | </main> |
| 351 | |
| 352 | <footer class="site-footer"> |
| 353 | <p> |
| 354 | <a href="https://github.com/aaronrene/overseer-kit/blob/main/LICENSE">MIT open source</a> |
| 355 | · <a href="https://github.com/aaronrene/overseer-kit/blob/main/SECURITY.md">Security</a> |
| 356 | </p> |
| 357 | <p class="footer-tagline">🆗 Overseer Kit — portable governance for AI-assisted development.</p> |
| 358 | </footer> |
| 359 | </body> |
| 360 | </html> |
File History
2 commits
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1
docs: MuseHub-first before ISR #74 — staging solidify NEXT
Human
10 hours ago
sha256:4671b7f787ddbe63ced31c895b688c77ab495653b65a730b423329f26b3c1439
feat: K1-P1 complete — agent provenance, build-verification…
Sonnet 4.6
patch
52 days ago