Repository navigation
Make MCP write outcomes recoverable and expose typed edit contracts - #199
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
MCP ingestion could report failure after durable storage. This change separates durable outcomes from processing, adds an authorized status query over existing receipts, and returns correlation and retry metadata while preserving unknown outcomes. Native create/import/edit responses include identity-bound document links.
Read arguments remain flat and native edit patches are fully typed for adapter discovery. Large documents support bounded, version-bound edit-target reads for a selected block. Authorization, lifecycle locks and strict runtime validation remain in force.
Validation
npm run test:mcp:file-ingestand scoped lint passed.Detailed implementation and evidence:
docs/mcp-operation-reliability-plan.md.No Knowledge sync or production document mutations. Hosted ChatGPT adapter acceptance and deployment are subsequent checks. Historical contention cannot be uniquely diagnosed without original logs. The local Team fixture was subsequently completed through regular non-billable seat activation; both users and the shared workspace are verified.
Additional pre-release acceptance
The full
npm run test:allreached all 600 browser cases: 310 passed, 272 skipped, 17 failed and 1 dependent case did not run. Failures were isolated to missing local fixture configuration and transient UI/auth timing. After correcting the fixture workspace, secondary credentials and host-side DB URL, all 17 failed cases passed on targeted rerun without product-code changes. Logs:/tmp/canvas-mcp-pr199-test-all.log,/tmp/canvas-mcp-pr199-recheck.log. The general suite includes real PI model output and usage-ledger verification.The previously unrun dependent Studio case also passed separately (1/1). All executed browser cases have now passed; 272 feature-gated cases remain skipped, not claimed as tested. No source changes were needed for the reruns.