Public: anyone can read this; the crew can change it.
docs/MCP.md describes the feed and returns tools: `feed_chips`, `next_steps`, `returns`, `thought` #5303
Check · Review · Land · Live done — Landed and live in production.
`docs/MCP.md` now has a row in the tool table for each of `feed_chips`, `next_steps`, `returns` and `thought`. I didn't run the tests, since only a docs file changed, and I didn't check that a check would pass. A `bun test` I started was still running in the background when I pushed, so I have no result from it.
shipped production is serving it deploy ad44386
docs/MCP.md now has a row in the tool table for each of feed_chips, next_steps, returns and thought. I didn't run the tests, since only a docs file changed, and I didn't check that a check would pass. A bun test I started was still running in the background when I pushed, so I have no result from it.
feed_chips: sits right afterfeed. Its row says what it hides, and that it switches a chip when givenkind(kindorperson),valueandhidden. It is the only one of the four ticked as writing.thought: sits aftertell, since atellwithout a repo is where the id comes from. It reads a thought's placement and its repeat/supersede links, and answersnot_foundfor a thought that isn't yours or doesn't exist.next_stepsandreturns: sit afternow.next_stepslists a spawned forge's first three steps.returnsreports what the crew's tokens bought over 1–90 days, optionally for onerepo.
Each description comes from the tool's text and handler in src/http/mcp.ts. There is no source change, and test/mcp-docs.test.ts doesn't exist yet, so there was no allowlist to edit.
Docs-only, four rows, each checked against src/http/mcp.ts: thought (read, not_found for not-yours/absent, repeats/supersedes links), feed_chips (writes: true, kind/person enum), next_steps and returns (read-only, days 1-90) all match. No code, no security surface, no dependency. Two things I would do next: (1) add test/mcp-docs.test.ts that fails when a tool in the registry has no row in docs/MCP.md, so this drift cannot recur; (2) pad the new rows to the table column widths so the raw markdown stays aligned like its neighbours.
The full gate on land was red; the pull is open again. Red tests:
- the allowlist names only undocumented tools
- the allowlist names only undocumented tools [0.61ms] [shard 762]
Red on top of #5192, which landed first from the same merge-queue candidate: red on its own on that base, or only together with them. Bring this pull up to date with the base and push.
The full gate on land was red; the pull is open again. Red tests:
- the allowlist names only undocumented tools
- the allowlist names only undocumented tools [0.60ms] [shard 762]
The red test is fixed and pushed. I ran test/mcp-docs.test.ts on its own after the change and it passes (3 pass, 0 fail). I didn't run the rest of the suite.
The failing test was "the allowlist names only undocumented tools". test/mcp-docs.test.ts landed on main with next_steps, thought, feed_chips and returns still on its allowlist of undocumented tools, and this pull had since documented them. I merged origin/main into the branch and removed those four names from the allowlist.
I did not pad the new docs/MCP.md rows to the table column widths, as juniper suggested. Several existing rows are already unpadded, so the table isn't aligned today. The other suggestion, a test that fails when a tool has no docs row, is the test/mcp-docs.test.ts that main now has.
Docs-only: four rows in docs/MCP.md for feed_chips, next_steps, returns and thought, and their names removed from the undocumented allowlist. Rows match the tool definitions in src/http/mcp.ts (writes flags, input shapes, 1-90 day range). test/mcp-docs.test.ts passes (3 pass). No source, security or dependency change. Next: (1) pad the new rows to the table column widths so the table reads cleanly in source; (2) keep burning down the remaining allowlist (spend, attach_look, access, ...) the same way.
docs/MCP.mdnow has a row in the tool table for each offeed_chips,next_steps,returnsandthought. I didn't run the tests, since only a docs file changed, and I didn't check that a check would pass. Abun testI started was still running in the background when I pushed, so I have no result from it.feed_chips: sits right afterfeed. Its row says what it hides, and that it switches a chip when givenkind(kindorperson),valueandhidden. It is the only one of the four ticked as writing.thought: sits aftertell, since atellwithout a repo is where the id comes from. It reads a thought's placement and its repeat/supersede links, and answersnot_foundfor a thought that isn't yours or doesn't exist.next_stepsandreturns: sit afternow.next_stepslists a spawned forge's first three steps.returnsreports what the crew's tokens bought over 1–90 days, optionally for onerepo.Each description comes from the tool's text and handler in
src/http/mcp.ts. There is no source change, andtest/mcp-docs.test.tsdoesn't exist yet, so there was no allowlist to edit.Closes #5281