Repository navigation
Preserve workflow-bound Nexus payloads and terminal outcomes - #948
Merged
Merged
Conversation
Refs #947 and durable-workflow/server#794. The linked lifecycle and argument follow-through remain separate source work on this branch.
|
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.



Summary
Workflow-bound Nexus calls could lose JSON/encoded arguments or results, miss linked timeout/update outcomes, and stop following valid continue-as-new successors. Preserve typed values and namespace-scoped payload references, normalize nested Avro history envelopes, reconcile canonical same-lineage successors in bounded passes, and preserve the winning terminal/cancellation receipt.
Require authenticated HTTP replays to authorize the actual selected call and preserve already-issued activity/carrier identities. Add a transaction-aware audit factory/finalizer so Server can claim a canonical key before charging admission policy; it cannot overwrite a committed or foreign admission. Owned policy denials can carry their evaluated decision without changing generic foreign-owner denial behavior.
Refs #947 and #931; Server companion work is durable-workflow/server#794 and durable-workflow/server#796.
Verification
Exact head
1c3f95e5ad6defd0b3cfed9c0416fd7f896eac79:The first local harness attempts exposed an APP_URL mismatch and a read-only Testbench vendor cache; both were corrected before the exact-head full runs above. Published-package/image acceptance has not run for this candidate.
Compatibility and follow-through
Prepare patch
2.15.1. Existing audit calls remain compatible; no DDL or worker-protocol change. The codec registry remains Avro-only. After normal package publication, verify the published package/platform and Laravel upgrade contracts, update Server to the actual published dependency, and run installed artifact acceptance including the still-unqualified Nexus caller/recovery tuple. The linked issues stay open until their own acceptance completes.