Repository navigation
fix(dashboard): generate settings PATCH contracts - #4275
Open
ScriptedAlchemy wants to merge 12 commits into
Open
ScriptedAlchemy wants to merge 12 commits into
ScriptedAlchemy wants to merge 12 commits into
Conversation
|
…ings-patch-contract
…ings-patch-contract
ScriptedAlchemy
marked this pull request as ready for review
October 18, 2026 21:30
Contributor
There was a problem hiding this comment.
Devin Review found 1 new potential issue.
1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)
3 of 6 tasks
3 of 7 tasks
6 tasks
This branch has not been deployed
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.
Project PATCH returns
{ outcome: "effect", value: ... }, while the dashboard expected{ Effect: ... }. A saved change could therefore appear to have failed. The dashboard also treated every HTTP 409 as a revision conflict, including idempotency conflicts and cancellation.This exports the PATCH wrapper and typed configuration refusals from Rust, regenerates their dashboard contracts, and consumes those generated decoders. A changed result is saved when execution and its durable committed receipt are complete and the returned current revision advances. The receipt's recorded reconciliation state is displayed separately, including the daemon's real Pending result. Explicit-null no-ops succeed; partial or uncertain effects require loading current values before another write. Refusals retain validation, revision, authority and application-problem semantics with canonical status checks. The temporary artifact-export workflow is removed.
The shared success fixture now comes from the mounted daemon HTTP journey and its real configuration effect construction. That journey checks durable read-back, receipt/current revision agreement, no-op, validation, idempotency and stale-CAS responses. The constructed effect fixture is deleted.
Validation:
c46fdaf2-c1df-46e5-96fa-9d38c60e5c84, with stable inputs and the updated embedded dashboard bundle.contracts:generateandcontracts:checkpassed for dashboard, TypeScript SDK and Rust descriptor outputs; the reconciliation correction changes no wire schema.Fixes #4184