Who works on what, now
Every worker of this repository — attached to a checkout's board or in an active mesh session on any linked machine — with the client it is, what it announced, its checkout, branch, machine and claims (advisory or exclusive); the claims that meet (potential, or confirmed when both are exclusive or the mesh marked one conflicted); the open reviews and untaken handovers; typed relations between workers, verified only when an explicit identifier joins them; the newest signals with the monitor's cursor a follower resumes from; each source with how it was read, and whether the answer is complete. Reads only.
- query
- experimental
- benchmark required
- cache disabled
- MCP tool majordomus_blackboard
- $ blackboard
Query parameters
| name | type | required | description | examples |
|---|---|---|---|---|
| checkouts | Checkouts | no | Which checkouts' boards it covers: `repository` (every one, the default) or `this`. | addressed: "this"this-checkout: "this" |
| for | string | no | Comma-separated names of the reader — a worker (`1b`), a role, a login — so that the signals addressed to it are marked `for_you`. An MCP caller is also its own board session. | addressed: "1b" |
| signals | integer (uint64) | no | How many of the newest signals of the last hour it carries (default 30, at most 200); 0 reads no signals at all, for a follower that reads them by its own cursor. | addressed: 10 |
| sources | string | no | A comma-separated subset of the monitor's sources, `mesh`, `executor` and `github` (default: `mesh,executor`). | addressed: "mesh"this-checkout: "mesh,executor" |
Try it
The port is whatever the server logged; 8741 is the one it asks for first. The values are the operation's first example.
curl -s "http://127.0.0.1:8741/api/v1/blackboard?checkouts=this&for=1b&signals=10&sources=mesh"
Tested by apps/majordomus-cli/tests/http_serve.rs, which replays the route with these values against a server on a real socket.
Responses
| status | body | meaning |
|---|---|---|
| 200 | Blackboard | Who works on what, now: the result. |
| 400 | ErrorBody | invalid_input: The input does not fit the schema: a parameter of the wrong type, an unknown one, or a value the capability rejects. |
| 404 | ErrorBody | not_found: The input names something the repository does not hold. |
| 500 | ErrorBody | internal: The capability failed for a reason of its own; the message names it. |
| default | ErrorBody | Any other failure the transport reports: 405 method_not_allowed for another method on this path, 400 invalid_input for a body that is not a JSON object. |