<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Office on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/office/</link>
        <description>Recent content in Office on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 20 Aug 2026 15:57:10 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/office/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>munder-difflin</title>
        <link>https://producthunt.programnotes.cn/en/p/munder-difflin/</link>
        <pubDate>Thu, 20 Aug 2026 15:57:10 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/munder-difflin/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1696762932825-2737db830bbe?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3ODcyMTI1MDV8&amp;ixlib=rb-4.1.0" alt="Featured image of post munder-difflin" /&gt;&lt;h1 id=&#34;chaitanyagirimunder-difflin&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/chaitanyagiri/munder-difflin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;chaitanyagiri/munder-difflin&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34;&gt;
&lt;img src=&#34;./docs/logo.png&#34; alt=&#34;Munder Difflin — agent harness to run an office of your clones&#34; width=&#34;340&#34;&gt;
&lt;h1 id=&#34;munder-difflin&#34;&gt;Munder Difflin
&lt;/h1&gt;&lt;h3 id=&#34;agent-harness-to-run-an-office-of-your-clones&#34;&gt;Agent harness to run an office of your clones
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Free, open source and performant&lt;/strong&gt; — a multi-agent harness that works with the
subscriptions you already pay for, on their hourly limits. It turns the terminal coding CLI
you already run into a clone of you, one that keeps working while you&amp;rsquo;re away and
coordinates a whole office of agents on your own machine.&lt;/p&gt;
&lt;p&gt;Wraps &lt;a class=&#34;link&#34; href=&#34;https://claude.com/claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code&lt;/a&gt;, Antigravity (Gemini), OpenAI Codex,
&lt;strong&gt;xAI Grok&lt;/strong&gt;, &lt;strong&gt;Kimi Code&lt;/strong&gt;, &lt;strong&gt;Qwen&lt;/strong&gt;, &lt;strong&gt;OpenCode&lt;/strong&gt;, &lt;strong&gt;Crush&lt;/strong&gt;, &lt;strong&gt;pi.dev&lt;/strong&gt;, and
&lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; — with bring-your-own keys and local LLMs.
Agents that message, route, and remember, coordinated by &lt;strong&gt;your clone&lt;/strong&gt; (Michael) and
visualized as avatars at work on a shared office floor.&lt;/p&gt;
&lt;p&gt;
  &lt;em&gt;Electron · React · TypeScript · Pixi.js · xterm.js · node-pty&lt;/em&gt;
&lt;/p&gt;
&lt;p&gt;
  &lt;a href=&#34;./LICENSE&#34;&gt;&lt;img alt=&#34;License: MIT&#34; src=&#34;https://img.shields.io/badge/license-MIT-F4D35E.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;./CHANGELOG.md&#34;&gt;&lt;img alt=&#34;Version: 0.4.4&#34; src=&#34;https://img.shields.io/badge/version-0.4.4-F4D35E.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;&lt;/a&gt;
  &lt;img alt=&#34;Status: prototype&#34; src=&#34;https://img.shields.io/badge/status-working%20prototype-F4F1EA.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;
  &lt;img alt=&#34;Platform: macOS | Windows | Linux&#34; src=&#34;https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-F4F1EA.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;
  &lt;a href=&#34;./CONTRIBUTING.md&#34;&gt;&lt;img alt=&#34;PRs welcome&#34; src=&#34;https://img.shields.io/badge/PRs-welcome-F4D35E.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://discord.gg/SEDzP5ZPk5&#34;&gt;&lt;img alt=&#34;Discord&#34; src=&#34;https://img.shields.io/badge/Discord-join%20the%20office-F4D35E.svg?style=flat-square&amp;labelColor=6E1423&#34;&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;br&gt;
&lt;img src=&#34;./docs/media/og.png&#34; alt=&#34;Munder Difflin — A hive of agents that message, route, and remember&#34; width=&#34;1240&#34;&gt;
&lt;br&gt;
&lt;!-- Inline player renders on github.com (raw URL required; relative paths only link). --&gt;
&lt;video src=&#34;https://github.com/chaitanyagiri/munder-difflin/raw/main/docs/media/hero.mp4&#34; poster=&#34;https://github.com/chaitanyagiri/munder-difflin/raw/main/docs/media/og.png&#34; controls muted loop playsinline width=&#34;820&#34;&gt;
  &lt;a href=&#34;https://github.com/chaitanyagiri/munder-difflin/raw/main/docs/media/hero.mp4&#34;&gt;▶ Watch the floor — Munder Difflin running a hive of Claude Code agents&lt;/a&gt;
&lt;/video&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
&lt;strong&gt;The world&amp;rsquo;s best agents. The world&amp;rsquo;s worst paper company.&lt;/strong&gt;
Munder Difflin takes the terminal-agent CLIs you already run — &lt;code&gt;claude&lt;/code&gt;, &lt;code&gt;agy&lt;/code&gt;, &lt;code&gt;codex&lt;/code&gt;, &lt;code&gt;grok&lt;/code&gt;,
&lt;code&gt;kimi&lt;/code&gt;, &lt;code&gt;qwen&lt;/code&gt;, &lt;code&gt;opencode&lt;/code&gt;, &lt;code&gt;crush&lt;/code&gt;, &lt;code&gt;pi&lt;/code&gt;, and &lt;code&gt;copilot&lt;/code&gt; — and turns them
into a self-coordinating team: each agent gets long-term memory, a mailbox, and a desk on a 2D
office floor — and &lt;strong&gt;your clone&lt;/strong&gt; (Michael) routes work between them while you watch. He&amp;rsquo;s the
boss of the floor; you&amp;rsquo;re still the boss of him.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;contents&#34;&gt;Contents
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#what-it-is&#34; &gt;What it is&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#how-it-works&#34; &gt;How it works&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#features&#34; &gt;Features&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#getting-started&#34; &gt;Getting started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#architecture&#34; &gt;Architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#project-structure&#34; &gt;Project structure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#design-system&#34; &gt;Design system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#roadmap&#34; &gt;Roadmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#contributing&#34; &gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#telemetry&#34; &gt;Telemetry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#license&#34; &gt;License&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#acknowledgements&#34; &gt;Acknowledgements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;what-it-is&#34;&gt;What it is
&lt;/h2&gt;&lt;p&gt;Munder Difflin is a desktop app that wraps &lt;strong&gt;real terminal-agent CLIs&lt;/strong&gt; as fully-capable agents,
wires them into a &lt;strong&gt;hive mind&lt;/strong&gt;, and puts &lt;strong&gt;your clone&lt;/strong&gt; in charge — Michael, the one agent &lt;em&gt;you&lt;/em&gt;
talk to in order to get things done. Under the hood it runs the &lt;strong&gt;fastest memory layer in the
world&lt;/strong&gt; so every agent remembers what it learns and recalls it instantly.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Every terminal is an agent.&lt;/strong&gt; Each &lt;code&gt;claude&lt;/code&gt;, &lt;code&gt;agy&lt;/code&gt;, &lt;code&gt;codex&lt;/code&gt;, &lt;code&gt;grok&lt;/code&gt;, &lt;code&gt;kimi&lt;/code&gt;, &lt;code&gt;qwen&lt;/code&gt;, &lt;code&gt;opencode&lt;/code&gt;, &lt;code&gt;crush&lt;/code&gt;, &lt;code&gt;pi&lt;/code&gt;, &lt;code&gt;copilot&lt;/code&gt;, or custom session runs as a real
process in a pseudo-terminal (&lt;code&gt;node-pty&lt;/code&gt;), byte-for-byte authentic, rendered with xterm.js.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Every agent is an avatar.&lt;/strong&gt; Sessions appear as characters on a Pixi.js office floor — they walk
to stations as they work, and envelopes fly desk-to-desk when they message each other.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The hive coordinates them.&lt;/strong&gt; Agents read their memory and drain a mailbox; the router moves
messages between inboxes; the GOD agent adjudicates, assigns, and escalates only when it needs you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Memory that&amp;rsquo;s instant.&lt;/strong&gt; A markdown-first memory layer with a semantic recall index means agents
remember across sessions and recall in milliseconds.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;how-it-works&#34;&gt;How it works
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            you ── talk to ──►  ┌─────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                │  GOD agent  │  orchestrator / supervisor
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                │ (Michael&amp;#39;s  │  roster · routing · adjudication
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                │   office)   │  blackboard · task ledger
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                └──────┬──────┘
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                                       │ assigns · routes · escalates
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              ┌────────────────────────┼────────────────────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              ▼                         ▼                         ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        ┌───────────┐            ┌───────────┐            ┌───────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        │  agent A  │  message   │  agent B  │  message   │  agent C  │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        │ provider  │ ─────────► │ provider  │ ─────────► │ provider  │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        │  + memory │            │  + memory │            │  + memory │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        └───────────┘            └───────────┘            └───────────┘
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              └──────── shared hive: memory · mailbox · blackboard · log ───────┘
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;You spawn agents&lt;/strong&gt; — each is a normal terminal process (&lt;code&gt;claude&lt;/code&gt;, &lt;code&gt;agy&lt;/code&gt;, &lt;code&gt;codex&lt;/code&gt;, or custom)
with its own working directory, identity, and provider-specific lifecycle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agents collaborate through the hive&lt;/strong&gt; — a local git repo of plain files. They write to their own
&lt;code&gt;outbox/&lt;/code&gt;; the harness&amp;rsquo;s router delivers into recipients&amp;rsquo; &lt;code&gt;inbox/&lt;/code&gt;. No agent ever touches git
(single-committer design avoids &lt;code&gt;index.lock&lt;/code&gt; corruption).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The GOD agent runs the floor&lt;/strong&gt; — it reads every request, resolves routine ones itself (keeping
the system fully autonomous), and only escalates &lt;em&gt;critical&lt;/em&gt; items (spend, destructive ops, scope
changes) into an approvals queue you act on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Everything is visible&lt;/strong&gt; — you watch avatars move, envelopes fly, and the live terminal stream;
you can type back into any session, browse its files, and read its git history.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;./HIVE.md&#34; &gt;&lt;code&gt;HIVE.md&lt;/code&gt;&lt;/a&gt; for the full multi-agent design, &lt;a class=&#34;link&#34; href=&#34;./SPEC.md&#34; &gt;&lt;code&gt;SPEC.md&lt;/code&gt;&lt;/a&gt; for the
terminal/event plane, and &lt;a class=&#34;link&#34; href=&#34;./DESIGN.md&#34; &gt;&lt;code&gt;DESIGN.md&lt;/code&gt;&lt;/a&gt; for the visual system.&lt;/p&gt;
&lt;h2 id=&#34;features&#34;&gt;Features
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;The floor&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Every terminal is a real agent.&lt;/strong&gt; Claude Code, Antigravity (Gemini), OpenAI Codex, xAI Grok, Kimi Code, Qwen, OpenCode, Crush, pi.dev, GitHub Copilot CLI, or a custom command — each in its own &lt;code&gt;node-pty&lt;/code&gt; PTY, rendered with xterm.js.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Every agent is an avatar.&lt;/strong&gt; A Pixi.js office floor where agents walk to stations, envelopes fly desk to desk, and avatar state reflects real work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A GOD orchestrator you talk to.&lt;/strong&gt; It routes tasks, adjudicates traffic, and escalates only what needs a human. Or press &lt;strong&gt;Talk&lt;/strong&gt; and run the floor by voice.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Per-agent git worktrees.&lt;/strong&gt; Optional isolation so parallel agents never collide on branches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Memory &amp;amp; coordination&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The hive&lt;/strong&gt; — per-agent memory, atomic-file mailboxes, a shared blackboard, an append-only event log, single-committer git.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Semantic recall&lt;/strong&gt; — markdown memory mined into a shared palace, searchable from the UI, with condensation so it doesn&amp;rsquo;t grow forever.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise Knowledge Graph&lt;/strong&gt; — your own documents and policies, queryable by any agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Control &amp;amp; safety&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Human gates&lt;/strong&gt; — spend, scope, and destructive ops escalate to you. Steer mid-run or stop gracefully.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Circuit breaker&lt;/strong&gt; — a steer → constrain → stop ladder for agents that loop, storm errors, or blow their budget.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Budgets &amp;amp; telemetry&lt;/strong&gt; — per-agent token budgets, real cost from transcripts, a durable ledger, OTel spans, and a tool waterfall.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Command Center&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kanban tasks with dependencies, scheduled missions + heartbeat, live fleet monitoring, memory search, activity log, and a CI watcher.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt; — what every agent can already do across Claude Code, OpenCode and Codex, plus a browsable catalog of 227 more with search, filters, install and uninstall.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Built-in Monaco IDE&lt;/strong&gt; — file tree, editor tabs, save, plus CHANGES · HISTORY · COMPARE git rails with commit graph, diffs, branch compare, and guarded checkout. All fs/git access brokered through main.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Getting work in and out&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Slack &amp;amp; webhooks&lt;/strong&gt; — message a channel or POST a webhook; Michael can spawn an ephemeral worker, reply in-thread, and tear it down.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shareable hires + Agent Gallery&lt;/strong&gt; — import a role from a &lt;code&gt;munderdifflin://hire&lt;/code&gt; link; import only pre-fills the form, a human still spawns it. Browse roles at the &lt;a class=&#34;link&#34; href=&#34;https://munderdiffl.in/hires/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agent Gallery&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BYOK keys + local LLMs&lt;/strong&gt; — per-provider keys in a write-only secret broker, plus Ollama / LM Studio / vLLM base URLs. Guides: &lt;a class=&#34;link&#34; href=&#34;https://munderdiffl.in/blog/run-munder-difflin-on-open-models/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;open models&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://munderdiffl.in/blog/run-munder-difflin-on-a-mac-mini/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Mac Mini&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-update&lt;/strong&gt; — new releases download in the background; you click restart, and the notes arrive as a designed page rather than a version number.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt; — one Settings page showing which supporting tools (uv, git, Node, MemPalace, each agent CLI) you have, what each is for, and a button that asks Michael to install what is missing.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
&lt;strong&gt;Status: v0.4.4 — Windows agents can finally talk to each other.&lt;/strong&gt; On Windows, agents were
never told they could message one another: the protocol reaches them as a multi-line command
line, and &lt;code&gt;cmd.exe&lt;/code&gt; cut it at the first newline. They started, looked healthy, and ignored each
other forever. If you tried Munder Difflin on Windows and your team just sat there, that was
this bug. Also fixed: a fresh install now starts its own message router instead of waiting for a
restart, the setup wizard can be finished, and dark mode is rebuilt for readability. New in this
release: &lt;strong&gt;Skills&lt;/strong&gt;, &lt;strong&gt;Prerequisites&lt;/strong&gt;, and release notes that carry their own page.
&lt;strong&gt;If you&amp;rsquo;re on 0.3.8, update:&lt;/strong&gt; that build&amp;rsquo;s usage-limit guard never released the agents it held,
and it has been removed entirely.
macOS (signed &amp;amp; notarized), Windows, and Linux builds are on the
&lt;a class=&#34;link&#34; href=&#34;https://github.com/chaitanyagiri/munder-difflin/releases/latest&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;releases page&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div align=&#34;right&#34;&gt;(&lt;a href=&#34;#munder-difflin&#34;&gt;↑ back to top&lt;/a&gt;)&lt;/div&gt;
&lt;h2 id=&#34;getting-started&#34;&gt;Getting started
&lt;/h2&gt;&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;macOS, Windows, or Linux&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Node.js 18+&lt;/strong&gt; and npm.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;C/C++ toolchain&lt;/strong&gt; for &lt;code&gt;node-pty&lt;/code&gt;&amp;rsquo;s native addon — on macOS, install Xcode Command Line Tools:
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xcode-select --install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;At least one supported agent CLI on your &lt;code&gt;PATH&lt;/code&gt; — &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://claude.com/claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Claude Code&lt;/a&gt;&lt;/strong&gt;
(&lt;code&gt;claude&lt;/code&gt;, the default), &lt;strong&gt;Antigravity&lt;/strong&gt; (&lt;code&gt;agy&lt;/code&gt;), &lt;strong&gt;OpenAI Codex&lt;/strong&gt; (&lt;code&gt;codex&lt;/code&gt;), &lt;strong&gt;xAI Grok&lt;/strong&gt; (&lt;code&gt;grok&lt;/code&gt;),
&lt;strong&gt;Kimi Code&lt;/strong&gt; (&lt;code&gt;kimi&lt;/code&gt;), &lt;strong&gt;Qwen&lt;/strong&gt; (&lt;code&gt;qwen&lt;/code&gt;), &lt;strong&gt;OpenCode&lt;/strong&gt; (&lt;code&gt;opencode&lt;/code&gt;), &lt;strong&gt;Crush&lt;/strong&gt; (&lt;code&gt;crush&lt;/code&gt;),
&lt;strong&gt;pi.dev&lt;/strong&gt; (&lt;code&gt;pi&lt;/code&gt;), or &lt;strong&gt;GitHub Copilot&lt;/strong&gt; (&lt;code&gt;copilot&lt;/code&gt;). Most missing CLIs self-heal: the harness runs the installer in the
terminal and continues into the new binary.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Optional:&lt;/em&gt; &lt;strong&gt;your own API keys and local LLMs&lt;/strong&gt; in &lt;strong&gt;Settings → AI Engines&lt;/strong&gt; (Ollama / LM Studio / vLLM).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Optional:&lt;/em&gt; the semantic memory index for instant cross-session recall — markdown memory works without it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;install--run&#34;&gt;Install &amp;amp; run
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/chaitanyagiri/munder-difflin.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; munder-difflin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install        &lt;span class=&#34;c1&#34;&gt;# postinstall rebuilds node-pty against Electron&amp;#39;s ABI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run dev        &lt;span class=&#34;c1&#34;&gt;# launches the Electron app with hot reload&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On first launch you&amp;rsquo;ll go through the onboarding wizard, then land on the floor. Use &lt;strong&gt;Add agent&lt;/strong&gt; to
spawn your first session — the GOD agent seats itself in Michael&amp;rsquo;s office automatically.&lt;/p&gt;
&lt;h3 id=&#34;other-scripts&#34;&gt;Other scripts
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run build      &lt;span class=&#34;c1&#34;&gt;# production build via electron-vite&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run preview    &lt;span class=&#34;c1&#34;&gt;# preview the production build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm run typecheck  &lt;span class=&#34;c1&#34;&gt;# type-check the node (main/preload) and web (renderer) projects&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;If &lt;code&gt;node-pty&lt;/code&gt; fails to load after an Electron upgrade, re-run &lt;code&gt;npm install&lt;/code&gt; (the &lt;code&gt;postinstall&lt;/code&gt; hook
runs &lt;code&gt;electron-rebuild&lt;/code&gt; against the current Electron ABI).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;architecture&#34;&gt;Architecture
&lt;/h2&gt;&lt;p&gt;Two data planes feed one renderer:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;┌───────────────────────────────────────────────────────────────┐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;                     &lt;span class=&#34;n&#34;&gt;Electron&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Renderer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;React&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;                  &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;┌──────────────────┐&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;┌──────────────────────────────┐&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Office&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Floor&lt;/span&gt;      &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Terminal&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Command&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Bar&lt;/span&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Pixi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Files&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tabs&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;xterm&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;js&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;└─────────▲────────┘&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;└────────────▲─────────────────┘&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;             &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;avatar&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;state&lt;/span&gt;             &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pty&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;bytes&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fs&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;  &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;└─────────────┼──────────────────────────┼───────────────────────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;              &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;IPC&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;contextBridge&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;┌──────┴──────────┐&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;┌──────┴─────────────┐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;Event&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;Plane&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;Terminal&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;Plane&lt;/span&gt;    &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hive&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;node&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pty&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PTYs&lt;/span&gt;     &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;router&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;GOD&lt;/span&gt;   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;fs&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       &lt;span class=&#34;err&#34;&gt;└────────▲────────┘&lt;/span&gt;        &lt;span class=&#34;err&#34;&gt;└──────▲─────────────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;payloads&lt;/span&gt;          &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdin&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stdout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;err&#34;&gt;└─────────┬──────────────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                   &lt;span class=&#34;err&#34;&gt;┌──────┴──────────────┐&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                   &lt;span class=&#34;err&#34;&gt;│&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agy&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;codex&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;│&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                   &lt;span class=&#34;err&#34;&gt;└─────────────────────┘&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Terminal plane.&lt;/strong&gt; The main process owns a &lt;code&gt;PtyManager&lt;/code&gt; that spawns each agent as a &lt;code&gt;node-pty&lt;/code&gt;
process and streams output over per-id IPC (&lt;code&gt;pty:data:&amp;lt;id&amp;gt;&lt;/code&gt;). The renderer talks only through a
typed &lt;code&gt;window.cth&lt;/code&gt; bridge (&lt;a class=&#34;link&#34; href=&#34;./src/preload/index.ts&#34; &gt;&lt;code&gt;src/preload/index.ts&lt;/code&gt;&lt;/a&gt;), which also exposes
sandboxed filesystem and git helpers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hive / event plane.&lt;/strong&gt; &lt;code&gt;hive.ts&lt;/code&gt; is the on-disk multi-agent layer; &lt;code&gt;hooks.ts&lt;/code&gt; runs the hook
server that provider bridges POST lifecycle payloads to (&lt;code&gt;cth-hook&lt;/code&gt; for Claude Code, &lt;code&gt;agy-hook&lt;/code&gt;
for Antigravity). &lt;code&gt;memory.ts&lt;/code&gt; wraps the semantic memory CLI. The router delivers messages, drains
provider outboxes, the GOD agent adjudicates, and idle/inbox wakeups keep workers draining mail.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;project-structure&#34;&gt;Project structure
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-gdscript3&#34; data-lang=&#34;gdscript3&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                      &lt;span class=&#34;n&#34;&gt;Electron&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;main&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;process&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;ne&#34;&gt;Node&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;index&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                 &lt;span class=&#34;n&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;IPC&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;handlers&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;quit&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;guard&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;pty&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                   &lt;span class=&#34;n&#34;&gt;node&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;pty&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;manager&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;spawn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;write&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;resize&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;kill&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stream&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hive&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                  &lt;span class=&#34;n&#34;&gt;on&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;disk&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agent&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mailboxes&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;router&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                 &lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;server&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;provider&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;shims&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agy&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;hook&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                &lt;span class=&#34;n&#34;&gt;semantic&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;CLI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wrapper&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;degrade&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;to&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;noop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;config&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                &lt;span class=&#34;n&#34;&gt;harness&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;config&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;persistence&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;home&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;setup&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;transcript&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;            &lt;span class=&#34;n&#34;&gt;reads&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;~/.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;claude&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;projects&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;JSONL&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;transcripts&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;real&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;token&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;telemetry&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;telemetry&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;             &lt;span class=&#34;n&#34;&gt;live&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OTel&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;collector&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;usage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;feed&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;observability&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;usage&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pricing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;    &lt;span class=&#34;n&#34;&gt;UsageProvider&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;seam&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;per&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;model&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attribution&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;breaker&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;control&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;  &lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;runaway&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;circuit&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;breaker&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;steer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;constrain&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;stop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;HITL&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gate&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;steer&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stop&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;reflect&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;               &lt;span class=&#34;n&#34;&gt;MemoryReflector&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;—&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;memory&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;condensation&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;db&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                    &lt;span class=&#34;n&#34;&gt;SQLite&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;durable&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;store&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;window&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;bounds&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;history&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;durable&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cost&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ledger&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;github&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;                &lt;span class=&#34;n&#34;&gt;GitHub&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;issue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CI&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;run&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ingestion&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;via&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;gh&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CLI&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;shellEnv&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;              &lt;span class=&#34;n&#34;&gt;resolve&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PATH&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;and&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;shell&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;env&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;child&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;processes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;fs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;git&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt;           &lt;span class=&#34;n&#34;&gt;sandboxed&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;filesystem&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;git&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;bridges&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;preload&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                   &lt;span class=&#34;n&#34;&gt;contextBridge&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;→&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;typed&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;cth&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;API&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;n&#34;&gt;renderer&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;src&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;App&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tsx&lt;/span&gt;                  &lt;span class=&#34;n&#34;&gt;top&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;level&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;layout&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;wiring&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;design&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                  &lt;span class=&#34;n&#34;&gt;tokens&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;css&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tokens&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ts&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;global&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;css&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;design&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;source&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;of&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;truth&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;components&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;              &lt;span class=&#34;n&#34;&gt;PixelPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;AgentDetailPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;CommandBar&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ApprovalsPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;MemoryPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;CommandCenterPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;      &lt;span class=&#34;n&#34;&gt;Michael&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;s control surface (Terminal/Floor/Memory/Activity/Tasks/Triggers/Handbook tabs)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ToolWaterfall&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;           &lt;span class=&#34;n&#34;&gt;per&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agent&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;tool&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;span&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;waterfall&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;observability&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;view&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;TasksKanban&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;             &lt;span class=&#34;n&#34;&gt;dependency&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;aware&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;kanban&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;board&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Tasks&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;ThreadsPanel&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;            &lt;span class=&#34;n&#34;&gt;hive&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;message&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;conversation&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;viewer&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Messages&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;tab&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;MessageQueueComposer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;    &lt;span class=&#34;n&#34;&gt;park&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;busy&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agent&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;scene&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;office&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;n&#34;&gt;Pixi&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;office&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;floor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;OfficeFloor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Character&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;ne&#34;&gt;Camera&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;cast&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;pathfinding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;…&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;store&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;·&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;hooks&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;          &lt;span class=&#34;n&#34;&gt;zustand&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;store&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;event&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;loop&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;PTY&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;parser&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;typewriter&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;assets&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                  &lt;span class=&#34;n&#34;&gt;tilesets&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;maps&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;character&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;sheets&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;see&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;ATTRIBUTION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                        &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;logo&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;png&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;banner&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;png&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;landing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;page&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;GitHub&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Pages&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;→&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;munderdiffl&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;media&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;                  &lt;span class=&#34;err&#34;&gt;`&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;og&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;png&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;`&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;social&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;previews&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;rendered&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Remotion&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;clips&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;landing&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;remotion&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;            &lt;span class=&#34;n&#34;&gt;Remotion&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;project&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;that&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;renders&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;the&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;landing&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;page&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;s &amp;#34;how it works&amp;#34; clips&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;HIVE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;·&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;SPEC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;·&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;DESIGN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;   &lt;span class=&#34;n&#34;&gt;multi&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;agent&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;·&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;terminal&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;event&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;·&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;visual&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;design&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;docs&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;message&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;queue&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;md&lt;/span&gt;        &lt;span class=&#34;n&#34;&gt;who&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;may&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;into&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;an&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;agent&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;s terminal, and when&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div align=&#34;right&#34;&gt;(&lt;a href=&#34;#munder-difflin&#34;&gt;↑ back to top&lt;/a&gt;)&lt;/div&gt;
&lt;h2 id=&#34;design-system&#34;&gt;Design system
&lt;/h2&gt;&lt;p&gt;The aesthetic is &lt;strong&gt;Animal Crossing × Earthbound × SNES menu UI&lt;/strong&gt; — pixel-snapped, chunky, friendly.
&lt;a class=&#34;link&#34; href=&#34;./DESIGN.md&#34; &gt;&lt;code&gt;DESIGN.md&lt;/code&gt;&lt;/a&gt; is canonical; every component derives from its tokens. The Munder Difflin
brand layers a &lt;strong&gt;Dunder-Mifflin maroon&lt;/strong&gt; (&lt;code&gt;#6E1423&lt;/code&gt;) and &lt;strong&gt;gold&lt;/strong&gt; (&lt;code&gt;#F4D35E&lt;/code&gt;) on top for logo and
chrome. The 15 avatars are the cast of &lt;em&gt;The Office&lt;/em&gt;, differentiated by hair/skin/shirt recipes.&lt;/p&gt;
&lt;h2 id=&#34;roadmap&#34;&gt;Roadmap
&lt;/h2&gt;&lt;p&gt;Shipped through &lt;strong&gt;v0.4.3&lt;/strong&gt; — ten agent engines with BYOK keys and local LLMs, voice orchestration,
the hive (memory · mailboxes · blackboard · event log), Command Center with kanban and schedules,
a built-in Monaco IDE with git rails, integrations registry + secret broker, Slack-spawned workers,
shareable hires and the Agent Gallery, observability and the circuit breaker, durable persistence,
session resume, multi-window floors, and working auto-update.
Full history in &lt;a class=&#34;link&#34; href=&#34;./CHANGELOG.md&#34; &gt;&lt;code&gt;CHANGELOG.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Next up:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;More chat integrations&lt;/strong&gt; — Telegram and richer chat bridges that pipe a channel into Michael&amp;rsquo;s queue and route replies back out.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;More engines &amp;amp; integration templates&lt;/strong&gt; — keep growing the engine roster and the integrations registry.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Fuller avatar coverage&lt;/strong&gt; — drive the remaining station visits and tool-bubbles entirely from real hook events.&lt;/li&gt;
&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;strong&gt;Durable layout &amp;amp; command history&lt;/strong&gt; — extend persistence to agent layout and per-session history.&lt;/li&gt;
&lt;/ul&gt;
&lt;div align=&#34;right&#34;&gt;(&lt;a href=&#34;#munder-difflin&#34;&gt;↑ back to top&lt;/a&gt;)&lt;/div&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;Contributions are welcome — this is an early prototype with a lot of surface area. Start with
&lt;a class=&#34;link&#34; href=&#34;./CONTRIBUTING.md&#34; &gt;&lt;code&gt;CONTRIBUTING.md&lt;/code&gt;&lt;/a&gt;. The short version: fork, &lt;code&gt;npm install &amp;amp;&amp;amp; npm run dev&lt;/code&gt;, keep
&lt;code&gt;npm run typecheck&lt;/code&gt; green, and &lt;strong&gt;derive any new UI from &lt;a class=&#34;link&#34; href=&#34;./DESIGN.md&#34; &gt;&lt;code&gt;DESIGN.md&lt;/code&gt;&lt;/a&gt; tokens&lt;/strong&gt;. Good
first areas: wiring real hook events, the add-agent flow, the config drawer, and cross-platform work.&lt;/p&gt;
&lt;p&gt;Questions, bugs, or want to show off your office? Join the Discord: &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://discord.gg/SEDzP5ZPk5&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://discord.gg/SEDzP5ZPk5&lt;/a&gt;&lt;/strong&gt;. Add your Discord handle to a PR and you&amp;rsquo;ll get the &lt;code&gt;employee of the month&lt;/code&gt; role when it merges.&lt;/p&gt;
&lt;h2 id=&#34;telemetry&#34;&gt;Telemetry
&lt;/h2&gt;&lt;p&gt;Official builds send a &lt;strong&gt;small set of anonymous usage events&lt;/strong&gt; (app opened, agent spawned, feature
used) — never prompts, code, file paths, or agent output. The complete event list, the anonymity
guarantees, and the three ways to opt out (Settings toggle, &lt;code&gt;DO_NOT_TRACK&lt;/code&gt;, or building from
source — forks compile with no key and send nothing) are documented in
&lt;a class=&#34;link&#34; href=&#34;./TELEMETRY.md&#34; &gt;&lt;code&gt;TELEMETRY.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;License
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
&lt;strong&gt;Asset licensing.&lt;/strong&gt; The bundled pixel art (tilesets, maps, and the base character sheets the
Office cast is recolored from) comes from &lt;a class=&#34;link&#34; href=&#34;https://limezu.itch.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LimeZu&lt;/a&gt; via
&lt;a class=&#34;link&#34; href=&#34;https://github.com/shahar061/the-office&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;shahar061/the-office&lt;/code&gt;&lt;/a&gt; under the &lt;strong&gt;LimeZu FREE VERSION
license — non-commercial use only&lt;/strong&gt;. The recolored sprites inherit that restriction. See
&lt;a class=&#34;link&#34; href=&#34;./src/renderer/src/assets/ATTRIBUTION.md&#34; &gt;&lt;code&gt;src/renderer/src/assets/ATTRIBUTION.md&lt;/code&gt;&lt;/a&gt;. &lt;strong&gt;To
commercialize, replace these assets or obtain a paid LimeZu license.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;strong&gt;source code&lt;/strong&gt; is licensed under the &lt;strong&gt;MIT License&lt;/strong&gt; — see &lt;a class=&#34;link&#34; href=&#34;./LICENSE&#34; &gt;&lt;code&gt;LICENSE&lt;/code&gt;&lt;/a&gt;. The MIT grant
covers the code only; the non-commercial asset restriction above is carved out in the &lt;code&gt;LICENSE&lt;/code&gt; scope
note. &lt;em&gt;Munder Difflin&lt;/em&gt; is an affectionate parody and is not affiliated with NBC&amp;rsquo;s &lt;em&gt;The Office&lt;/em&gt; or
Dunder Mifflin.&lt;/p&gt;
&lt;h2 id=&#34;acknowledgements&#34;&gt;Acknowledgements
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://limezu.itch.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;LimeZu&lt;/a&gt; — pixel-art tilesets and character base sheets.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/shahar061/the-office&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;code&gt;shahar061/the-office&lt;/code&gt;&lt;/a&gt; — office tileset/map vendoring.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://pixijs.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Pixi.js&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://xtermjs.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;xterm.js&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/node-pty&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;node-pty&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://electron-vite.org/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;electron-vite&lt;/a&gt; · &lt;a class=&#34;link&#34; href=&#34;https://codemirror.net/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CodeMirror&lt;/a&gt; — the libraries this is built on.&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.remotion.dev/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Remotion&lt;/a&gt; — the landing page&amp;rsquo;s animated &amp;ldquo;how it works&amp;rdquo; clips (&lt;code&gt;landing-remotion/&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The Office&lt;/em&gt; (US) — for Munder Difflin, Inc.&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
