Skip to content

Fix MCP CLI bridge numeric arg coercion for schema-less tools#28005

Merged
pelikhan merged 4 commits intomainfrom
copilot/fix-cli-integer-params
Apr 23, 2026
Merged

Fix MCP CLI bridge numeric arg coercion for schema-less tools#28005
pelikhan merged 4 commits intomainfrom
copilot/fix-cli-integer-params

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 23, 2026

Daily CLI exploratory testing found that agenticworkflows logs --count/--max_tokens failed schema validation because CLI args were always passed as strings. This blocked practical use of result/token limits from the CLI path when tool metadata is unavailable.

  • Problem scope

    • mcp_cli_bridge correctly coerced types when JSON schema was present, but with empty tools metadata it passed raw strings through to mcpToolsCall.
    • logs tool parameters like count and max_tokens therefore arrived as "3" / "3000" instead of integers.
  • Bridge argument coercion update

    • Added a schema-less numeric fallback in coerceToolArgValue for values that are clearly numeric.
    • Integer and float parsing now happens only when schema info is absent, preserving existing schema-driven behavior.
    • Updated fallback parsing to explicitly use:
      • parseInt(..., 10) with isNaN checks for integer coercion
      • parseFloat(...) with isNaN checks for float coercion
    • Extended schema-less float handling to support scientific notation (for example, 1e3, -2E-4).
    • Kept non-numeric values unchanged (e.g., relative dates, workflow names).
  • Parser wiring change

    • parseToolArgs now detects whether schema properties are available and passes that context into coercion so fallback behavior is constrained to schema-less flows.
  • Targeted test coverage

    • Added tests to verify:
      • --count 3 --max_tokens 3000 are coerced to numbers when schema is unavailable.
      • Scientific notation values are coerced in schema-less mode.
      • Non-numeric inputs (e.g., --start_date -1d) remain strings in the same schema-less path.
const { args } = parseToolArgs(
  ["--start_date", "-1d", "--count", "3", "--max_tokens", "3000", "--threshold", "-2E-4"],
  {}
);

// args => { start_date: "-1d", count: 3, max_tokens: 3000, threshold: -0.0002 }

[!WARNING]

Copilot AI changed the title [WIP] Fix integer parameters in logs tool for CLI bridge Fix MCP CLI bridge numeric arg coercion for schema-less tools Apr 23, 2026
Copilot AI requested a review from pelikhan April 23, 2026 07:26
@pelikhan pelikhan marked this pull request as ready for review April 23, 2026 12:05
Copilot AI review requested due to automatic review settings April 23, 2026 12:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the MCP CLI bridge so that tool arguments passed via the generated CLI wrappers are coerced to numeric types even when tool schema metadata is unavailable, preventing schema validation failures for common numeric flags.

Changes:

  • Added a schema-less numeric coercion fallback in coerceToolArgValue (integers and floats) when no schema properties are available.
  • Wired parseToolArgs to pass schema-availability context into coercion logic.
  • Added targeted Vitest coverage for schema-less numeric coercion and preserving non-numeric strings.
Show a summary per file
File Description
actions/setup/js/mcp_cli_bridge.cjs Enables numeric coercion fallback for schema-less tool invocations and plumbs schema-availability state through argument parsing.
actions/setup/js/mcp_cli_bridge.test.cjs Adds tests verifying numeric coercion and non-numeric preservation in the schema-less path.

Copilot's findings

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 1

Comment on lines +625 to +640
// When schema metadata is unavailable (e.g. empty tools cache), apply
// conservative numeric coercion fallback for CLI ergonomics.
if (allowNumericFallback && types.length === 0) {
if (/^-?\d+$/.test(rawValue)) {
const parsedInt = Number.parseInt(rawValue, 10);
if (Number.isSafeInteger(parsedInt)) {
return parsedInt;
}
}

if (/^-?(?:\d+\.\d+|\d+\.|\.\d+)(?:[eE][+-]?\d+)?$/.test(rawValue)) {
const parsedFloat = Number.parseFloat(rawValue);
if (!Number.isNaN(parsedFloat) && Number.isFinite(parsedFloat)) {
return parsedFloat;
}
}
Copy link

Copilot AI Apr 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The schema-less numeric fallback coerces floats only when the value matches the decimal-point regex, so scientific notation like 1e3 / -2E-4 (which Number()/parseFloat() parse fine) will not be coerced and will still be sent as a string in schema-less mode. Consider extending the float pattern to allow exponent-only forms (e.g. ^-?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?$) or using a single numeric-validation regex shared by both integer/float branches.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link
Copy Markdown
Contributor

🧪 Test Quality Sentinel Report

Test Quality Score: 85/100

Excellent test quality

Metric Value
New/modified tests analyzed 2
✅ Design tests (behavioral contracts) 2 (100%)
⚠️ Implementation tests (low value) 0 (0%)
Tests with error/edge cases 1 (50%)
Duplicate test clusters 0
Test inflation detected No (0.78:1 ratio)
🚨 Coding-guideline violations None

Test Classification Details

Test File Classification Issues Detected
falls back to numeric coercion when schema properties are unavailable actions/setup/js/mcp_cli_bridge.test.cjs ✅ Design None
preserves non-numeric values when schema properties are unavailable actions/setup/js/mcp_cli_bridge.test.cjs ✅ Design None

Flagged Tests — Requires Review

None. All tests passed quality review.


Language Support

Tests analyzed:

  • 🐹 Go (*_test.go): 0 tests
  • 🟨 JavaScript (*.test.cjs, *.test.js): 2 tests (vitest)

Verdict

Check passed. 0% of new tests are implementation tests (threshold: 30%).

Both new tests directly call parseToolArgs() — the public function — and assert on its return value. Test 1 confirms integer/float values are coerced when the schema is empty. Test 2 is a meaningful edge case: strings like "-1d" that look partially numeric must remain strings. Together they cover the behavioral contract of the new fallback feature.

Minor observation: Neither test covers an error-shape path. Since the feature doesn't throw errors itself, this is acceptable — but future tests could add boundary cases such as unsafe integers (Number.MAX_SAFE_INTEGER + 1) or NaN/Infinity-producing strings.

📖 Understanding Test Classifications

Design Tests (High Value) verify what the system does:

  • Assert on observable outputs, return values, or state changes
  • Cover error paths and boundary conditions
  • Would catch a behavioral regression if deleted
  • Remain valid even after internal refactoring

Implementation Tests (Low Value) verify how the system does it:

  • Assert on internal function calls (mocking internals)
  • Only test the happy path with typical inputs
  • Break during legitimate refactoring even when behavior is correct
  • Give false assurance: they pass even when the system is wrong

Goal: Shift toward tests that describe the system's behavioral contract — the promises it makes to its users and collaborators.

References: §24834194143

🧪 Test quality analysis by Test Quality Sentinel · ● 322.4K ·

Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Test Quality Sentinel: 85/100. Test quality is acceptable — 0% of new tests are implementation tests (threshold: 30%).

Comment thread actions/setup/js/mcp_cli_bridge.cjs Outdated
// When schema metadata is unavailable (e.g. empty tools cache), apply
// conservative numeric coercion fallback for CLI ergonomics.
if (allowNumericFallback && types.length === 0) {
if (/^-?\d+$/.test(rawValue)) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot call parseInt and check if isNaN

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 27d4879: schema-less numeric fallback now uses parseInt(..., 10) with an isNaN check (and safe-integer guard) before coercing integer values.

Comment thread actions/setup/js/mcp_cli_bridge.cjs Outdated
}
}

if (/^-?(?:\d+\.\d+|\d+\.|\.\d+)(?:[eE][+-]?\d+)?$/.test(rawValue)) {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot call parseFloat and check if isNaN

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated in 27d4879: schema-less numeric fallback now uses parseFloat(...) with an isNaN check for numeric coercion, including scientific notation values.

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 23, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh gh repo view --json owner,name --jq .owner.login + "/" + .name /usr/bin/git "prettier" --chegit sh 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel url /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)
    • Triggering command: /usr/bin/gh gh repo view owner/repo rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/infocmp (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c "prettier" --cheGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name -json GO111MODULE modules/@npmcli/run-script/lib/node-gyp-bin/sh GOINSECURE GOMOD GOMODCACHE go env 6d45fa2961359906-d GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git itbranch_with_hygit itbranch_with_hyrev-parse 64/bin/go git remo�� GOMODCACHE go /usr/bin/git ithout_min-integnode GO111MODULE 64/pkg/tool/linuinstall git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq [.object.sha, .object.type] | @tsv /tmp/gh-aw-test-runs/20260423-122739-40995/test-.artifacts[].name rev-parse /usr/bin/git @{u} GO111MODULE n-dir/sh git rev-�� --show-toplevel go /usr/bin/git ithout_min-integnode GO111MODULE ache/go/1.25.8/xinstall git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/gh-aw-test-runs/20260423-122401-25059/test-2757441389/.github/workflows rev-parse /usr/bin/git che/go-build/51/git GOPROXY 64/bin/go git rev-�� --show-toplevel /opt/hostedtoolcGOPROXY /usr/bin/git 01 -trimpath 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv /tmp/TestHashConsistency_InlinedImports948016330/001/inlined-a.md go /usr/bin/git led-with-env-temgh GO111MODULE 64/bin/go git -C /tmp/gh-aw-test-runs/20260423-122739-40995/test-1182403926/.github/workflows remote ache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go ache/node/24.14.1/x64/bin/node (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv b/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv GOMODCACHE 64/pkg/tool/linux_amd64/compile /usr/bin/git -json GO111MODULE ache/go/1.25.8/x: git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv WorkflowFiles_TransitiveImports3991018348/001 ^remote\..*\.gh-resolved$ /usr/bin/git GOPATH GOPROXY ache/node/24.14.--show-toplevel git 1/x6�� --show-toplevel git-upload-pack /usr/bin/git k/gh-aw/gh-aw/.ggit go /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv runs/20260423-122401-25059/test-1799142623/custom/workflows -buildtags At,event,headBranch,headSha,displayTitle -errorsas -ifaceassert -nilfunc git ls-r�� --symref origin /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv user.email l /usr/bin/infocmp -json GO111MODULE 64/bin/go infocmp -1 xterm-color go /usr/bin/gh -json GO111MODULE 64/bin/go gh (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x-m git init�� GOMODCACHE go /usr/bin/git 2401-25059/test-git GO111MODULE ache/node/24.14.--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv --show-toplevel ortcfg /usr/bin/git SameOutput639710git GO111MODULE ache/go/1.25.8/x-m git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linurev-parse /usr/bin/git 6429063/b388/_pkgit GO111MODULE 6429063/b388=> git (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE sh -c npx prettier --cGOINSECURE GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv "prettier" --cheGOINSECURE sh 64/bin/go tierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv --check scripts/**/*.js 64/bin/go -d (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv /tmp/TestCompileErrorFormatting1713014855/001 remote /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git LsRemoteWithRealgit LsRemoteWithRealrev-parse 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel x_amd64/compile "warnings":[]}] -json GO111MODULE 64/bin/go git comm�� -m Initial commit /usr/bin/git -json GO111MODULE 86_64/sh git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go /usr/bin/git remo�� -v node /usr/bin/git run lint:cjs 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git itmain_branch232git itmain_branch232rev-parse 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -test.paniconexit0 -test.v=true /usr/bin/git -test.timeout=10/usr/bin/git -test.run=^Test -test.short=true-v git conf�� --get remote.origin.url /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -json l /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -ato�� test1.md test2.lock.yml /usr/bin/infocmp -errorsas -ifaceassert -nilfunc infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv runs/20260423-122739-40995/test-1182403926/.github/workflows -trimpath 1/x64/bin/node -p main -lang=go1.25 1/x64/bin/node /tmp�� TKyFKn434rf6XTvoQmg2/TKyFKn434rf6XTvoQmg2 -dwarf=false /usr/bin/git go1.25.8 -c=4 -nolocalimports git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v0.1.2
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel go Name,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go "warnings":[]}] -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v0.1.2 --jq [.object.sha, .object.type] | @tsv --show-toplevel x_amd64/compile /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git main�� run --auto /usr/bin/git --detach GO111MODULE ache/go/1.25.8/x--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv runs/20260423-122401-25059/test-2262018989 GO111MODULE /usr/bin/git GOINSECURE GOMOD GOMODCACHE git rev-�� --show-toplevel GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -bool -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git comm�� -m initial commit /usr/bin/git -json GO111MODULE (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv 2497382702 GO111MODULE /usr/bin/git GOINSECURE GOMOD GOMODCACHE git -C 69 l /usr/bin/git remote.origin.urgit GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows/ace-editor.md -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git init�� --bare --initial-branch=my-default /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name --merged=8fb4c2d10f81d7e8e1cbbec9cea0cd9659bb5a10 /usr/bin/git GOSUMDB GOWORK 64/bin/go git clon�� /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1204148389/001 /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1204148389/002/work /usr/bin/git Dne6/Km5-FQI9vwDgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GOPROXY bject.type] | @tsv GOSUMDB GOWORK 64/bin/go git clon�� /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen2025878947/0remote.origin.ur/usr/bin/git /tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen2025878947/002/work /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/1/artifacts --jq .artifacts[].name GOPROXY 1/x64/bin/node l GOWORK 64/bin/go 1/x64/bin/node -c echo "Syncing install-gh-aw.sh to actions/setup-cli/install.sh..." go /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name GO111MODULE ache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE git t-25�� k/gh-aw/gh-aw/.github/workflows/ai-moderator.md GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GOPROXY /usr/lib/git-core/git-receive-pack GOSUMDB GOWORK 64/bin/go git-receive-pack /tmp�� (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12345/artifacts --jq .artifacts[].name --check /opt/hostedtoolcache/go/1.25.8/x64/bin/go **/*.ts **/*.json --ignore-path go list�� tructions-test-1341048647/.github/workflows -e /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet tierignore ../../../**/*.jsrev-parse 64/bin/go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linuInitial commit (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name l At,event,headBranch,headSha,displayTitle GOINSECURE GOMOD GOMODCACHE git rev-�� --show-toplevel GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GOPROXY /usr/bin/git l GOWORK 64/bin/go git push�� origin main /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/12346/artifacts --jq .artifacts[].name --check /opt/hostedtoolcache/go/1.25.8/x64/bin/go **/*.ts **/*.json --ignore-path go list�� tructions-test-1341048647/.github/workflows -f 1/x64/bin/node l unsafe 64/bin/go 1/x64/bin/node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name log /bin/sh -n1 --format=format:rev-parse --end-of-options--show-toplevel /bin/sh -c git-upload-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1204148389/001' git-upload-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitmaster_branch1204148389/001' ache/node/24.14.1/x64/bin/node QxMS/t0Q-uZxGURygit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 -buildtags /usr/lib/git-core/git-upload-pack -errorsas -ifaceassert -nilfunc git-upload-pack /tmp�� -stringintconv -tests /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/2/artifacts --jq .artifacts[].name GOPROXY /usr/bin/cp iles use Prettiegit GOWORK 64/bin/go cp .git�� pkg/actionpins/data/action_pins.json go /usr/lib/git-core/git-receive-pack -json GO111MODULE 64/bin/go git-receive-pack^remote\..*\.gh-resolved$ (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git add . go /usr/bin/git Hb9S/yFc6seosuLAgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git comm�� -m initial commit /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/3/artifacts --jq .artifacts[].name GOPROXY /usr/bin/chmod GOSUMDB GOWORK run-script/lib/n--show-toplevel chmod +x actions/setup-cli/install.sh l /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name blob /usr/lib/git-core/git-upload-pack GOSUMDB GOWORK 64/bin/go git-upload-pack /tmp�� GOMODCACHE go /usr/bin/git Qvgu/AuX73i1ch-Zgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 -buildtags 1/x64/bin/node -errorsas -ifaceassert -nilfunc 1/x64/bin/node init�� --bare --initial-branch=my-default /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/4/artifacts --jq .artifacts[].name GOPROXY /bin/sh GOSUMDB GOWORK 64/bin/go /bin/sh -c echo "��� Action scripts synced successfully" go /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git comm�� -m initial commit /usr/bin/git QcaL/wRpqS8WHv4vgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git add . -tests /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api --paginate repos/{owner}/{repo}/actions/runs/5/artifacts --jq .artifacts[].name GOPROXY /usr/bin/cp GOSUMDB GOWORK 64/bin/go cp inst�� actions/setup-cli/install.sh go /usr/lib/git-core/git -json GO111MODULE 64/bin/go /usr/lib/git-core/git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path cd actions/setupGOINSECURE (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 GOMOD GOMODCACHE go er_b�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/asm -V=f�� GOPATH GOPROXY /usr/bin/git GOSUMDB GOWORK 64/bin/go git (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build3078070645/b404/cli.test /tmp/go-build3078070645/b404/cli.test -test.testlogfile=/tmp/go-build3078070645/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE npm run lint:cjs GOPROXY 64/bin/go lk-memory gh-aw.wasm -o gh-aw.opt.wasm && \ mv gh-aw.opt.wasm gh-aw.wasm; \ AFTER=$(wc -c < g GOWORK 64/bin/go sh (http block)
    • Triggering command: /tmp/go-build2509476993/b404/cli.test /tmp/go-build2509476993/b404/cli.test -test.testlogfile=/tmp/go-build2509476993/b404/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x--show-toplevel git conf�� tags/v3 Test User sv 2401-25059/test-ls GO111MODULE /opt/hostedtoolc/tmp/gh-aw/aw-feature-branch.patch git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv --show-toplevel go /usr/bin/git -json GO111MODULE h git rev-�� --show-toplevel epo}/actions/runs/3/artifacts /usr/bin/git e GO111MODULE /opt/hostedtoolc/tmp/gh-aw/aw-feature-branch.patch git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ty-test.md GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go ch_w�� json' --ignore-path ../../../.pr**/*.json GO111MODULE ules/.bin/prettier GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv Gitmaster_branchremote.origin.url Gitmaster_branch1204148389/001' 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ub/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv matter-with-nestremote.origin.url GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ub/workflows GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv le-frontmatter.md GO111MODULE sh GOINSECURE GOMOD GOMODCACHE go env 161d3ecf93c121d33b981d2ec12aebb2-d GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --exclude-hiddengit --all --quiet git t-32�� k/gh-aw/gh-aw/.github/workflows/artifacts-summary.md sh /usr/bin/git "prettier" --che/usr/bin/git GOPROXY 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion -json GO111MODULE 64/bin/go git push�� origin master /usr/bin/git -json GO111MODULE modules/@npmcli/--get-regexp git (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOSUMDB GOWORK 64/bin/go sh -c "prettier" --cheGOINSECURE sh 64/bin/go "prettier" --wri/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOSUMDB GOWORK 64/bin/go sh -c "prettier" --cheGOINSECURE sh 64/bin/go tierignore (http block)
    • Triggering command: /usr/bin/gh gh workflow list --repo owner/repo --json name,path,state /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git ub/workflows GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name d GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 38e31520e5ec228f-d GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch GOMODCACHE go /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� steps.test.outputs.result go /usr/bin/git -json GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE x_amd64/vet git (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI requested a review from pelikhan April 23, 2026 12:31
@pelikhan pelikhan merged commit 626601e into main Apr 23, 2026
@pelikhan pelikhan deleted the copilot/fix-cli-integer-params branch April 23, 2026 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[cli-tools-test] MCP CLI bridge passes integer parameters as strings, breaking count and max_tokens in logs tool

3 participants