Red squiggles for agents: building Weft with Weft

GitHub coordinates people at merge time. Agents need coordination at edit time. Weft is my entry to Cloudflare's next-Git-platform competition, and the agents that built it were coordinated by it.

Red squiggles for agents: building Weft with Weft

Cloudflare asked a good question this month: what does the next GitHub look like when most of the code is written by agents?

My answer is that the problem isn't the website. It's the timing.

Merge time is too late

GitHub coordinates people at merge time. You branch, you work for a while, you open a pull request, and only then do you find out that someone else changed the function you depended on.

That works for humans because humans collide rarely, and a merge conflict once a week is fine.

Agents collide constantly. Put ten of them on one codebase and the merge queue becomes the bottleneck. You get a pile of conflicts at the end, and a pile of pull requests nobody can read.

Worktrees don't fix this. They give every agent its own copy of the files, which is the easy part. Nobody can see that agent 3 and agent 7 are both rewriting the auth module until it's too late.

Edit time is where the squiggles live

Think about a human in an editor. You type a call to a function that doesn't exist and a red squiggle appears before you've saved the file.

Agents already react to that kind of signal. Show a model "error: refreshToken expects 2 arguments" and it fixes the call without being told.

So Weft makes the squiggles multi-agent.

Every coding agent changes code through tool calls: Edit, Write, apply_patch, a shell command. Weft hooks those calls. Each edit goes into one strictly ordered log per repository, with the symbols it reads and writes. A sequencer checks it against everything that landed since the agent last synced.

If another agent already changed something you depend on, you get a diagnostic inside your run, the same way a compiler error shows up. Exactly one side gets told to adapt, by log order and priority, so nobody retreats in circles. The agent can rework, wait, or negotiate with the other agent.

The conflict gets resolved while the code is being written, before any commit exists.

The parts

  • One log per repo, held by a Cloudflare Durable Object. Its single-instance guarantee is the leader election, so I didn't have to write Raft.
  • Artifacts for the repos: a trunk, and a cheap fork for every agent attempt.
  • Adapters for Claude Code, Codex, OpenCode and Hermes over their native hooks. The protocol (WCP) is open, and I've written it up as a proposal for a shared standard, the way MCP standardized tools.
  • Evidence and landing: previews, screenshots, a review agent, one serialized queue onto trunk, and automatic revert. In the demo a planted bug was reverted 43 seconds after it landed.

The editor disappears

The part I care about most: if agents write the code, nobody is watching an editor anymore.

So the human surface in Weft is a feed. Intent, edits, warnings, negotiations, landings, reverts. I watch it on my phone, and I can approve, pause, undo, or message an agent from there.

Built under Weft

The agents building Weft were coordinated by Weft. In the first eleven hours its own log recorded 627 events: 460 edits from three agent profiles across 25 tasks, 73 checkpoints and 18 landings, with 59 warnings that told one agent to wait for another.

[TODO: one or two sentences in your own words on what it felt like to watch that feed, or what surprised you.]

Try it