feat(collections): share durable commands between Wizard and MCP - #271
Conversation
PR Review — Loreframe StudioRisk: medium Automated review from Findings
Changed files
CONTRIBUTING checklist
Posted by the repo PR review workflow. Re-runs on each push to the PR. |
Code healthQuality score: 56.4/100Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.
Change vs PR base: +0.1 points.
Markdown, JSON catalogs and tests are out of this table. Only Most complex functions
Trend vs baseline
Warnings
Ratchet passed. |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_a2bb498d-08b4-4b8a-8346-4b8f0861e4a9) |
…llection-commands
A lost collection-save response could leave Wizard or an external agent unable to distinguish a committed save from a failed request. This change gives the manual editor, Wizard and MCP the same versioned collection operations, with the collection and its durable receipt committed together in the existing registry. Reusing an intention returns its original result; a deliberate new intention remains independent; edits require the exact revision.
Wizard prepares the visible collection editor and waits for a correlated React acknowledgement before submission. It applies the returned ID/revision afterwards and preserves the receipt if presentation fails. The editor offers explicit recovery of pending requests after reload. HTTP discovery and MCP derive their schemas from the same executable catalog; the ten legacy MCP names and their completed receipts remain compatible.
Current PR HEAD is
ec44c26814c411521e7fa147466c4fdc6bcfa554, after merging developmenta52fb866(P1 and speech3D). The collection implementation is unchanged from the reviewed product commit below. Required CI and both Cursor automation jobs pass on this updated HEAD; the formal Independent QA check is neutral.Validation on collection product commit
7eb06def7e75631b692050f30051ef4b1c1feb07: required CI passes (Python, UI tests/lint/typecheck/build, simulated browser boot). Independent Luna technical review approves the code scope; the final directed backend run passes 29 tests and the code-health ratchet passes againstf2ef2205. The collection UI/client suite passes 18 tests. Both Cursor automation jobs succeeded; the separate formal Independent QA publisher remains neutral.Launched-app evidence uses isolated integration HEAD
8ebcf2f3, combining this product HEAD with P1/#270. Two real Wizard turns through MiniMax-M3 created and edited a collection, followed by manual editing and recovery after an intentionally lost committed response/reload. Official MCP SDK 1.30.0 tests pass without a user tab: discovery, reads, create/update, historical replay, independent intentions and conflicts. The final candidate delta confirms receipt/get/CAS parity, editor locking during retry and preservation of an uncertain intention after a 401. Adversarial browser responses were injected only for those error cases; the report distinguishes them from the real provider turns. No GPU generation was needed for this domain.Reproducible reports and screenshots:
outputs/wizard-mcp-execution-20260909/collection-review/collection-adversarial-signoff-7eb06def.md,browser/collection-live-20260909/collection-browser-report.md,browser/collection-delta-20260909/collection-delta-report.md, andcollection-live/real-sdk-report.md(local evidence, excluded from Git).This is the collection domain slice of the shared Wizard/MCP plan. Generation, editorial domains, Video3D and server workflow execution are subsequent slices. Legacy HTTP PUT keeps its optional revision and DELETE is unchanged. Host-crash behavior on Windows/network filesystems remains unvalidated.