fix(pipeline): bind deploying conclusion to the final ros_deploy result - #208
Open
ruanzhengxin-zhuxing wants to merge 1 commit into
Open
fix(pipeline): bind deploying conclusion to the final ros_deploy result#208ruanzhengxin-zhuxing wants to merge 1 commit into
ruanzhengxin-zhuxing wants to merge 1 commit into
Conversation
The deploying success guard only checked that *some* ros_deploy record in the step satisfied CREATE_COMPLETE, so a conclusion could pair the stack_id of a superseded CREATE_FAILED stack with status: success as long as an earlier attempt had matched. Step results then disagreed with the stack that was actually deployed. Add a latest_record_must_match option to require_tool_result that validates only the final matching tool call, and enable it for the selling deploying guard so stack_id/status always track the last ros_deploy attempt.
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.
Problem
The selling
deployingstep success guard only checked that someros_deployrecord satisfied CREATE_COMPLETE, so a conclusion could pair the stack_id of a superseded CREATE_FAILED stack withstatus: success(Session 5bed835ca9c84c7d9e3ec57fbc95c0e9: CREATE_FAILED stack 41aacbd4… recorded as success).Fix
latest_record_must_matchtorequire_tool_resultincomplete_step_tool.py, validating only the final matching tool call (including failed records) so the conclusion tracks the lastros_deployattempt.pipeline.yaml.iac-aliyun-deployingSKILL guidance; add engine + contract tests.Tests
tests/pipeline/engine/test_complete_step_tool.py,tests/pipeline/selling/pass;ruff checkandty check srcgreen.