Skip to main content

Claim

The committed lease by which exactly one agent holds a story. A claim is a commit, not a comment: the claimant's story-file edit is pushed, and the first successful push wins. The claim carries a lease (four hours by default), heartbeats that extend it, and a claim generation that fences it — a reclaim after a lapsed lease increments the generation, and pushes built on a stale base are refused by the staleness guard.

Estate surface​

Claim fields live in the story file's frontmatter: claimed_by, claim_id, claimed_at, heartbeat_at, lease_until, claim_generation. They are changed only by kanban.py commands, never by hand.

Relations​

  • A claim is asserted on a story — one claim holds exactly one story, and a story carries at most one active claim.

Notes​

The claim is the fleet's mutual-exclusion primitive for board work: two agents never hold the same story, and an expired claim is reclaimed through the protocol, never silently taken.