You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds a ToolExecutionResult helper to normalize tool execution result entries and payload envelopes before AI step packet emission.
Emits explicit packet metadata for tool_result_envelope, tool_result_data, tool_result_shape, and tool_result_contract while preserving legacy tool_result compatibility.
Updates ToolResultFinder to read canonical envelopes and legacy packets consistently when matching successful handler results.
vendor/bin/phpunit ... because this checkout does not install phpunit.
homeboy test --path /Users/chubes/Developer/data-machine@fix-tool-execution-result-contract --extension wordpress --filter ToolResultFinder because Homeboy auto-selected lab runner lab, which is missing PHP and Composer.
AI assistance
AI assistance: Yes
Tool(s): OpenCode (GPT-5.5)
Used for: Drafted the implementation, tests, verification commands, and PR description for Chris to review.
ℹ️ To run specific tests: homeboy test data-machine -- --filter=TestName
ℹ️ Auto-fix lint issues: homeboy refactor data-machine --from lint --write
ℹ️ Collect coverage: homeboy test data-machine --coverage
ℹ️ Save test baseline: homeboy test data-machine --baseline
ℹ️ Analyze failures: homeboy test data-machine --analyze
ℹ️ Pass args to test runner: homeboy test -- [args]
ℹ️ Full options: homeboy docs commands/test
Deep dive: homeboy test data-machine --changed-since 0a1cd54
Artifacts and drill-down
CI results artifact: homeboy-ci-results-data-machine-test-quality-Linux-node24 contains immediate command JSON for this action invocation.
Observation artifact: homeboy-observations-data-machine-test-quality-Linux-node24 contains exported Homeboy run history for deeper queries.
Drill-down: download the observation artifact, then run homeboy runs import <dir>, homeboy runs list, and homeboy runs findings <run-id>.
Closing to avoid an overlapping competing implementation with #2267. PR #2267 already owns the practical tool-result/handler packet contract fix across AIStep, ToolResultFinder, Publish/Upsert projection, and scalar result normalization. Recommendation for #2262: treat it as covered by #2267 after the blocking success/data projection review finding is fixed; if a separate canonical ToolExecutionResult seam is still desired, it should be opened later as a narrow follow-up based on #2267 rather than parallel to it.
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
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
ToolExecutionResulthelper to normalize tool execution result entries and payload envelopes before AI step packet emission.tool_result_envelope,tool_result_data,tool_result_shape, andtool_result_contractwhile preserving legacytool_resultcompatibility.ToolResultFinderto read canonical envelopes and legacy packets consistently when matching successful handler results.Refs #2262.
Tests
php tests/upsert-handler-result-handoff-smoke.phpphp tests/ai-completion-assertion-packet-smoke.phpphp tests/agent-conversation-result-smoke.phpphp tests/ability-result-wp-error-smoke.phpvendor/bin/phpcs inc/Engine/AI/Tools/ToolExecutionResult.php inc/Engine/AI/Tools/ToolResultFinder.php inc/Core/Steps/AI/AIStep.php tests/Unit/Engine/AI/Tools/ToolResultFinderTest.php tests/Unit/Core/Steps/AI/AIStepTest.php tests/upsert-handler-result-handoff-smoke.php tests/ai-completion-assertion-packet-smoke.phpphp -l inc/Engine/AI/Tools/ToolExecutionResult.phpphp -l inc/Engine/AI/Tools/ToolResultFinder.phpphp -l inc/Core/Steps/AI/AIStep.phpNot run:
vendor/bin/phpunit ...because this checkout does not installphpunit.homeboy test --path /Users/chubes/Developer/data-machine@fix-tool-execution-result-contract --extension wordpress --filter ToolResultFinderbecause Homeboy auto-selected lab runnerlab, which is missing PHP and Composer.AI assistance