Repository navigation
Conversation
delegate-stdio aliases ExecuteBashCommand to Bash but not ExecutePowershellCommand, so on Windows every shell call missed `tool_name: Bash` criteria and was matched as JSON. The escaped quote in `UiPath.Upgrade.exe\" analyze` broke the patterns, and the call's plain-English `steps` tripped "no analyze without SARIF" exclusions. coder_eval_uipath nightly 13817754 scored correct migrator and genome runs 0.8-0.94 this way. Map it to Bash next to LoadSkill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Superseded: the alias now lives where the rest of Delegate's tool-name aliases do, in delegate-stdio's TOOL_NAME_ALIAS (UiPath/Autopilot@87fbbfc1e8 on fix/sdk-interop-log-path). It reaches the nightly with the next delegate-stdio release, since DELEGATE_STDIO_VERSION defaults to latest. |
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
DelegateAgentnow records Delegate's Windows shell tool,ExecutePowershellCommand, as the canonicalBashtool. It sits in_TOOL_NAME_MAPnext to the existingLoadSkill→Skillmapping.command_executedtreats a Windows Delegate shell call like any other shell call.tool_name: Bashfilters match it, and patterns run against the rawcommandstring instead of the JSON-dumped parameters.Why
delegate-stdiorenamesExecuteBashCommandtoBashitself, but it leavesExecutePowershellCommandas is. On the Windows slice of the coder_eval_uipath nightly (build 13817754), the agent ran the right commands and still lost points:skill-genome-execute-componentuip rpa buildtool_name=Bash, so it can never matchExecutePowershellCommand.skill-migrator-migrate-classic-windowsanalyze --output-format sarif/upgrade --output-pathUiPath.Upgrade.exe\" analyze. The escaped quote breaks the["']?\s+analyzepattern.stepstext ("Run UiPath.Upgrade.exe analyze with SARIF output…"), not the command.Those were the only checks that failed on either task, so with this change both pass.
Why here, not in delegate-stdio
Adding
ExecutePowershellCommand: 'Bash'toTOOL_NAME_ALIASindelegate-stdiowould also work. But the fix would then only reach runs that pick up a new host release. This side covers every pinneddelegate-stdioversion, and follows the pattern already used forLoadSkill.Tests
test_powershell_command_is_recorded_as_the_canonical_bash_call. It failed before the change ('ExecutePowershellCommand' != 'Bash').test_happy_path_text_and_toolusedExecutePowershellCommandas a generic tool name and asserted it came through unchanged. It now usesBash, so it keeps testing the happy path rather than the name mapping.tests/test_delegate_agent.py,tests/test_command_executed.py,tests/test_custom_lint.py, ruff format/check and pyright (delegate_agent.py) pass locally on Windows. The process-group teardown test is skipped as POSIX-only, and CE033 needsPYTHONUTF8=1on a cp1252 console.🤖 Generated with Claude Code