fix(mcp): make truncation and receipt evidence honest - #1183
Conversation
|
[PHASE: RESEARCH] Re-baseline confirmed #1134's two defects unchanged at Findings
Evidence: |
|
[PHASE: PLAN] Plan & Design are ready for the hard Plan-Gate. Locked decisions
GatesFull RFC S-20 Archetype-2 column, targeted fixtures/package tests, scoped check/lint/fmt wrappers, and Next: separate-session local open-model PLAN-EVAL. No package source edit before PASS. |
|
[PHASE: PLAN-EVAL] [VERDICT: APPROVED] Separate local formal evaluator: Claude Code + OpenRouter / All eight Plan-Gate checklist items passed. The evaluator spot-checked both baseline defects, found no unresolved decision that would force rework, approved the full RFC S-20 Archetype-2 gate disposition, and authorized both implementation slices. Tracked verdict: |
|
[PHASE: IMPL] Both locked implementation slices are complete and pushed. Slice 1 —
|
|
[PHASE: IMPL-EVAL] [VERDICT: PASS] Separate guarded local evaluator: Claude Code + OpenRouter / The evaluator independently verified receipt ordering, honest 75→50 truncation metadata, the UTF-8 byte ceiling, unchanged public/lock/debt surfaces, all targeted/static/framework gates, and returned no findings. Quoted evidence: Tracked verdict: |
Summary
Fixes the two existing MCP correctness defects identified by RFC #1123 S-13b/S-15: central truncation reports every applied cap honestly and diagnostic receipts settle only after a tool result is validated and safely bounded.
Closes #1134
Part of #1126.
Scope
packages/mcp· toolingMCP-A6-V2-SHAPEdebt remains adjacent and untouchedSlices
5192b07a9,0ade6736af00d6338e8a03149313d328c507Acceptance evidence
#1134
invalid MCP tool output replaces stale green evidence with a failed receipttruncated: false—75 rows cannot become 50 rows with false truncation metadataValidation
deno-lint-ignore,as unknown as, or@ts-ignore.ResultByteLimitErrorand fixture.deno.lockchurn.e2e:clinot run, per orchestrator direction for this non-release slice.Harness
.llm/runs/fix-mcp-truncation-receipt-ordering--s8/PASS(0ade6736a)PASS(3d328c507)Drift / Debt
withReceiptis incli.ts; output validation is inmcp-server.ts.MCP-A6-V2-SHAPEdebt is unchanged; no new architecture debt.Definition of Done
truncated: false.deno.lockremain unchanged.PASSwith no findings.type:fix,area:tooling,epic:openapi-mcp, exactly one currentstatus:, and milestone0.0.5.Closes #1134is present only after both authoritative fixture boxes and all DoD boxes are truthfully complete.