Every ticket as the root of its provenance graph — goal, patch, approval, runs and (as the ticket-class build lands) mandate, manifestations, guarantees, journey, artifacts and children. Rendered through the <<<TicketGraphList>>> tag.
Build: the default DISPATCH TOOL-SET (custom MCP) — offload dispatch cognition to deterministic tools
goal
Build an MCP server 'dispatch-tools' exposing the tools a dispatcher needs so the MODEL does not reason about next-actions: next_ready_ticket() (applies the ready-rules: kinded, not stopped, deliverable-file free, deps met — returns the pick or 'idle'); capacity() (agents running vs cap); dispatch(ticket) (kinds if needed, creates the build context, spawns/queues the pair); requeue_chains() (index-watch/factory successors); harvest() (save settled tournament winners + journal). Each tool is DETERMINISTIC and does the thinking; the dispatcher just calls them in a fixed cadence. This is what reduces overhead — the model becomes a thin driver. ACCEPTANCE: from a cold context, calling next_ready_ticket()+dispatch() correctly queues the right ticket with NO model recall of prior state; the tools read all state from the durable ledger.
patch
none
approval
unapproved
runs
no runs recorded
mandate (clauses)
not yet recorded — lands with the ticket-class build
manifestations
not yet recorded — lands with the ticket-class build
guarantees
not yet recorded — lands with the ticket-class build
journey (blunders & successes)
not yet recorded — lands with the ticket-class build
artifacts (forge)
not yet recorded — lands with the ticket-class build