Skip to content

The story

I just wanted
to publish books.

How being the human copy‑paste between two AIs turned into a tool for coordinated contradiction — one shared pen, one writer at a time.

⭐ Star on GitHubRead the docs
01 — THE GENESIS

It started with a book factory

I'd built a pipeline to help write and publish novels, almost end to end. But a single AI, left to itself, is just vibe coding — you ship more than you review. With no one to push back, it goes off the rails exactly like a developer who never gets a code review: it drifts, and nobody notices.

02 — THE BOTTLENECK

So I put two AIs to work together

One produces, the other challenges. That contradiction changed everything. The catch: to get a second opinion I was passing context from one AI to the other by hand. I had become the human copy‑paste — the message bus between two assistants blind to one another.

Two AIs, one repo — and the last save wins.

Two AIs editing the same repository: a merge conflict on the left, one aligned pen on the right.
Without a lock, edits collide. With one shared pen, they align.
03 — THE INSIGHT

What was missing was a talking stick

Two agents writing to the same repository at the same time is a meeting where everyone talks at once: nobody is heard, and the last save overwrites the rest. The real answer fit in one word — a lock. Exactly one writer at a time.

04 — THE FIX

One file, one shared pen

That lock is M8Shift. A single Python file you drop at the root of a project, and one shared “pen”: an agent must claim it before touching the code — otherwise it waits its turn. It works, records what it did and what it needs next, then hands the pen on. All the coordination lives in a file versioned with your code.

The M8Shift relay loop between two agents: claim, work, append, wait — exactly one writer at a time.
claim → work → hand off, in a loop — exactly one writer at a time.

A small infrastructure for contradiction.

05 — THE WHY

Not one agent replacing judgment

I never wanted to hand my judgment to an “AI team”, nor to a black‑box orchestrator deciding for me. I wanted several minds that don't think alike kept in the same loop — their disagreements made visible, instead of buried in separate chats.

M8Shift isn't a productivity hack. It's a way to keep multiple competent, evolving viewpoints in play without letting them overwrite each other.

06 — THE PAYOFF

The time, given back

Today two AIs work hand in hand for hours — one can wait more than an hour and a half for the other to finish, then pick up as if nothing happened. Producing, challenging, cross‑reviewing: real teamwork. And while it runs, I'm not in front of my screen.

90 min+autonomous waiting, then resume
days → monthsof time saved, no longer counted in hours
≈ $00 server · 0 API key · 1 file
07 — BUILT WITH ITSELF

Dogfooded by design

M8Shift is developed using M8Shift: one AI writes the code, another reviews it, and they hand off through the very pen they're building. The contradiction is the point — and it's all open source, under the Apache 2.0 license.

The AIs pass the pen. I keep the direction.

A HANDOFF.log terminal showing numbered turns from claude and codex: who wrote, what changed, what is next.
Every handoff recorded — a grep-able journal, versioned with your code.

Coordinate your AI teammates

Free and open source. One file. No server, no API key.

⭐ Star on GitHubGet startedJoin r/m8shift

Built with ❤️ and M8Shift · Accessibility · r/m8shift