claim-safety
Claim safety — claim, then prove you own the lease
Chain: once you have PROVEN the lease (
forge issue owns <id>exits 0), continue todevto work the issue (smithproceeds into plan/dev after this proof). Usable standalone whenever ownership is in question.
Claiming is not owning. The Forge kernel keys a claim's idempotency on
claim.create:<issue_id>:<actor>, so a same-key duplicate replay returns
ok:true echoing the current call's claim_id. A genuine cross-actor
conflict returns ok:false (the partial-UNIQUE active-lease index guarantees one
lease) — but ok:true alone does not prove sole ownership. A live lease can
also be reclaimed on expiry (an expired lease is superseded by the next
claimant). Therefore every worker MUST verify ownership before mutating a claimed
issue, and RE-verify before close/release.
This is a reusable, standalone procedure: any skill or agent that mutates a claimed issue embeds it (it is NOT folded into one orchestrator).