DELIVERY SUITE

Specs that ship themselves.

Delivery turns ranked priorities into build-ready specs, lands them in Cursor or Claude Code, watches the PR, and tells customers when their feedback shipped.

01 · Spec

The first draft is already written.

This is the translation layer — one artifact, drafted from the signal behind a priority. Five sections: What to Build, Why It Matters, Customer Voice, Files to Touch, Done When. Cited line by line.

Circuit
#2in Bug Fixes

Resolve co-edit conflicts in AI rewrites

14 signals·6 accounts·Bug
What to Build

When two people edit a block while AI is rewriting it, merge their changes instead of dropping one. Lock the block to the rewrite, then replay queued edits when it lands.

Customer Voice
"the AI rewrite wiped my teammate's edit while we were both in the same block"
Files to Touch
  • src/canvas/co-edit.ts
  • src/ai/rewrite-merge.ts
  • tests/co-edit.test.ts
Briefs from signal, not a blank page.

Click a priority and the brief drafts itself from the underlying feedback — problem statement, jobs-to-be-done, acceptance criteria, edge cases and risks. You edit a draft instead of writing one.

One artifact, opened from anywhere.

Click a priority, a roadmap card, a customer record or a spec map node — the same spec opens. No promotion ritual, no two-document sync. The brief, the spec, the build are one thing.

Refine in natural language.

“Sharpen the acceptance criteria.” “Add technical constraints.” “Simplify to one paragraph.” The spec updates and the previous version is kept. No re-writing from scratch.

— Also includes
Five sections, every time.
What to Build, Why It Matters, Customer Voice, Files to Touch, Done When. The shape doesn’t drift between specs.
Edit in place.
Change any section inline. Edits are tracked as yours, not the model’s.
Version history.
Every draft and refine is kept. Compare versions, view any previous one read-only.
Trajectory in the header.
The spec shows whether the underlying priority is warming, hot, cooling or dormant as you draft.
Quality grade.
Each spec carries a readiness score, with a prompt to refresh if the underlying signal moves on.
Regenerate from new signal.
More feedback since the last draft? One click refreshes the spec.
02 · Roadmap

A roadmap that sequences itself.

Two rails — what you intend (Backlog, Later, Next) and what’s happening (Building, Shipped, Shared). One button sequences the work by impact. You override when you need to; the recommendation stays so you can reset.

Circuit
Roadmap24Sequenced by impact
Next2
Up after current work
Presence avatars on the canvasFeature
9 accounts · 24 signals
@mention notifications when AI draftsFeature
7 accounts · 18 signals
Later2
Planned, not yet sequenced
Version history and restoreFeature
6 accounts · 15 signals
Summarise a thread into a docImprovement
5 accounts · 11 signals
Building1
Code in flight
Resolve co-edit conflicts in AI rewritesBug
tandem/workspace-app · PR #482
Shipped2
Merged, customers told
AI thread summaryFeature
11 accounts notified
Comment resolved state syncs liveImprovement
8 accounts notified
Sequence by impact, in one click.

“Sequence Roadmap” scores every spec by impact and assigns it a recommended bucket — Backlog, Later or Next. No Gantt, no fake dates. The order reflects the evidence.

Override without losing the recommendation.

Drag a card to a different bucket and Circuit remembers the system’s suggestion. “Reset to recommended” appears whenever your sequence diverges, so you can always see what the data said.

Hand off to Cursor or Claude from the card.

Each card has a button — dispatch to your coding agent without leaving the roadmap. Linked PR, branch and last activity surface on the card while it’s building.

— Also includes
Two rails.
Horizon (Backlog · Later · Next) is what you intend. Flow (Building · Shipped · Shared) is what’s happening. The board shows both.
Effort summary on every card.
File count and inferred layer tags — frontend, backend, e2e — pulled from the spec’s Files-to-Touch section.
Customer quote on shipped cards.
The line a customer sent appears on the card when the spec ships, so the why stays visible.
Rationale on building cards.
Why this is being built now — surfaced from the sequencing reasoning.
Density toggle.
Comfortable or compact. The board adapts to how much you want on screen.
Push to GitHub.
Move dropdown turns a spec into a GitHub issue with the customer context attached.
03 · Spec map

Every spec, on the map of your codebase.

Three views of the same set: by codebase folder, by theme, by product page. Each spec is classified by blast radius, so you can see at a glance what’s safe to ship and what touches everything.

Circuit
Spec map12
Folder treeBy themeBy page
tandem·workspace app
src/canvas/3 specs
Canvas.tsx2
co-edit.ts1
src/collab/2 specs
usePresence.ts2
src/ai/4 specs
rewrite-merge.ts4
src/comments/1 spec
CommentThread.tsx1
src/workspace/2 specs
useWorkspace.ts2
Specs on this map
Resolve co-edit conflicts in AI rewrites
src/canvas/co-edit.ts, src/ai/rewrite-merge.ts·blast radius: Moderate
Show who's editing on the presence cursor
src/collab/usePresence.ts·blast radius: Contained
See every spec your codebase has ever produced.

A folder tree built from the Files-to-Touch section of every spec. Click a path to see the specs touching it. Click a spec to open it.

Contained or cross-cutting, classified.

Each spec carries a blast-radius label — contained (≤ 2 files, ≤ 1 folder), moderate, or cross-cutting (≥ 5 files, ≥ 3 folders). You see what’s safe before you start.

Three views, same set.

Codebase view (folder tree), Theme view (grouped by cluster), Page view (grouped by product page, parsed from your component paths). Same specs, three angles.

— Also includes
Codebase view.
A live folder tree of every file your specs touch. Click a folder, see the specs in it.
Theme view.
Specs grouped by the cluster theme they came from.
Page view.
Specs grouped by the product page they affect — parsed from component paths automatically.
Backend / shared bucket.
Specs that don’t map to a single page land here cleanly, instead of getting forced into the wrong group.
Side-by-side tables.
Contained and cross-cutting specs shown in two tables, so you can pick the low-risk work or the surgical job.
Click through to the spec.
Every node in the map opens the same spec panel. One artifact, many entry points.
04 · Ship

The spec leaves Circuit as code.

This is the handoff — the spec lands in the tool you build with. Claude Code, Cursor and GitHub, connected over MCP, so the spec arrives where the work happens.

Circuit
TandemShipped

Your feedback shipped

Hi Simon,

You told us
the AI rewrite wiped my teammate's edit while we were both in the same block
What we shipped

You reported that the AI rewrite overwrote a teammate's edit. We fixed it — block-level locking during rewrites, with queued edits replayed.

Resolve co-edit conflicts in AI rewrites
Connect over MCP.

Circuit runs an MCP server, so Claude Code and Cursor pull your specs, priorities and feedback live. The agent reads the current spec, not a copy you pasted an hour ago.

Four tools your coding agent can call.

circuit.priorities, circuit.spec, circuit.ask and circuit.act. The agent fetches the ranked list, pulls a full spec, asks questions of your feedback, and acts — all without leaving the terminal.

Push to GitHub in one click.

Turn a spec into a GitHub issue, with the customer context attached. Circuit checks for duplicates first, so you open the existing issue instead of a second one.

— Also includes
Install in one line.
Add Circuit to Cursor or Claude Code with a single command. Deep links open the spec in your editor.
The AI preamble rides along.
Every spec carries your repo conventions and tier rules, so the agent builds to your standards.
Read scope and write scope.
read pulls priorities, specs and feedback; write ships, assigns, parks and submits. You control which.
Investigate before you build.
circuit.spec investigate returns the trajectory, the feedback and the memory behind a spec in one call.
Linear, Jira and GitHub stay in sync.
One bidirectional link — the ticket shows the spec, the spec shows the ticket’s status.
05 · Share Back

The customer who asked is the first to know.

When a spec ships, Circuit notifies the customers whose feedback fed it — with the line they sent and what changed. Closing the loop is the default, not the afterthought.

Circuit

Share Back

Let customers know you shipped “Resolve co-edit conflicts in AI rewrites

Message
Hi Simon — the co-edit conflict you reported is fixed. Two people can now edit a block while AI rewrites it, without losing changes.
Drafted from their feedback · editable before you send
Recipients3

the AI rewrite wiped my teammate's edit while we were both in the same block

Simon WhitfieldNorthwindvia email

lost a paragraph when my co-author and the AI hit the block together

Ben OrtegaHeliovia email

co-editing during a rewrite is a coin-toss on whose change survives

Catherine ReyesMeridianvia email
Automatic notification on ship.

Mark a spec shipped and Circuit finds every customer whose feedback informed it. They hear from you before they have to ask.

Their own words, quoted back.

The notification shows the exact feedback they sent, alongside what you built. The customer sees they were heard, specifically.

You review before it sends.

Circuit drafts the message in your brand voice and prepares the recipient list. You approve the send — sensitive accounts and half-addressed concerns stay under your control.

— Also includes
Personalised per account.
One message per customer, in their context — not a mass changelog blast.
Weekly digest option.
Batch updates into one email per customer instead of a notification storm.
Status updates mid-flight.
“We’re working on this” keeps trust warm before ship.
Opt-in per customer.
Accounts that don’t want loop-closure emails never get them.
Tone-controlled copy.
Your brand voice survives the automation.
— Outcome

Shipping isn’t the end. It’s what Circuit learns from.

When a ticket closes, Circuit asks one question — did this resolve what the customers asked for? The answer updates the priority and feeds the memory layer, so the next brief in the same area starts with what you learned in this one. The loop closes, and the graph gets sharper.

spec → roadmap → spec map → ship → share backcitations preserved end to end4 MCP tools
See the full discipline →
Questions

Asked and answered.

Where does the spec come from?

Q1

From the customer signal behind a priority. Circuit clusters the feedback, then drafts a structured spec with five sections — what to build, why it matters, customer voice, files to touch, done when. You edit a draft instead of writing one.

What’s the difference between a brief, a spec and a build?

Q2

They’re the same artifact. The database calls it a build. The product UI calls it a spec. We say “brief” when we mean the early draft. One row, one document, one citation chain — opened from anywhere.

How does the roadmap decide what’s next?

Q3

One button scores every spec by impact and recommends a bucket — Backlog, Later or Next. You can override any card; Circuit remembers what it suggested so you can always reset.

What is the spec map?

Q4

A view of every spec your codebase has ever produced, organised by folder, theme or product page — with a blast-radius label on each spec (contained, moderate or cross-cutting), so you can see what’s safe to ship at a glance.

How does it work with Cursor and Claude Code?

Q5

Connect over MCP and the coding agent pulls your specs, priorities and feedback live — no stale copy-paste. Or copy any spec as a prompt and paste it straight in.

What does codebase-aware mean?

Q6

When you connect your repository, Circuit reads nine signals from it — file structures, conventions, related issues, tests, recent merges and more — and weaves them into the spec, so it fits your codebase instead of describing an ideal one.

Does Share Back send emails automatically?

Q7

It drafts them and prepares the list. You review and approve the send. Loop-closure is the default behaviour, but the judgment of whether a specific message is right stays with you.

Delivery is available on all plans.

See pricing →

Signal in. Specs out. Shipped, with the loop closed.

Delivery is the translation layer of autonomous product intelligence — customer signal carried through to shipped code, without losing the why.