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