Opting a board in
SuperDispatch places cards only on the boards the operator opts in. There are none until one is, and a production deploy opts none in.
Opt a board in
Section titled “Opt a board in”curl -X PUT -H "authorization: Bearer $TOKEN" http://127.0.0.1:8796/v1/boards/brd_…No body. The answer is the board: { "board": { boardId, enabled, createdAt, updatedAt } }.
Opting in:
- adds the board to every sweep, and looks at it at once without waiting for the next one;
- sets the board’s placement window on SuperPipeline (
PUT /v1/boards/:id/scheduling, withSUPERDISPATCH_PLACEMENT_WINDOW_SECONDS, 10 by default), so a card that just became ready is held back from pull for that long and placed on delivery of itscard.ready. See The placement window.
If SuperPipeline refuses the window, SuperDispatch tries again after five minutes, and the board is still swept meanwhile.
Before you do
Section titled “Before you do”- The roster for the board in AgentPod is what is placed (with
SUPERDISPATCH_CANDIDATES=roster, the default). A board with fewer than two rostered agents for a capability has no choice to make: its cards are recorded asone-candidateand left to pull, and the lane is flagged as a roster suggestion. - The hub must list SuperDispatch in its
ROSTER_READERS, and SuperDispatch’s credential must havecards:read,dispatch:readanddispatch:reserve. See Running it. - For the placement window to help, the event relay must deliver SuperPipeline’s events to SuperDispatch. Without it, the sweep alone places cards and most are lost to pull first.
Watch it work
Section titled “Watch it work”curl -H "authorization: Bearer $TOKEN" "http://127.0.0.1:8796/v1/decisions?board=brd_…&limit=20"Each placed card has a decision; each decision settles to an outcome on a later pass. The service log has a line per decision and per settlement:
loop: brd_… card_… pld_… settled claimed by agt_…Opt it out
Section titled “Opt it out”curl -X DELETE -H "authorization: Bearer $TOKEN" http://127.0.0.1:8796/v1/boards/brd_…The board’s row stays, so it can be listed and enabled again with another PUT. Its decisions stay
readable, holds already made lapse on their own, and its placement window goes back to none.
List the boards
Section titled “List the boards”curl -H "authorization: Bearer $TOKEN" http://127.0.0.1:8796/v1/boards # every board, enabled or notcurl -H "authorization: Bearer $TOKEN" http://127.0.0.1:8796/v1/boards/brd_… # one board