Friction 05 · Collision and coordination

Two agents just edited
the same file.

Parallelism without a referee is just conflict.

One agent is a tool. Five agents on one repository are a distributed system, and distributed systems need an authority that decides who holds what, for how long, and what happens when two of them want the same thing.

Claims, leases, and arbitration come from CLAiR — a real coordination authority, not a convention agents are asked to respect.

What it costs you

The thing that makes constellations fast is the thing that breaks them.

Every team that scales past one agent meets this within a week, usually as a merge conflict nobody can explain.

01 · The reality

Parallel agents, shared state.

Two agents reason independently about the same module, the same interface, or the same migration — and neither of them knows the other exists.

02 · The cost

Rework you paid for twice.

Overwritten changes, contradictory refactors, and merge conflicts that consume more tokens to resolve than the original work consumed to produce.

03 · The workaround

Run them one at a time.

Serializing the constellation makes the collisions stop and makes the parallelism pointless. You’re now paying platform overhead for a single-threaded agent.

How ASE removes it

A coordination authority, not a gentlemen’s agreement.

CLAiR owns live coordination underneath ASE: who holds what work, on what lease, and what unblocks when it’s released.

Claims and leases

Work is held, not hoped over.

An agent claims a work item and receives a transient lease. A second agent cannot hold the same claim — not by convention, but because the authority won’t issue it.

Arbitration

Conflicts get decided, not discovered.

When claims compete, CLAiR arbitrates and records the outcome. The losing agent is redirected before it writes, rather than reconciled afterward.

Shared blackboard

Agents can see what the others learned.

A common coordination surface carries work status, findings, and gate state, so parallel agents operate on shared reality instead of six private guesses.

Sequenced gates

Dependent work waits its turn.

Gates express ordering as well as approval. Work that must follow other work does, without an operator standing there to release it by hand.

In practice

How five agents share one repository.

The choreography is the product. Here is the loop, once.

Step 1

Work is decomposed into claimable units

Planning produces scoped work items with dependencies, so there is something specific to hold rather than a whole repository to fight over.

Step 2

Agents claim and receive leases

Each claim grants exclusive hold for a bounded time. Expiry releases the work rather than stranding it when an agent dies.

Step 3

Conflicts are arbitrated at request time

Competing claims are resolved before any change is written, and the decision goes into the run record.

Step 4

Release unblocks the next agent

Completing or expiring a lease frees dependent work, and the constellation keeps moving without an operator refereeing.

What you can hand someone

Who held what, and when.

Coordination is not a black box — it is a queryable history of the run.

  • Claim history — every claim requested, granted, denied, or expired, with the agent that asked.
  • Lease timeline — how long each agent held each unit of work, and how the hold ended.
  • Arbitration decisions — which competing claim won, and on what basis.
  • Blackboard state — the shared findings and status that agents coordinated against.
  • Failure and recovery — agents that died mid-work, the leases that expired, and the work that got picked back up.
See it on your stack

Scale the constellation, not the conflicts.

Watch a live multi-agent run with claims and leases visible — including what happens when two agents want the same work.

Elevate Your Vibe with ASE Precision.

Cookie Compliance

We use cookies to ensure you get the best experience on our website. By continuing to use our site, you accept our use of cookies, privacy policy and terms of service.