diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0f5e65d93..d8c528535 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -68,7 +68,7 @@ body: attributes: label: Munder Difflin version description: Settings → the version is on the hero card. Or `Munder Difflin → About`. - placeholder: e.g. 0.4.5 + placeholder: e.g. 0.5.5 validations: required: true - type: input diff --git a/.github/ISSUE_TEMPLATE/other.yml b/.github/ISSUE_TEMPLATE/other.yml index 5b688a248..216053556 100644 --- a/.github/ISSUE_TEMPLATE/other.yml +++ b/.github/ISSUE_TEMPLATE/other.yml @@ -9,9 +9,9 @@ body: feature request, please back out and pick that template instead: they ask for the details that make the report actionable. - For questions and ideas, the [Discussions](https://github.com/chaitanyagiri/munder-difflin/discussions) + For questions and ideas, the [Discussions](https://github.com/HarnessMD/munder-difflin/discussions) tab is usually faster. For anything security related, please use the private - [security advisory](https://github.com/chaitanyagiri/munder-difflin/security/advisories/new) + [security advisory](https://github.com/HarnessMD/munder-difflin/security/advisories/new) form rather than a public issue. - type: textarea id: details @@ -24,6 +24,6 @@ body: id: version attributes: label: Munder Difflin version (if relevant) - placeholder: "0.4.6" + placeholder: "0.5.5" validations: required: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4407152f4..2e42626b2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -37,7 +37,7 @@ much cheaper than finding out in review. ### Prerequisites - **macOS, Windows, or Linux** — signed/notarized macOS builds, plus Windows and - Linux builds, ship from the [releases page](https://github.com/chaitanyagiri/munder-difflin/releases/latest). + Linux builds, ship from the [releases page](https://github.com/HarnessMD/munder-difflin/releases/latest). Cross-platform smoke-testing and fixes are still very welcome (see [Good first areas](#good-first-areas)). - **Node.js 18+** and npm. @@ -133,7 +133,7 @@ negotiate, and every one of them is cheaper to avoid than to fix in review: - **Wholesale reformatting** of files, or a diff where the real change is buried in whitespace and import reordering. - **A rewrite nobody asked for.** Large architectural changes need an issue or a - [discussion](https://github.com/chaitanyagiri/munder-difflin/discussions) with + [discussion](https://github.com/HarnessMD/munder-difflin/discussions) with agreement **before** you write the code. We would rather say no to a paragraph than to a week of your work. - **Generated or unattributed content** — art that isn't yours or compatibly @@ -171,7 +171,7 @@ the module by module layout, and the design system. ## Commit & PR conventions - Branch off `main`. One change per PR — see - [What gets a PR closed](#what-gets-a-pr-closed). + [Where the bar is](#where-the-bar-is). - Write a clear description of *what* changed and *why*. We can read the diff; we cannot read your reasoning. - Say how you tested it, and on which OS. "Tested locally" tells us nothing. @@ -195,4 +195,4 @@ licensed, and you must add it to `ATTRIBUTION.md`. Don't add unlicensed assets. ## Questions -Open a [discussion or issue](../../issues) — happy to help you get oriented. +Open a [discussion](https://github.com/HarnessMD/munder-difflin/discussions) or an [issue](https://github.com/HarnessMD/munder-difflin/issues), and we will help you get oriented. diff --git a/README.md b/README.md index fc1e934b7..3475c807d 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,13 @@ ### Agent harness to run an office of your clones +
+ Website · + Download · + Discord · + Contributing +
+
@@ -13,10 +20,11 @@
-**Free, open source and performant.** 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're away and
-coordinates a whole office of agents on your own machine.
+**Free, open source and performant.** Munder Difflin is an agent harness for Claude Code, Codex
+and ten more coding agents: 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're away and coordinates a whole office of agents on your
+own machine.
Wraps [Claude Code](https://claude.com/claude-code), Antigravity (Gemini), OpenAI Codex,
**xAI Grok**, **Kimi Code**, **Gemini CLI**, **Qwen**, **OpenCode**, **Crush**,
@@ -30,8 +38,8 @@ visualized as avatars at work on a shared office floor.
-
-
+
+
@@ -42,16 +50,16 @@ visualized as avatars at work on a shared office floor.
-
Run an office of agents while you sleep.
-Ready to start? Download Munder Difflin or star it on GitHub.
+Ready to start? Download Munder Difflin or star it on GitHub.
@@ -141,7 +141,7 @@The Command Center is part of the free classic office. Download Munder Difflin, and if the board earns a -place in your morning routine, a star on GitHub helps other people find it.
+place in your morning routine, a star on GitHub helps other people find it. @@ -393,7 +393,7 @@There’s no loser here. It’s the same distinction as Rails vs. a deployed app: nobody asks which is “better,” because one is for builders of systems and the other is a system. If you’re still weighing categories, how to choose a multi-agent tool walks the wider field, and local-first vs cloud agent SDKs covers the deployment axis.
If your answer was “I just want the team,” that’s the job Munder Difflin exists for. Download the latest release — free, open source, local-first — and if it earns it, a GitHub star helps more people find it.
+If your answer was “I just want the team,” that’s the job Munder Difflin exists for. Download the latest release — free, open source, local-first — and if it earns it, a GitHub star helps more people find it.
Sources: CrewAI on GitHub; Microsoft Agent Framework overview; Migrating Semantic Kernel and AutoGen to Agent Framework; LangGraph.
@@ -362,7 +362,7 @@A shareable hire is a link you click. The whole point of the import pipeline is that clicking it stays as boring as it looks.
Shareable hires shipped in v0.2.8 — see the launch notes and the concept companion on shareable agent roles for the feature side, and the CHANGELOG for the full diff. The security posture here is the same one that runs through the rest of the harness: permission modes and sandboxing, the lethal trifecta, and human-in-the-loop on the actions that matter.
+Shareable hires shipped in v0.2.8 — see the launch notes and the concept companion on shareable agent roles for the feature side, and the CHANGELOG for the full diff. The security posture here is the same one that runs through the rest of the harness: permission modes and sandboxing, the lethal trifecta, and human-in-the-loop on the actions that matter.
@@ -408,7 +408,7 @@Grab the latest build from the releases page — and if the Copilot engine saves you a hire, a star on GitHub is how community contributions like PR #101 keep coming.
+Grab the latest build from the releases page — and if the Copilot engine saves you a hire, a star on GitHub is how community contributions like PR #101 keep coming.
@@ -368,7 +368,7 @@Grab the latest build from munderdiffl.in, and if the gallery saves you an afternoon of blank forms, -a GitHub star is appreciated.
+a GitHub star is appreciated. @@ -379,7 +379,7 @@Go to munderdiffl.in and download the build for your system, or take it straight from the -latest release on GitHub.
+latest release on GitHub.
macOS. Download the universal .dmg, which runs on Apple Silicon and Intel. Open it and drag
Munder Difflin into Applications. The app is signed and notarized by Apple, so the first launch only
@@ -580,7 +580,7 @@

The app is open source on GitHub. If you get +
The app is open source on GitHub. If you get stuck, the Discord is the fastest place to ask.
@@ -709,7 +709,7 @@The same brief discipline applies out loud. “Michael, goal: the changelog is updated for the release. Constraint: docs only. Deliverable: a commit on the release branch” is a complete voice brief. (Full details in the v0.3.2 launch post.)
Goal, constraints, budget, deliverable. Say it once, let Michael staff it, steer when reality changes, and answer your approvals. That’s the whole skill — and it’s the difference between a floor that looks busy and a floor that ships.
-Download Munder Difflin and brief your first floor — and if it ships something, a GitHub star is appreciated.
+Download Munder Difflin and brief your first floor — and if it ships something, a GitHub star is appreciated.
@@ -359,7 +359,7 @@That last step is the point. Human-in-the-loop approval is only as good as the human’s view of the change, and “I skimmed the agent’s summary” is not a view. A diff vs HEAD is. The built-in IDE closes the gap between the agent says it’s done and you know what done contains — inside the same window where the work happened.
The IDE ships in v0.3.3 for macOS, Windows, and Linux — grab the latest release, or start with the install guide if you’re new. If the review loop saves you an alt-tab, a GitHub star helps more people find it.
+The IDE ships in v0.3.3 for macOS, Windows, and Linux — grab the latest release, or start with the install guide if you’re new. If the review loop saves you an alt-tab, a GitHub star helps more people find it.
@@ -357,7 +357,7 @@It also adds its own failure modes. Munder Difflin shipped exactly this at first — a floating approvals panel — and learned the lesson the hard way: approving an item could re-queue it, because resolving an approval re-routed the message back into the queue. The -v0.1.7 release notes it plainly: +v0.1.7 release notes it plainly: “Moving to native HITL removes the panel and the bug.” Deleting the abstraction deleted the class of bug with it.

It is not a ranking of quality. It is not a claim that any of these projects has beaten the company it is lined up against. Some of those companies are worth a trillion dollars and will be fine. The point is simpler: in almost every corner of AI, there is now an open source option started by an Indian team, and plenty of developers are choosing it.
A few of these companies now have a US office or headquarters. We counted a project if Indian founders or developers started it.
-Missed one? We almost certainly did. Tell us on GitHub and we will look at it for the next list.
+Missed one? We almost certainly did. Tell us on GitHub and we will look at it for the next list.
@@ -694,7 +694,7 @@A note on what’s in here. Everything described below shipped in the v0.2.0 milestone (48 commits since v0.1.9). Where a change closed a specific issue or merged a specific PR, we’ve credited the contributor and -the issue/PR number — the same credits appear in the CHANGELOG.
+the issue/PR number — the same credits appear in the CHANGELOG.
The Command Center — Michael’s control surface — got the biggest single overhaul of the release. It’s now the @@ -304,7 +304,7 @@
And, as ever, maintained by @chaitanyagiri. If you want the full, line-by-line list with every credit, the -CHANGELOG has it.
+CHANGELOG has it.Munder Difflin is free, open source (MIT), and local-first on macOS, Windows, and Linux. If you’ve already got it, upgrading is in-place — your hive, memory, and schedules carry forward, and you can one-click Restore team @@ -312,7 +312,7 @@
This release exists because people filed issues, sent PRs, and told us what hurt. If v0.2.0 fixed something you -reported: thank you. If it didn’t fix something you’re hitting, open an issue — +reported: thank you. If it didn’t fix something you’re hitting, open an issue — the next release is built the same way this one was.
@@ -436,7 +436,7 @@Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux. No account. No cloud. Your machine, your subscriptions, your floor.
-Download v0.2.4 — install the CLIs you want (claude, agy, and/or codex), add them to the floor, and brief your first GOD orchestrator.
Want the deep dive on how every piece works? That’s the technical walkthrough. Full release notes live in the CHANGELOG.
+Download v0.2.4 — install the CLIs you want (claude, agy, and/or codex), add them to the floor, and brief your first GOD orchestrator.
Want the deep dive on how every piece works? That’s the technical walkthrough. Full release notes live in the CHANGELOG.
That’s it. Go build a floor.
@@ -393,7 +393,7 @@plus the multi-provider parity (Claude Code + Antigravity + Codex, no second-class citizens), shared memory, the inbox/outbox mailbox, schedules, token budgets, close-the-lid overnight runs, and Slack/webhook triggers. the floor you already love, now with a front door for new coworkers.
Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux. no account, no cloud — your machine, your subscriptions, your floor.
-Download v0.2.8, then head over to The Hiring Fair, find a coworker, and hit ⚡hire. review the modal. spawn it. watch Pam get to work.
+Download v0.2.8, then head over to The Hiring Fair, find a coworker, and hit ⚡hire. review the modal. spawn it. watch Pam get to work.
want the why-it’s-built-this-way story? read the concept companion on shareable agent roles. want the trust model and threat surface in detail? that’s the hire manifest security deep-dive. curious how we even ended up with a Dwight in the first place? the Office parody behind Munder Difflin explains the casting. and if you missed the multi-provider launch, v0.2.4 is right here.
-full release notes live in the CHANGELOG.
+full release notes live in the CHANGELOG.
that’s it. go hire someone. (Dwight is already volunteering.)
@@ -398,7 +398,7 @@the floor you already love — now engine-agnostic, with a front door for your tools and a self-cleaning worker on the other end of Slack.
Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux. no account, no cloud — your machine, your subscriptions, your floor.
-Download v0.3.0, then pick an engine for your first hire, browse the Agent Gallery, and — if you’re feeling brave — point a Slack channel at Michael and watch him spawn a worker, answer, and tidy up after himself.
+Download v0.3.0, then pick an engine for your first hire, browse the Agent Gallery, and — if you’re feeling brave — point a Slack channel at Michael and watch him spawn a worker, answer, and tidy up after himself.
curious how the orchestrator decides any of this? read how the god orchestrator works. want the local-first philosophy? that’s why local-first matters. missed the last launch? v0.2.8 shareable hires is right here.
-full release notes live in the CHANGELOG.
+full release notes live in the CHANGELOG.
that’s it. go pick a brain, plug in a tool, and let Michael run the floor. (he’d like you to know the engine is now his choice too.)
@@ -390,7 +390,7 @@the floor you already run — now with a regional manager you can actually call.
Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux. no account, no cloud for the floor itself — your machine, your subscriptions, your office.
-Download v0.3.2, set your OpenAI key under Settings → AI Engines, hit Talk, and ask Michael what everyone’s working on. then — if you’re feeling brave — tell him to spawn someone, listen to him read the plan back, and say the magic word.
+Download v0.3.2, set your OpenAI key under Settings → AI Engines, hit Talk, and ask Michael what everyone’s working on. then — if you’re feeling brave — tell him to spawn someone, listen to him read the plan back, and say the magic word.
curious how the orchestrator decides any of this under the hood? read how the GOD orchestrator works. want the last launch? v0.3.0’s platform release is right here.
-full release notes live in the CHANGELOG.
+full release notes live in the CHANGELOG.
that’s it. go pick up the phone. (Michael’s been waiting for someone to call.)
@@ -391,7 +391,7 @@The Copilot adapter arrived as PR #101 +
The Copilot adapter arrived as PR #101 from Anas Khan (@anxkhn) — the first provider added by someone outside the project, complete with a registry test and live verification against the real CLI. That’s exactly the kind of contribution the preset registry was designed for. Thank you, Anas. If -there’s a CLI agent you want on the floor, the door is open.
+there’s a CLI agent you want on the floor, the door is open.
Download v0.3.3 for macOS, +
Download v0.3.3 for macOS,
Windows, or Linux — or clone and npm run dev. Free, MIT-licensed, local-first, and everything
from v0.3.2 and earlier — Talk mode, the Agent Gallery, MemPalace memory, the Command Center —
still ships.
If Munder Difflin is useful to you, a -star on GitHub is the single biggest way to +star on GitHub is the single biggest way to help it reach more people.
@@ -382,7 +382,7 @@Download v0.3.5 for +
Download v0.3.5 for
macOS, Windows, or Linux — or clone and npm run dev. On v0.3.4? Do nothing — the update
toast will find you. Free, MIT-licensed, local-first.
If Munder Difflin is useful to you, a -star on GitHub is the single biggest way +star on GitHub is the single biggest way to help it reach more people.
@@ -402,7 +402,7 @@The Chinese work came from the community. @Schopenhauer-loves-Hegel -opened PR #205 and built the entire +opened PR #205 and built the entire foundation: react-i18next mounted, the language picker, and then the slow part, walking every screen and pulling out hardcoded strings. The office floor, the Command Center, Settings, the setup wizard, the triggers tabs, the Kanban board, the IDE panels. It is a little under 1,200 strings. @@ -240,9 +240,9 @@
The Arabic and right to left groundwork started as -PR #213 from +PR #213 from @abo123v-glitch, including the terminal shaping recipe, which is the fiddly part.
Three things, plainly.
Engine command launching is hardened. When an agent launches its CLI, the command name is now @@ -307,14 +307,14 @@
Everything in the funnel is a closed list of values: which engine, and one of four reasons a spawn failed. No prompts, no code, no file paths, no agent output, ever. The full list of every event and every -property is in TELEMETRY.md, +property is in TELEMETRY.md, and it is short on purpose.

About that re-implemented one. PR #213 +
About that re-implemented one. PR #213 counts because the work shipped, not because it merged. We split it, took the terminal half, then re-implemented the UI half against the language picker that landed after it was written. The code ships and the design is theirs. On GitHub the pull request still reads as unmerged, which looks @@ -363,7 +363,7 @@
If you are on 0.3.5 or later the app will offer the update itself, and this time clicking the badge actually installs it. Fresh install: munderdiffl.in. Every receipt -is in the changelog.
+is in the changelog.If you run the app in Chinese or Arabic, we want to hear what is broken. Especially Arabic, and especially the wording, since nobody who reads it has checked it yet.
@@ -488,7 +488,7 @@The source on GitHub stays MIT licensed. 0.5.2 itself is a binaries only release: its -GitHub release carries the installers, not +GitHub release carries the installers, not the 0.5.2 source.
Download it from the download page, pick your system, and install it like any @@ -320,31 +320,31 @@
The model gives you the inner loop; the outer loop is the product. Verified stop conditions, drain loops with anti-recursion guards, backoff, scheduled compaction, a breaker ladder, progress tripwires, budget bounds, and human exits — stacked together, they’re why a floor of agents can run for days and converge on finished work instead of a bill.
-Munder Difflin ships this outer loop as a free, MIT-licensed, local-first desktop app for the agent CLIs you already run. Download it, and if the loop-nerdery resonates, a GitHub star helps more people find it.
+Munder Difflin ships this outer loop as a free, MIT-licensed, local-first desktop app for the agent CLIs you already run. Download it, and if the loop-nerdery resonates, a GitHub star helps more people find it.
What is an agentic loop? The cycle an agent runs each turn: gather context, act, verify, repeat. The outer loop is everything the harness wraps around it — continue, retry, escalate, stop.
What makes a loop converge? A verified progress measure, hard bounds, and designed exits. Missing any one of the three, you’ve built a runaway.
@@ -357,7 +357,7 @@Checked on 26 September 2026 against Meta’s help page, SpaceXAI’s security FAQ and the Munder Difflin repo.
Muse has the stronger locks of the two hosted agents. Each person gets a separate Linux computer in the cloud. A guard called Sentinel sits outside the agent and has to approve anything that goes to the internet, and there are classifiers that look for prompt injection, where a web page or email tries to give the agent orders. Your passwords are kept in a store the model cannot see and are added at the network edge only when a task needs them. Payments use one time cards. Before it sends an email or buys something, it asks you, and Meta says many of those checks run outside the AI, so a tricked model cannot skip them.
The trade is data. Muse works best when it can reach your email, calendar, payments and more. A WIRED reporter found it kept suggesting more personal data to hand over, from reading financials to photographing meals. And by default your chats can be used to train Meta’s models.
@@ -398,7 +398,7 @@Four came from people outside the team, on Windows, through the public repository:
Plus the rest that landed through September: release drop pictures and fonts, Stapler drift and dark mode, the sent to toast, memory cards that no longer clip in Chinese, status dots, the canvas design skill @@ -357,7 +357,7 @@
The app updates itself: you will see the new version offered, and the release notes appear once on -first launch. To install fresh, the releases +first launch. To install fresh, the releases page has macOS, Windows and Linux builds.
Munder Difflin is free and open source. The Pro annual plan is on a launch offer at $150 USD, adjusted for
purchasing power so it is as low as $100 a year in some countries. If this is your first look, your first
@@ -490,7 +490,7 @@ Launching Munder Difflin v0
Topics
About
RSS
- GitHub
+ GitHub
munderdiffl.in ↗
diff --git a/docs/blog/munder-difflin-faq/index.html b/docs/blog/munder-difflin-faq/index.html
index 3d5fecc0f..040498a8b 100644
--- a/docs/blog/munder-difflin-faq/index.html
+++ b/docs/blog/munder-difflin-faq/index.html
@@ -201,7 +201,7 @@
Munder Difflin FAQ: Everything People Ask
coordinated hive — shared memory, messaging, and a GOD orchestrator you talk to — on macOS,
Windows, and Linux. The full answers to the questions people ask most are below.
This page answers the questions we hear most about Munder Difflin, kept short and direct. If your -question isn’t here, the GitHub repo and the rest +question isn’t here, the GitHub repo and the rest of the blog go deeper.
Munder Difflin is a multi-agent harness for Claude Code: it @@ -386,7 +386,7 @@
The task kanban board (Command Center → Tasks) now has a dismiss button on each card. Previously, cards in the done column accumulated indefinitely — useful for audit purposes, but increasingly noisy in a busy office. The ✕ button removes a card from view without deleting the underlying task record. A clean board is easier to work from; this makes keeping it clean a one-click operation.
Everything from v0.2.0 (observability, circuit breaker, fleet monitoring, persistence), v0.2.1 (queue-aware compaction, inbox-driven heartbeat), v0.2.2 (context gauges, all-human-dispatch-through-god, community fixes), and v0.2.3 (multi-provider foundation, Schedules tab, tunnelmole) is included. The full log is in the CHANGELOG.
+Everything from v0.2.0 (observability, circuit breaker, fleet monitoring, persistence), v0.2.1 (queue-aware compaction, inbox-driven heartbeat), v0.2.2 (context gauges, all-human-dispatch-through-god, community fixes), and v0.2.3 (multi-provider foundation, Schedules tab, tunnelmole) is included. The full log is in the CHANGELOG.
To use the new providers: install the relevant CLIs (agy for Antigravity, codex for OpenAI Codex) and put them on your PATH. When you add a worker in the Add Agent dialog, select the provider. The hive handles the rest.
Download v0.2.4 from the releases page. Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux.
+Download v0.2.4 from the releases page. Munder Difflin is free, open source, and local-first on macOS, Windows, and Linux.
@@ -370,7 +370,7 @@Within a few minutes, five pull requests had detailed automated reviews posted as comments — all from the same batch, all timestamped within seconds of each other. Not summaries. Not stubs. Real reviews with a summary of what the PR does, a ✅ section for what’s working, pointed questions about edge cases, and actionable requests where something needed follow-up.
A few examples, grounded in what’s actually on GitHub:
-PR #39 — fixing an invisible text-cursor on the cream theme. The review caught that this was the correct follow-up to the earlier caret-color fix, analyzed the SVG structure (ink stroke layered over a cream halo for contrast), and flagged the UA fallback as appropriate. Clean, scoped, nothing missed.
PR #34 — fixing the Windows usage meter reading 0/0. The review correctly identified that the reconciler’s POSIX path-encoding rule (replace(/^\//,'').replaceAll('/','-')) never matched Windows directory names, and explained why gating on process.platform === 'win32' with a different encoding was the right fix.
PR #33 — enforcing the assistant’s send-only contract at the router level. The review described the bounce behavior accurately, confirmed the scope was correctly limited to route()'s direct-mail path (broadcast already filters assistants), and called it a surgical fix for issue #32.
PR #26 — terminal theme toggle plus Unicode 11 emoji widths. The review caught the earlier design issue (using claude config set -g would restyle the user’s own external Claude sessions) and confirmed the correction — mirroring the theme into per-agent settings files at spawn — was the right scoping.
PR #12 — the statusLine context gauge. This was the most complex PR in the batch: three follow-up commits, a ratcheting limit heuristic, and a statusLine-based push mechanism replacing transcript polling. The review identified a real gap — a NaN that would survive the Math.min/max clamp — and Gulum addressed it in a follow-up commit with a Number.isFinite guard.
PR #39 — fixing an invisible text-cursor on the cream theme. The review caught that this was the correct follow-up to the earlier caret-color fix, analyzed the SVG structure (ink stroke layered over a cream halo for contrast), and flagged the UA fallback as appropriate. Clean, scoped, nothing missed.
PR #34 — fixing the Windows usage meter reading 0/0. The review correctly identified that the reconciler’s POSIX path-encoding rule (replace(/^\//,'').replaceAll('/','-')) never matched Windows directory names, and explained why gating on process.platform === 'win32' with a different encoding was the right fix.
PR #33 — enforcing the assistant’s send-only contract at the router level. The review described the bounce behavior accurately, confirmed the scope was correctly limited to route()'s direct-mail path (broadcast already filters assistants), and called it a surgical fix for issue #32.
PR #26 — terminal theme toggle plus Unicode 11 emoji widths. The review caught the earlier design issue (using claude config set -g would restyle the user’s own external Claude sessions) and confirmed the correction — mirroring the theme into per-agent settings files at spawn — was the right scoping.
PR #12 — the statusLine context gauge. This was the most complex PR in the batch: three follow-up commits, a ratcheting limit heuristic, and a statusLine-based push mechanism replacing transcript polling. The review identified a real gap — a NaN that would survive the Math.min/max clamp — and Gulum addressed it in a follow-up commit with a Number.isFinite guard.
Five reviews. One prompt. The reviews were posted so close together (all within seconds, around 2026-06-07T01:47) that they clearly came from a single agent run. The whole batch took a few minutes I spent doing something else.

Pick Munder Difflin if your bottleneck is you being required at all: you want work triggered from Slack or a schedule, routed by an orchestrator, informed by shared memory, and bounded by budgets and approval gates while it runs overnight.
And genuinely: you can run both. Same CLIs, same subscriptions, same machine, no conflict. Orca for the sessions you drive; Munder Difflin for the office that keeps working when you stop. (For the broader decision framework, see how to choose a multi-agent tool.)
-If the office side sounds like your bottleneck, grab the latest release — and if it earns it, a GitHub star helps more people find it.
+If the office side sounds like your bottleneck, grab the latest release — and if it earns it, a GitHub star helps more people find it.
@@ -412,7 +412,7 @@Reading diffs is code-level review. But half of supervising agents is decision-level review: should this agent spend that much, delete that thing, expand that scope? The GOD orchestrator handles the routine traffic itself and escalates only critical items — spend, destructive ops, scope changes — into an approvals queue you act on. That’s the human-in-the-loop gate, and it’s deliberately the same shape as the IDE: the decision comes to you, in the app, with context attached.
Put together, the review story has two lanes and zero alt-tabs. Approvals catch the should we questions before damage happens; the IDE’s diff rail catches the what actually happened questions before code merges. Both live where the agents live. The supervision loop stays unbroken, review stays cheap, and cheap review is review that actually happens.
-Agents got fast. The winning move isn’t reviewing less — it’s moving review to where the work is. Grab the latest release and try the IDE button, and if the floor earns it, a GitHub star helps more people find it.
+Agents got fast. The winning move isn’t reviewing less — it’s moving review to where the work is. Grab the latest release and try the IDE button, and if the floor earns it, a GitHub star helps more people find it.
@@ -348,7 +348,7 @@Isolation keeps them from colliding: each hire gets its own pseudo-terminal and, with the git-isolation toggle, its own worktree — seven engines, zero branch fights.
Don’t design the org chart up front. Hire Claude Code as Michael, add one Codex or Copilot desk for a real coding task, and one OpenCode desk on a Groq or Ollama model for something routine. Watch what each engine is actually good at on your work, then grow the floor around the evidence.
-Munder Difflin is free, MIT-licensed, and local-first. Grab the latest release and try a mixed floor — and if it earns a spot in your toolkit, a GitHub star helps more people find it.
+Munder Difflin is free, MIT-licensed, and local-first. Grab the latest release and try a mixed floor — and if it earns a spot in your toolkit, a GitHub star helps more people find it.
@@ -352,7 +352,7 @@The full notes are on the -releases page, and if you want +releases page, and if you want the wider version of this argument, the multi-agent cost playbook is about spending less rather than counting it correctly. Both matter. Counting it correctly comes first, because you cannot @@ -480,7 +480,7 @@
The DIY path isn’t wrong; it’s version one. Every feature above started life as somebody’s shell script, and if you kept iterating on your tmux setup — add a router script, a memory file, a budget checker, a Slack bridge, a recovery script — you’d converge on a harness. Munder Difflin is that convergence, already built, MIT-licensed, and local-first, so the six months of scripting goes into your actual work instead.
-If you’re at two panes, enjoy them. If you’re at five and tired of being the message bus, download the latest release — and if it saves you a script or two, a GitHub star is appreciated.
+If you’re at two panes, enjoy them. If you’re at five and tired of being the message bus, download the latest release — and if it saves you a script or two, a GitHub star is appreciated.
@@ -349,7 +349,7 @@None of these guardrails would matter for a demo. All of them matter for a control plane you use daily — and the whole path (connect, ask, confirm, spawn, kill, dispatch, completion spoken back) was human-verified end-to-end on a real key before it shipped.
Judge voice by the payload you put on it. As an authoring channel for code, it loses to a keyboard every time. As a control plane for a fleet — delegation, status, approvals, completions — it’s the natural interface, provided it’s built like infrastructure: confirmations for anything destructive, a distinct audit identity, caps on spend, and a timeout on silence. That’s the difference between a gimmick and a plane you’d actually fly.
-If you want to try the case study, download Munder Difflin — free, MIT-licensed, local-first — and if the idea resonates, a star on GitHub helps more people find it.
+If you want to try the case study, download Munder Difflin — free, MIT-licensed, local-first — and if the idea resonates, a star on GitHub helps more people find it.
@@ -350,7 +350,7 @@
And if the office model sounds like your level of delegation: Munder Difflin is free, MIT-licensed, and local-first — grab the latest release, and if it earns it, a GitHub star helps more people find it.
+And if the office model sounds like your level of delegation: Munder Difflin is free, MIT-licensed, and local-first — grab the latest release, and if it earns it, a GitHub star helps more people find it.
Sources: Letta — Introducing the Agent Development Environment; Orca (stablyai/orca); Orca — onorca.dev; Augment Code — What is an agentic development environment?; @@ -353,7 +353,7 @@
The circuit breaker — graduated intervention, not a kill switch. The cost/runaway guard runs a steer → constrain → stop ladder: nudge an agent that’s looping, constrain it if it persists, stop it if it storms errors or blows its per-agent token budget. Paired with approval gates on spend and destructive ops, this is what makes 24/7 autonomy something you can actually sleep through — part of the larger practice of building reliable AI agents.
The pattern across all four: reliability was engineered into the environment, not prompted into the model. Each subsystem exists because a specific failure mode exists, and each closes that failure mode for every model, every provider, permanently. Swap Claude for Codex or a local model tomorrow — the breaker still breaks, the mail still routes, the memory still recalls. That’s what “the model is a commodity” means in practice: the harness is the part that compounds.
-If you want to see a harness rather than read about one, download Munder Difflin — free, MIT-licensed, local-first — and if the idea resonates, a GitHub star helps more people find it.
+If you want to see a harness rather than read about one, download Munder Difflin — free, MIT-licensed, local-first — and if the idea resonates, a GitHub star helps more people find it.
Sources: Mitchell Hashimoto — My AI Adoption Journey; Faros AI — Harness Engineering: Making AI Coding Agents Work in 2026.
@@ -354,7 +354,7 @@docs/message-queue.md.
+docs/message-queue.md.
v0.3.5 closed the last hole in it: pausing floor-wide delivery used to strand every queued message with no override and no explanation. Each row now gets a send now link that bypasses only the pause gate, and the composer says exactly why the queue is being held.
@@ -310,7 +310,7 @@You’ll need to install v0.3.7 by hand, once. Your current build carries the broken updater, so it can’t fetch the fix that repairs it — the one bootstrap problem a self-updating app cannot solve for itself.
-Download v0.3.7 — +
Download v0.3.7 — macOS (signed and notarized), Windows, Linux. Free, MIT-licensed, local-first, and after this one manual step, it keeps itself current.
You’ll need to install v0.3.7 by hand, once. Your current build carries the broken updater, so it can’t fetch the fix that repairs it — the one bootstrap problem a self-updating app can’t solve for itself. Grab it from munderdiffl.in or the -releases page.
+releases page.After that, it updates itself. For real this time — and if it ever doesn’t, it’ll tell you why.
@@ -412,7 +412,7 @@Munder Difflin is for the moment you’ve felt the wall — three or more agents, context evaporating, you alt-tabbing as the message bus. It’s the office of agents I wanted @@ -332,7 +332,7 @@
That is the hour: download, one CLI, sign in, Pro, a mixed team, and five jobs that keep running while you do something else. Once it runs, build your personal AGI turns that office into a team that briefs you, sweeps pull requests, remembers you and answers from Slack. Download Munder Difflin, and if the hour earns it, a GitHub star helps other people find it.
+That is the hour: download, one CLI, sign in, Pro, a mixed team, and five jobs that keep running while you do something else. Once it runs, build your personal AGI turns that office into a team that briefs you, sweeps pull requests, remembers you and answers from Slack. Download Munder Difflin, and if the hour earns it, a GitHub star helps other people find it.
@@ -473,7 +473,7 @@Code & docs: HIVE.md · SPEC.md · DESIGN.md · github.com/chaitanyagiri/munder-difflin
+Code & docs: HIVE.md · SPEC.md · DESIGN.md · github.com/HarnessMD/munder-difflin
Thanks 🙏 now go harness something.
diff --git a/docs/index.html b/docs/index.html index d8bfbb65c..75b6c9505 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,7 +31,7 @@ - + @@ -860,7 +860,7 @@ Discord Sign in - ★ 6.7K + ★ 6.7K Download @@ -874,7 +874,7 @@ Blog Discord Sign in - ★ 6.7K on GitHub + ★ 6.7K on GitHub @@ -940,7 +940,7 @@What we count: buckets and fixed words only, no email, no account id, no payment id, nothing you typed. The table is public in TELEMETRY.md and Do Not Track turns it off.
+What we count: buckets and fixed words only, no email, no account id, no payment id, nothing you typed. The table is public in TELEMETRY.md and Do Not Track turns it off.
@@ -1254,7 +1254,7 @@Download Munder Difflin, hire your first clone, and come back to finished work.
@@ -440,7 +440,7 @@ Blog Discord Sign in - ★ 6.7K on GitHub + ★ 6.7K on GitHub @@ -807,15 +807,15 @@These are two different licences covering two different parts of the same download, and the difference is easy to miss.
All source code is released under the MIT Licence. You may use, copy, modify, merge, publish, distribute, sublicense and sell copies of it, subject to including the copyright notice. Nothing on this page reduces the rights the MIT Licence grants you over the code.
+All source code is released under the MIT Licence. You may use, copy, modify, merge, publish, distribute, sublicense and sell copies of it, subject to including the copyright notice. Nothing on this page reduces the rights the MIT Licence grants you over the code.
The pixel art assets bundled with the app, meaning the tilesets and maps under src/renderer/src/assets/, are Modern Interiors - RPG Tileset [16X16] by LimeZu, used under the Complete Version licence. That licence permits editing and use in commercial and non commercial projects alike, and it requires credit to LimeZu, which we give here and in the repository.
The Office cast is not LimeZu art. Every character portrait and walking sprite is drawn procedurally by the app itself, and is covered by the MIT licence like the rest of the code. See ATTRIBUTION.md for the detail.
+The Office cast is not LimeZu art. Every character portrait and walking sprite is drawn procedurally by the app itself, and is covered by the MIT licence like the rest of the code. See ATTRIBUTION.md for the detail.
In short: the code is yours to do almost anything with; the artwork that ships alongside it is not. If you are unsure whether your use counts as commercial, assume it does and clear the asset licence first.
@@ -266,7 +266,7 @@These terms are governed by the laws of India, and the courts of India shall have jurisdiction over any dispute arising from them, without prejudice to any mandatory consumer protections available to you where you live.
Questions about these terms: girichaitanya11@gmail.com, or open an issue on GitHub. Security reports have their own route — see SECURITY.md.
+Questions about these terms: girichaitanya11@gmail.com, or open an issue on GitHub. Security reports have their own route — see SECURITY.md.
See also the Privacy Policy.
@@ -277,7 +277,7 @@