Who is working on a Project
How Integrity knows which agent holds a Project, what each state means, and how to free a Project nobody is working on.
When a coding agent starts work on a Project or Issue through the Integrity plugin, Integrity records who is working on it. This record is the agent's claim. It keeps two agents from building the same Project at the same time, and it tells everyone else that the Project is taken.
You never create or end a claim by hand during normal work. The plugin starts it when the agent starts, and it ends when the work is merged or stopped. This page explains what you see in between, and what to do when a claim is left behind.
How a claim works
A claim stays with the agent until its work ends. It does not run out on a timer, and nothing on the agent's computer has to keep it alive. While the agent works, Integrity records its last activity: starting work, editing files, syncing its plan, moving to the next Phase, publishing an update, and merging. The banner shows In execution with the stage and how long ago the agent was last active, for example "last activity 2 minutes ago". When the agent merges the work, closes the Project, or stops, the claim ends and the banner disappears.
File edits count because agents often code and test for an hour between other Integrity calls. The plugin reports an edit at most once every five minutes, and a failed report never slows down or blocks the edit.
If the same agent's session restarts, it picks its claim up again on its own.
A claim can be left behind when the agent's computer is switched off or the session crashes. Integrity handles those claims for you, as described below.
What each state means
You see the same state in three places: the banner on the Project page, the Execution column of the Projects and Issues tables, and the card in an Initiative's Flow.
| State | What it means | Looks like |
|---|---|---|
| In execution | An agent holds the Project and was active in the last 15 minutes. The banner and the table's click card show its last activity. | Moving dots. The banner and Flow card carry a light travelling their border. |
| Held, idle | An agent still holds the Project, but it has had no activity for 15 minutes. Nobody else can start on it. | The same dots, frozen and gray, with how long it has been idle. No light. |
| Integrating | The agent is merging its work. | A merge icon with the travelling light. |
| Cancelling | A release was requested for a live claim and the agent has not stopped yet. | A stop icon in amber. |
| Execution expired | A release was requested for a live claim and the agent did not stop within about a minute. Nobody is working on it. | A crossed-out pointer in gray. No light. |
| Abandoned | Nobody has worked on the claim for the workspace's idle time, 48 hours unless an admin changed it. The Project is free for new work. | The same gray crossed-out pointer, labeled Abandoned, with how long it has had no activity. |
| Recovery required | The agent reported a failure that needs attention. | A red alert icon. |
A Project nobody holds shows nothing in the table or Flow, and no banner on its page.
When Idle shows up, and why
Idle means an agent still holds the Project, but nothing has happened for 15 minutes. The claim is still in force, so nobody else can start on the Project; the page just stops saying someone is working right now. You can expect it when:
- the agent asked you a question and is waiting for your reply;
- a review or a CI run is in progress;
- the session was closed or paused, for example overnight.
Idle is not a warning, and you do not need to do anything. The page turns Idle on its own after 15 minutes and back to In execution with the agent's next activity. Idle is also the point from which the same person or a Project admin may take the claim over (see below). If nothing happens for the workspace's idle time, the claim becomes abandoned.
When a claim becomes abandoned
Integrity checks for claims left behind every hour. A claim with no activity for the workspace's idle time becomes Abandoned. The idle time is 48 hours unless an admin changes it. An abandoned claim no longer blocks anyone: the next agent that starts work on the Project simply takes it. Until then it stays visible, so you can see that work stopped.
Change the idle time
Workspace admins choose the idle time in Workspace Settings → Projects → Statuses, under Coding agents: 12, 24, 48 or 72 hours, or 7 days. The change is recorded in the workspace Logs under Settings.
Take over a claim
An agent cannot start work on a Project that another session holds. When that claim has had no activity for 15 minutes, an agent may ask to take it over. Takeover is allowed for:
- the same person, working from another computer or coding agent;
- a workspace member who can manage the Project's phases.
The agent asks for takeover explicitly; starting work never takes a claim over silently. After a takeover, the earlier agent's next call to Integrity fails, so it cannot keep writing to the Project. Its recoverable work in its branch is kept.
An abandoned claim needs no takeover: anyone who may start work on the Project can start.
Claims also end on their own when the Project itself is finished. Completing, cancelling, or archiving a Project ends any claim on it, so a closed Project never shows In execution.
What ends a claim
- Merged: the agent merges the work through the plugin. The claim ends as soon as the merge is confirmed, even if closing the Project afterwards needs another try. This also works from another checkout or computer: from a different computer the plugin takes the claim over first, which is allowed once it has been idle for 15 minutes.
- Stopped: the agent or the person running it stops the work.
- Project closed: the Project is completed, cancelled, archived, or deleted.
- Taken over: another allowed session took it over after 15 minutes without activity.
- Abandoned: nobody worked on it for the idle time; the next start takes it.
The agent that held a claim can still finish cleanly after a merge, a stop, a Project completion or archive, or abandonment: Integrity answers its late "release" or "complete" as already done instead of reporting an error. That holds only while nobody has started a new claim on the Project since. After someone else starts work, or after the Project is deleted, the old agent's late call is refused.