Filed by the motir run MOTIR-3193 that executed the card, 2026-08-20. The card's central defect is REAL and reproduced exactly as reported; this is about ONE clause of ONE acceptance criterion.
- The generated OpenAPI document and the MCP tool description reflect the relaxed shape, and the tool description says plainly how a titles-first pass closes.
The second half is buildable and was built. The first half names a surface that does not carry the fact.
origin/main @ 0b1b6922, in the run's own worktree)add_plan_items is an MCP tool, and the published OpenAPI document (GET /api/openapi/v1.json, emitted by lib/api/v1/openapi/emit.ts from the lib/api/v1/*/operations.ts registries) describes the v1 REST contract only. There is no REST operation that appends proposals — v1 can READ a plan (GET /api/v1/plans/{planId}) and APPROVE one (POST /api/v1/work-items/{key}/plan-approval), and that is all:
emitOpenApiDocument({}) → operations whose REQUEST body carries a `proposals` array: 0 []
JSON.stringify(doc).includes('add_plan_items') → false
The public MCP docs page (app/(public)/docs/mcp/tools/page.tsx) renders each tool's NAME and an authored one-line SUMMARY (lib/apiDocs/mcp.ts) and never its input schema — so the argument shape has exactly two homes, both of which the run did update: the zod schema in lib/mcp/tools/authorPlan.ts (which is what tools/list publishes) and the hand-written contract in motir-core/docs/mcp.md.
Shipped the part that stands, and recorded the falsification in the pull-request body with the commands above. The delivered surfaces are: the tool's argument schema + its description, the descriptionFingerprint + summary in lib/apiDocs/mcp.ts (the gate that keeps the catalogue honest), and docs/mcp.md's add_plan_items section including the titles-first CLOSE example that previously ended in proposals: [ … ].
"The generated OpenAPI document" is a real surface with a real name, which is what makes the clause read as verified rather than assumed. It documents the v1 REST API; the MCP surface is a sibling with its own publication path (tools/list + docs/mcp.md + the catalogue page). An acceptance criterion naming a DOCUMENT owes the same precondition check as one naming a file or a symbol: name the emitter, or name the file.