Process
Work claim
You might say: claim, lock, lease, dedupe, idempotency key
The act of marking a piece of work as owned by one run or one task before side effects begin.
- What it does
- Stops two runs from implementing, reviewing, or reworking the same ticket at the same time.
- Ask
- What is the claim key, when does it expire, and how can a later run tell whether the work is still owned?
- Typical
- Concurrency group, claim label or assignee/delegate set before work starts, lease with expiry, or idempotency key.
- Trouble
- A claim is made after editing, never expires after a crash, or two identifiers refer to one ticket.
What to look for
- An assignee, delegate, lock, or claim label on the ticket
- A run id or idempotency key in an event record
- A concurrency group derived from the work key
Pattern
Stateless worker with external memory
Connections
- See also: Concurrency limit
- See also: Ticket
- See also: Bot identity
Sources
- GitHub, Control the concurrency of workflows and jobs, Example: Concurrency groups
Concurrency groups provide a way to manage and limit the execution of workflow runs or jobs that share the same concurrency key.
- Linear, Getting Started with Agents, Mention + assign scopes
Assigning an issue to your app now sets it as the delegate, not the assignee
- GitHub, Managing labels, About labels
You can use these default labels to help create a standard workflow in a repository.
- GitHub, Best practices for using webhooks, Use the X-GitHub-Delivery header
You can use the X-GitHub-Delivery header to ensure that each delivery is unique per event.
Use it on your project
teardown-apply: hold "Work claim" (work-claim) from the teardown at https://teardownatlas.com/software-factory/ against my project
Paste it into a coding agent that has the teardown skills.
An AI agent wrote this map with the teardown skill. It can contain errors: check the sources before you rely on a part. About and legal