Repository navigation
Preserve runs when redeployed Python entry arguments cannot bind - #170
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.



Product correction in progress
Refs durable-workflow/.github#221 and durable-workflow/server#518.
Normally installed Python SDK2.6.1 source bytes match published
150c6f6bfor the replayer, Worker and errors module. Against the independently candidate-qualified PHP worker-routing source Server525e692df21, five genuine original runs establish:fail_workflowand receivesrecorded=true.TypeErrorcontrols fail normally.All ten normal Worker processes exit0. Original input, run identity, full initial history prefix and original30s/60s deadlines are retained. This is a published-SDK/source-Server component, not qualification of a released Server fallback. The first fixture shared one token across conflicting roles and received403 before business admission; it remains an unsuccessful setup record.
Tests-first
4e69152on unchanged runtime fails six entry-binding assertions while five genuine-body/compatible/annotation controls pass. Implementation must bind the Python call before entering application code, report a typed nonterminal task refusal, preserve Python's annotation semantics, and permit supported recovery with compatible code. Genuine body errors must not be reclassified by exception name.Current implementation and confirming component
Current source is
6dcd59280af4fff4b7764f6f1b0f4f22a3f8693b/ whole297d2fc623dec961ee266b4961d975f4ceee3c69.inspect.signature(...).bind(...)runs before application invocation. Missing/excess/keyword-only arguments raiseWorkflowEntryArgumentsMismatchError; Python annotations are not enforced and compatible optional/variadic arguments remain supported. The Worker uses the existing task-failure endpoint with typed failure and structured reasonworkflow_entry_arguments_mismatch. Ordinary body errors, including a body deliberately throwing the new exception, remain workflow failures. Diagnostic text does not include recorded values or the original binding error text.fail_workflowwhere no terminal command is permitted. Corrected official consumer passes. No fixture or existing history contract was relaxed.Fresh exact-source CI/Sonar/corpus, final published SDK/Server/API/Waterline acceptance and complete release-guide follow-through remain pending. The portal source build passes; it is not a published SDK outcome. PHP and Rust counterparts remain open in the parent issue. No package/version, Server PHP/native/shared/OpenAPI/catalog or frozen actor edit/adoption.