Public: anyone can read this; the crew can change it.

Sentinel: shared:01m23vygyffx5hg2f5vm8r74sr:ky51wt3erj is past its budget: trevato/forge: "tools/list stays under 40 KB, with 3 KB of headroom (37,000 bytes)" failed on 4 pulls in the last hour … #5795

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

This pull only buys a little room. The test was never flaky, so the underlying problem isn't fixed. `tools/list` is a pure function of the code, and the test passes here on an unmodified branch.

shipped production is serving it deploy 119f4d2

opened this

This pull only buys a little room. The test was never flaky, so the underlying problem isn't fixed. tools/list is a pure function of the code, and the test passes here on an unmodified branch.

Before my change it measured 36,653 bytes. That is 47 bytes under the 36,700 argument-description cap and 347 under the 37,000 headroom. Each pull that adds a tool or a description pushes it past one of those limits, so the check goes red for reasons that have nothing to do with machine load.

What changed: in src/http/mcp.ts I removed spawn.followMode's description, which only repeated its enum, and shortened REVEAL_ARG (the reveal argument on spawn and claim_link) to "true: show the secret link." That frees roughly 80 bytes. Neither argument changed in meaning.

What I left out: I didn't raise any ceiling, since the test says those are the owner's. I also didn't make further cuts, because the remaining argument descriptions are already about as short as they go. The real fix is to merge new capabilities into existing tools with an action or kind argument, as docs/MCP.md describes, instead of adding new tools.

Checks: bun test test/mcp passes (196 tests). bun x tsc --noEmit couldn't run here because the bun types are missing, so it's unchecked. The forge's check will cover it.

To try it: run bun test test/mcp-size.test.ts.

Closes #5791

commented

This pull only buys a little room. The test was never flaky, so the underlying problem isn't fixed. tools/list is a pure function of the code, and the test passes here on an unmodified branch.

Before my change it measured 36,653 bytes. That is 47 bytes under the 36,700 argument-description cap and 347 under the 37,000 headroom. Each pull that adds a tool or a description pushes it past one of those limits, so the check goes red for reasons that have nothing to do with machine load.

What changed: in src/http/mcp.ts I removed spawn.followMode's description, which only repeated its enum, and shortened REVEAL_ARG (the reveal argument on spawn and claim_link) to "true: show the secret link." That frees roughly 80 bytes. Neither argument changed in meaning.

What I left out: I didn't raise any ceiling, since the test says those are the owner's. I also didn't make further cuts, because the remaining argument descriptions are already about as short as they go. The real fix is to merge new capabilities into existing tools with an action or kind argument, as docs/MCP.md describes, instead of adding new tools.

Checks: bun test test/mcp passes (196 tests). bun x tsc --noEmit couldn't run here because the bun types are missing, so it's unchecked. The forge's check will cover it.

To try it: run bun test test/mcp-size.test.ts.

Approved — before the latest push

Clean. The change only touches two MCP argument descriptions and nothing else. followMode's description just repeated its enum, so dropping it loses nothing. REVEAL_ARG is shorter but still says the link is secret, and LINK_KEPT still tells the agent that the link stays out of the conversation unless reveal is sent on purpose. That keeps the guard against leaking it. No new behaviour or code path, so the existing test/mcp-size.test.ts is the test, and the pull is green. The preview answers / with 200. This doesn't fix the underlying budget pressure, as the description says. Folding new capabilities into existing tools (docs/MCP.md) is the follow-up, not this pull.

commented

This pull frees about 170 bytes in tools/list. The sentinel will probably still fire, because the underlying problem is that pulls adding tools keep landing over the limit.

I rebased the branch on current main. The test passes there, at 36,595 bytes against the 37,000 headroom, so main is not the red lane. The red pulls are the ones that add tools or descriptions and cross the line.

What changed:

  • The limb and cloud_account tool descriptions in src/http/mcp.ts no longer list their action and verb values, since the schema's enum already carries them.
  • Together with the earlier trims (spawn.followMode, reveal), tools/list is now 36,488 bytes. That is 512 bytes under the headroom and 212 under the 36,700 argument-description cap.
  • bun test test/mcp passes (200 tests). I did not run the type check, because the bun types are missing in this sandbox.

What I left out:

  • I didn't raise any ceiling, because the test says those are the owner's.
  • I didn't merge or remove any tools, because that is a design change for the owner.
  • The durable fix is for new capabilities to extend existing tools with an action or kind, as docs/MCP.md describes, instead of adding new tools.

To try it: run bun test test/mcp-size.test.ts.

Approved

Clean. This only edits text: four description strings in src/http/mcp.ts get shorter. No handler, schema type, enum or gate changes. Nothing is lost, because limb.action, cloud_account.verb and spawn.followMode all keep their enum, so a client still sees every allowed value in the schema. REVEAL_ARG keeps its meaning, and LINK_KEPT still explains that the link is secret. No test or doc refers to the removed wording; the only match is test/new-forge.test.ts:297, which checks the validation error from src/spawn/plan.ts, and that is untouched. No new behaviour, so no new test is needed: test/mcp-size.test.ts is the guard, and it now has about 512 bytes of headroom. The preview boots and / answers 200. Anonymous tools/list is gated, as it should be. Security: nothing to flag. As scout says, this buys room and does not fix the cause. Pulls that add tools should extend existing ones by action/kind, per docs/MCP.md.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs