githubnext/chopinPublic

Let's compose rich plans together

Report a taken title from create_document and declare its outcomes

Document titles are unique per repository, so creating a second document
with an existing title failed in storage and came back as
idempotency-conflict, which reads as a reused key. Report it as
title-taken instead. create_document's output schema also described only
success, so strict MCP clients rejected its idempotency-conflict,
document-unavailable, and validation-issue responses as schema
violations and callers never saw the real outcome; declare them the way
update_document does.

Assistant-model: Claude Opus 5.5
Assistant-workflow: inline
Assistant-verification: bun test passed: 1752 pass, 2 PostgreSQL skips, 0 fail, including a new hosted test for title-taken
Assistant-verification: bun run types passed: all workspaces
Assistant-verification: bun run ci passed: dprint, oxlint, tokens, type scale, Impeccable (no new findings)
Assistant-verification: raw JSON-RPC probe passed: a fresh key with an existing title returned idempotency-conflict before this change, and a new title succeeded
Co-authored-by: Alex Lavaee <lavaman131@github.com>
ALAlex Lavaee authored
325d657Patch
Parentbca2de7
4 files changed+74-32
StackedSplit
apps/server/src/mcp.ts+43 −29
apps/server/src/mcp/hosted.test.ts+22 −0
apps/server/src/mcp/hosted.ts+3 −3
docs/local-agent-mcp.md+6 −0