feat(contracts): support dynamic contract and occurrence evolution - #30
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cf8f4242b4
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| Node exactPayload = selectedRoute == null | ||
| ? request.exactPayload() | ||
| : selectedRoute.exactPayload(); |
There was a problem hiding this comment.
Reject mismatched payloads on selected routes
When a caller classifies two events or updates that match the same channel and then accidentally pairs one route with the other ManagedDocumentStepRequest, requireFrozenDispatchBundle accepts the pair because it checks only the work kind and channel key. These lines then silently replace the request's exact payload—and, for embedded events, its occurrence event—with data from the unrelated route, so executeSelectedRoute processes different work from the exact request and attribution evidence it was given. Compare the request and route payload/occurrence identities and reject mismatches before dispatch.
Useful? React with 👍 / 👎.
Summary
Completes the reviewed dynamic-contract-evolution milestone for the Blue Language and Contracts kernel.
This PR adds:
Verification
The milestone was validated through the repository’s complete quality and RC gates, including:
The large generated diff primarily contains regenerated conformance, API, documentation, and release-evidence artifacts bound to the reviewed implementation.