Tool Concurrency Limits
Todo2026-11-03Jean Mertz
Tracking ticket for RFD 129.
Implementation plan
- Add tool-level concurrency limits: Adds
concurrencytoToolConfigwith its accessor, validation (one limit per key), and tests, plus Host scheduling inToolCoordinator::releaseand the step handler.fan_out.concurrencystays for now. Coordinator tests cover order and limit within a key, parallel keys, questions keeping the slot, failures releasing the next call, cancellation of parked calls, fan-out operations counting against the tool's key, and restart order. - Remove fan_out.concurrency: Removes
concurrencyfromFanOutConfigandFanOut, strips the serverGatedown to thestopcheck, and adds theon_error = "stop"validation (config error with an unbounded limit). Updates the tests and schema snapshot that use it and closes ticket0ya5qnf. Depends on phase 1. - Declare concurrency in jp-rfd tools: Declares
concurrency = { key = "rfd" }on the writing tools (draft,promote,rename,renumber,abandon,extend,require,supersede) in the shipped definitions and in.jp/mcp/tools/rfd/. Depends on phase 1.