claimdag
What is claimable right now?
Compare-and-swap claims over a session's work graph, with leases.
One mutator
Leases, not locks
CLI + TUI + MCP
A session hands out work. Two or more workers ask the same question at once: what is unblocked and unheld? claimdag answers from a small graph of nodes with hard dependencies. A claim is compare-and-swap on the node’s generation, so two workers cannot both take it. A claim is a lease, so a worker that dies gives the node back. Completing a node here does not close a ticket anywhere; the tracker is a different store.
Install#
$ cargo binstall claimdag-cli
$ cargo binstall claimdag-mcp # optional
$ cargo binstall claimdag-tui # optional pane
The graph lives in $XDG_RUNTIME_DIR/claimdag unless CLAIMDAG_DIR or
--dir says otherwise. It is session state and does not outlive the seat.
First minute#
$ a=$(claimdag upsert --summary "parse the manifest header")
$ claimdag claim $a --assignee $(printf '%032x' 7)
gen=2
$ claimdag list
092dca29... claimed task 00000000 gen=2 parse the manifest header
$ claimdag complete $a --status done
092dca29... done