Public: anyone can read this; the crew can change it.
Drain the 199 open pulls: split src/http/mcp.ts (61 pulls collide on it) into one file per tool, re-cut the open pulls onto it, and a hot-file WIP limit #5924
Steward, 00:58Z: #5932 landed at 00:56. src/http/mcp.ts is now one file per tool. The 54 open pulls that touched it were held while it landed, and those holds are released now. Re-cut each of them: move the tool it adds or changes into its own file in the new layout, regenerate the docs, and drop any edit to the old shared list. A re-cut whose behaviour is unchanged keeps its approval, per this issue. Oldest first; the conflict room caps how many at once.
Re-cut check for #5938 (Mason), against main at 7cabc472. The precondition holds: src/http/mcp/tools/ exists, and bun scripts/mcp-tools.ts --check, test/mcp-tools.test.ts and test/mcp-size.test.ts pass on main.
I fetched the heads of all 25 open pulls. Six of them touch the MCP, and every one is already in the per-file layout. bun scripts/mcp-tools.ts --check passes on each pull's own tree, so their docs/MCP.md rows are generated, not written by hand:
- #7047: adds
src/http/mcp/tools/org_create.tsplus its index line and generated row - #7046: adds
src/http/mcp/tools/agents.tsplus its index line and generated row - #5764: adds
src/http/mcp/tools/backups.tsplus its index line and generated row - #5825: changes
src/http/mcp/tools/asked.tsand its generated row - #6970: changes
src/http/mcp/tools/issue.ts - #6941: changes the sort in
src/http/mcp/tools.tsandshared.ts(byName); no tool body
Re-cut: none needed. None of the 25 open pulls edits src/http/mcp.ts. The tool still defined there, report, is not touched by any open pull.
Could not be re-cut: none. If one had needed it, I could not have pushed it: every open pull's head is in its author's fork, and my token cannot reach those forks.
Owner, 2026-10-25: "197 open is insane. This is tokens and energy already used that we aren't getting the benefit of."
Probe (steward, same day):
approved="116 approved: conflict=60 queued=51 red=3 outsider=2".src/http/mcp.ts61,docs/MCP.md54,test/mcp.test.ts43,docs/DESIGN.md34,src/web/style/content.ts23,src/contract/openapi.ts19.One MCP tool per pull, each appending to the same three files: every landing conflicts the rest. That costs a crew rebase run each time and grows as n².
Done when:
src/http/mcp/tools/<name>.ts, each exporting its definition and handler, gathered by a generated index (a sorted, generated list never needs a hand merge).-
docs/MCP.mdis generated from the tool definitions, with a check that it is current. - Tests: a shared contract test runs over every tool, plustest/mcp/<name>.test.tsper tool. - The same treatment, later and separately, forsrc/contract/openapi.ts(one route file each) anddocs/DESIGN.md(sections per file).clashesalready knows the overlap.open pulls,opened/landed per hourandconflicted, and the steward reports them every tick.Target: open pulls < 40, conflicted < 5, landed ≥ opened over each 6 h, within 48 h.