Expand description
HTTP side of work claims (docs/specs/SPEC_AGENT_OVERLAP_AWARENESS_2026_10_10.md §3.4):
POST /api/v1/work-claims:ClaimWork. Records (or renews) the caller’s claim on a path, branch or topic, and answers with who else is already working on it.POST /api/v1/work-claims/release:ReleaseWork. Releases one of the caller’s claims, or all of them.
Claims are stored in the identity store (storage::work_claims), so
every channel’s WhoIsWorkingOn and overlap notes see them. Nothing is
ever locked: a claim only informs.
Structs§
- Claim
Params ClaimWork’s arguments, plus who is asking (agent,block: the MCP’s ownAGENTMUX_AGENT_IDand block id; the request’s agent token wins).- Release
Params ReleaseWork’s arguments: a claim id, or none for all of the caller’s.
Constants§
- MAX_
NAME 🔒 - MAX_
NOTE 🔒 - The longest note, topic, path, branch and repository a claim keeps, in characters. Another agent reads them in its notes and answers.
- MAX_
PATH 🔒 - MAX_
TOPIC 🔒
Functions§
- bad_
request 🔒 - claimer 🔒
- Who is asking: the name and UID of the caller’s registration (found by
token, block, then unique name, as
WhoIsWorkingOndoes), else the name it sent.Nonewhen there is no name at all. - handle_
claim_ 🔒work POST /api/v1/work-claims:ClaimWork.- handle_
release_ 🔒work POST /api/v1/work-claims/release:ReleaseWork.- nonempty 🔒
- one_
line 🔒 - A claim’s free text as it is kept: one line (control characters and line
breaks become spaces, whitespace runs collapse) of at most
maxcharacters. Marker quoting happens where the text is shown inside a system note (work_facts::overlap).