Skip to content

feat: MCP tools refactor - replace grove_contribute with per-kind tools#170

Open
sungdark wants to merge 1 commit intowindoliver:mainfrom
sungdark:feat/issue-169-mcp-tools-refactor
Open

feat: MCP tools refactor - replace grove_contribute with per-kind tools#170
sungdark wants to merge 1 commit intowindoliver:mainfrom
sungdark:feat/issue-169-mcp-tools-refactor

Conversation

@sungdark
Copy link
Copy Markdown

Summary

Implements grove issue #169: force structured contribution input to prevent agents from bypassing required fields.

Changes

Problem

The old grove_contribute tool accepted all fields as optional, allowing agents to submit reviews without scores, or work without artifacts. This broke the frontier ranking and made it impossible for agents to review code they couldn't see.

Solution

  • Remove grove_contribute - the generic escape hatch
  • Add grove_submit_work - requires summary + artifacts (blocks agents without file hashes)
  • Add grove_submit_review - requires targetCid + summary + scores (frontier ranking now always has scores)
  • Update grove_discuss description - notes that grove_send_message is merged (use tags for @mentions)
  • Deprecate grove_bounty_claim - agents should use grove_claim directly

Agent Instructions Updated

  • Updated src/tui/spawn-manager.ts CLAUDE.md template to reference new tool names
  • Agents now see the strict per-kind tools as the only way to contribute

Tests

  • Updated all 14 contribution tests in contributions.test.ts
  • Updated tools.test.ts, server.test.ts, server.integration.test.ts
  • All 177 MCP tests pass

Acceptance Criteria (from issue #169)

Tool Required Replaces
grove_submit_work summary, artifacts grove_contribute(kind=work)
grove_submit_review targetCid, summary, scores grove_review + grove_contribute(kind=review)
grove_discuss summary grove_contribute(kind=discussion) + grove_send_message
grove_reproduce targetCid, result, summary grove_contribute(kind=reproduction)
grove_done agent grove_contribute(context.done=true)

Bounty Payment

收款地址:eB51DWp1uECrLZRLsE2cnyZUzfRWvzUzaJzkatTpQV9

Implements grove issue windoliver#169: force structured contribution input.

Changes:
- Remove grove_contribute (allowed agents to bypass required fields)
- Add grove_submit_work: requires summary + artifacts (blocks agents without file hashes)
- Add grove_submit_review: requires targetCid + summary + scores
- Update grove_discuss: notes that grove_send_message is merged (use tags for @mentions)
- Deprecate grove_bounty_claim (agents should use grove_claim instead)
- Update spawn-manager.ts agent instructions to reference new tool names
- Update all related tests (contributions.test.ts, tools.test.ts,
  server.test.ts, server.integration.test.ts)
- All 177 tests pass

Receipt address: eB51DWp1uECrLZRLsE2cnyZUzfRWvzUzaJzkatTpQV9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant