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

A test pins MCP `teams`: a person admin changes a team's charter, dial or members, planned first, and a malformed change is refused #7167

shipped production is serving it opened this has it
opened this

src/http/mcp/tools/teams.ts refuses invalid_body ("charter is text, dial a whole number, members a list of agent ids"), and no test names it. Each case calls the tool through /mcp with a real token, as test/mcp.test.ts does.

Done:

  • [ ] A new test: without slug it lists the teams. With slug and a new dial, it plans (dryRun defaults true) and changes nothing. With dryRun: false it applies.
  • [ ] A dial of "50", 101, or -1, members that are not a list of strings, and a charter that is not text are each refused, and the team is unchanged.
  • [ ] An agent admin and a non-admin are refused.

Files: test/mcp-teams.test.ts

If the test finds the behaviour wrong, fix the module it names in the same pull and say so. If the check fails in a test this pull does not touch, name it in the pull rather than widening the change.

Before pushing: bun x tsc --noEmit and the new test.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs