Skip to content

perf: fix ParseWorkflow regression — ~18% faster, ~22% fewer allocations#25990

Merged
pelikhan merged 5 commits intomainfrom
copilot/fix-parse-workflow-performance
Apr 13, 2026
Merged

perf: fix ParseWorkflow regression — ~18% faster, ~22% fewer allocations#25990
pelikhan merged 5 commits intomainfrom
copilot/fix-parse-workflow-performance

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 13, 2026

BenchmarkParseWorkflow regressed 10.8% (1.32ms → 1.19ms historical). Profiling identified two hotspots.

JSON roundtrip elimination in validateWithSchema

Schema validation was normalizing YAML types via json.Marshaljson.Unmarshal on every call. Replaced with a direct recursive normalizeForJSONSchema that converts uint64/int64float64 in-place:

// Before: serialize and deserialize just to convert int types
frontmatterJSON, _ := json.Marshal(frontmatter)
json.Unmarshal(frontmatterJSON, &normalized)

// After: direct type coercion, zero serialization
normalized := normalizeForJSONSchema(frontmatter)

Redundant YAML parse for builtin engine files

extractAllImportFields parsed builtin virtual files (e.g. @builtin:engines/claude.md) twice — once in processIncludedFileWithVisited (populating the process-level cache), then again via uncached ExtractFrontmatterFromContent. Now uses ExtractFrontmatterFromBuiltinFile for the second call, hitting the cache.

Results

Metric Before After Δ
ns/op 320,000 261,000 −18%
B/op 170,000 142,200 −16%
allocs/op 2,661 2,081 −22%

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 /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw efaultBranchFromrev-parse ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel go /usr/bin/git 1461288476 stmain.go 1/x64/bin/node git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw git /usr/bin/git /opt/hostedtoolcache/node/24.14.--package-lock-only /tmp�� /usr/bin/git git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw git /usr/bin/git git 2824�� --show-toplevel git ache/go/1.25.8/x64/bin/node --show-toplevel git ptables git (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 node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path /bin/sh (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 --show-toplevel x_amd64/vet /opt/hostedtoolcache/node/24.14.1/x64/bin/node -json GO111MODULE 64/bin/go /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� Secret: ${{ secrets.TOKEN }} go /usr/bin/infocmp -json GO111MODULE 64/bin/go infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --noprofile 53 ache/node/24.14.1/x64/bin/node ACCEPT ache/go/1.25.8/xrev-parse /usr/bin/git ache/node/24.14.1/x64/bin/node 2784�� (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha se 0050491/b111/vet.cfg /usr/bin/git 1059840875/001' 1059840875/001' 64/bin/go git rev-�� --show-toplevel 2504610/b418/impGOPROXY om/upstream/repo.git k/gh-aw/gh-aw/pkgit k/gh-aw/gh-aw/pkrev-parse 64/bin/go /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel ortcfg /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/go/1.25.8/xrev-parse /usr/bin/git git (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 01/001/test-complex-frontmatter-with-tools.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -test.paniconexit0 -test.v=true /usr/bin/git -test.timeout=10git -test.run=^Test -test.short=true--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/link /usr/bin/git 4144306482/001 GO111MODULE ortcfg.link git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git orts2795610404/0git GO111MODULE /opt/hostedtoolc--show-toplevel git rev-�� --show-toplevel go /usr/bin/git ithub-script/gitgit GO111MODULE (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 --show-toplevel go /usr/bin/git -json GO111MODULE ache/go/1.25.8/x64/bin/go 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/github-script/git/ref/tags/v8 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel ache/node/24.14.-f1 /usr/bin/infocmp git rev-�� --show-toplevel infocmp /opt/hostedtoolcache/node/24.14.1/x64/bin/node xterm-color git /usr/bin/git /opt/hostedtoolcache/node/24.14.1/x64/bin/node (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 tem ]; then /usr/lib/php/sessionclean; fi (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env hSDQ/Y9jyDvf0xHeGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE 2504610/b397/impGO111MODULE (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha remove origin /usr/bin/git b/workflows GO111MODULE 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 api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/grep --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git grep -B2 FAIL\s /tmp/copilot-tool-output-1776064621063-r85ujy.txt /opt/pipx_bin/bash --show-toplevel git /usr/bin/git bash (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 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha add resolved$ /usr/bin/git -json GO111MODULE 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 api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/bash --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git bash --no�� --noprofile git /snap/bin/bash --show-toplevel /bin/sh /usr/bin/git bash (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 /tmp/go-build1200050491/b395/_pkg_.a -trimpath ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet -p github.com/githurev-parse -lang=go1.25 ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet unpa�� --pack_header=2,3 -q /usr/bin/git -c=4 -nolocalimports -importcfg git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git 86_64/bash --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha 1708-31591/test-577487126/.github/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go ortc�� -json stmain.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha ExpressionCompiledOutput4236302171/001 GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git cal/bin/bash git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git p/bin/bash git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ch git /usr/bin/git --show-toplevel git sh git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha install --package-lock-oowner=github /usr/bin/git -t security /home/REDACTED/worgraphql git rev-�� --show-toplevel bash /usr/bin/git --noprofile owner /opt/hostedtoolc/home/REDACTED/work/gh-aw/gh-aw git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v7 --jq .object.sha install --package-lock-only $name) { hasDiscussionsEnabled } } -t security /home/REDACTED/.lographql git rev-�� --show-toplevel bash r: $owner, name:-f --noprofile conntrack /opt/hostedtoolc/home/REDACTED/work/gh-aw/gh-aw/.github/workflows 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 /tmp/gh-aw-test-runs/20260413-071708-31591/test-1461288476 rev-parse /opt/hostedtoolcache/node/24.14.1/x64/bin/node @{u} GO111MODULE 64/bin/go node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/ai-moderator.md go /usr/bin/git -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 --show-toplevel git /snap/bin/bash --show-toplevel bash /usr/bin/git bash --no�� --noprofile git /usr/bin/bash --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git bash (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 -aw/git/ref/tags/v2.0.0 -buildtags ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -errorsas -ifaceassert -nilfunc ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -c 0050491/b449/_pkg_.a git-receive-pack '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitbranch_with_hyphen1236448034rev-parse 0050491/b449=> -json GO111MODULE 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 --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� heckout/git/ref/tags/v5 git 1/x64/bin/node --show-toplevel go /usr/bin/git git (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 ithub/workflows/agentic-observability-kit.md g/typeutil/convert_test.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -s b/gh-aw/pkg/strirev-parse -buildmode=exe ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile 9040�� vwQI/NMpLmQ7z83YDrqtkvwQI my-default /usr/bin/git -json GO111MODULE 64/bin/go 0050491/b434/importcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel go /usr/bin/git git rev-�� --show-toplevel git 1/x64/bin/node --show-toplevel go /usr/bin/git 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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3191579503 GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE stants.test GOINSECURE GOMOD GOMODCACHE stants.test (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE util.test GOINSECURE GOMOD GOMODCACHE util.test (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3191579503 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env " GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 3191579503 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE n-dir/bash GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 260061488/.github/workflows GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 86_64/bash GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path 57056889/001' 57056889/001' -importcfg /tmp/go-build1200050491/b411/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/fileutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/tar.go /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path golangci-lint (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 .prettierignore 64/bin/go go env -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 go env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (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 --show-toplevel go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel ache/node/24.14.-c /usr/bin/git 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 -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha nly git /usr/bin/git /home/REDACTED/worbash rev-parse /opt/hostedtoolc--noprofile git rev-�� --show-toplevel node /usr/bin/git /tmp/TestHashConbash 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 "prettier" --che-test.timeout=10m0s sh 64/bin/go tierignore 64/pkg/tool/linuinit 64/bin/go go env -json GO111MODULE 64/bin/go 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 --check scripts/**/*.js 64/bin/go .prettierignore 64/pkg/tool/linu-c 64/bin/go go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE iE8t3kR/-pSRkXIpconfig (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha echo "��� JavaSc-test.timeout=10m0s node 64/bin/go -d scripts/**/*.js 64/bin/go 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 -json GOMOD 64/bin/go -d scripts/**/*.js 64/bin/go go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 --check scripts/**/*.js 64/bin/go .prettierignore scripts/**/*.js 64/bin/go go env 056889/001 056889/002/work 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/-
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/- --jq .object.sha i-inference/git/ref/tags/v1 git /usr/bin/git rt git 1/x64/bin/node git rev-�� --show-toplevel 1/x64/bin/node /usr/bin/git --show-toplevel git /usr/local/sbin//home/REDACTED/work/gh-aw/gh-aw/.github/workflows git (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 edOutput4236302171/001 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env plorer.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel nly /usr/bin/git /home/REDACTED/worbash rev-parse /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git ../../../.prettibash l /usr/bin/git git (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 GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/cgo env -json GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (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 GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1200050491/b397/cli.test /tmp/go-build1200050491/b397/cli.test -test.testlogfile=/tmp/go-build1200050491/b397/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 node (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check 64/bin/go **/*.ts **/*.json --ignore-path node (http block)

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

Copilot AI and others added 2 commits April 13, 2026 07:29
…iltin cache

Replace the json.Marshal/json.Unmarshal roundtrip in validateWithSchema with a
direct recursive type normalization function (normalizeForJSONSchema). This avoids
the serialization/deserialization overhead while still converting YAML-native types
(uint64/int64) to JSON-compatible float64 for schema validation.

Also optimize import field extraction for builtin virtual files (engine definitions)
by using the process-level frontmatter cache (ExtractFrontmatterFromBuiltinFile)
instead of re-parsing the same YAML content that was already parsed during
processIncludedFileWithVisited.

BenchmarkParseWorkflow results:
- Before: ~320,000 ns/op, 170,000 B/op, 2,661 allocs/op
- After:  ~261,000 ns/op, 142,200 B/op, 2,081 allocs/op
- Speed:       ~18% faster
- Memory:      ~16% less
- Allocations: ~22% fewer

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/cb3dee46-6a28-4a88-952e-7fc85d445324

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix performance regression in ParseWorkflow perf: fix ParseWorkflow regression — ~18% faster, ~22% fewer allocations Apr 13, 2026
Copilot AI requested a review from pelikhan April 13, 2026 07:31
@github-actions

This comment has been minimized.

@github-actions
Copy link
Copy Markdown
Contributor

Hey @Copilot 👋 — great work tackling the BenchmarkParseWorkflow regression! The benchmark table (−18% ns/op, −22% allocs/op) tells a compelling story, and both optimisations are well-scoped and clearly explained.

One gap before this is review-ready:

  • Add tests for normalizeForJSONSchema — the new recursive helper in pkg/parser/schema_compiler.go has no direct unit tests. TestValidateWithSchema exercises the happy-path end-to-end but doesn't cover the type-conversion branches (int64 → float64, uint64 → float64, nested maps/slices, passthrough for string/bool/nil, etc.).
  • Add a test for the builtin cache-hit path in extractAllImportFields — the new branch that calls ExtractFrontmatterFromBuiltinFile when strings.HasPrefix(item.fullPath, BuiltinPathPrefix) && len(item.inputs) == 0 should be covered. There's already a solid test file at pkg/parser/import_field_extractor_test.go — the new case fits naturally alongside those.

If you'd like a hand, here's a ready-to-use agentic prompt:

Add missing unit tests for the two performance changes in pkg/parser introduced in PR #25990.

1. In pkg/parser/schema_test.go (or a new pkg/parser/schema_compiler_test.go), add a TestNormalizeForJSONSchema table-driven test covering:
   - int, int8, int16, int32, int64 → float64
   - uint, uint8, uint16, uint32, uint64 → float64
   - float32 → float64
   - float64, string, bool, nil passthrough unchanged
   - Nested map[string]any with mixed numeric values
   - []any slice with mixed numeric values

2. In pkg/parser/import_field_extractor_test.go, add a test that verifies the builtin-file cache-hit path in extractAllImportFields:
   - Call with an item whose fullPath begins with BuiltinPathPrefix and has no inputs; confirm the result matches a direct ExtractFrontmatterFromBuiltinFile call.
   - Call with a builtin item that HAS inputs; confirm it bypasses the cache.

Follow the existing test patterns ((go/redacted):build !integration, package parser, testify assertions). Run `make test` to confirm all tests pass.

Generated by Contribution Check · ● 3.2M ·

@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot review all comments

@pelikhan pelikhan marked this pull request as ready for review April 13, 2026 13:42
Copilot AI review requested due to automatic review settings April 13, 2026 13:42
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

Improves ParseWorkflow performance by removing an expensive JSON marshal/unmarshal “type normalization” step during schema validation and by avoiding redundant YAML parsing for builtin engine imports.

Changes:

  • Added a recursive normalizeForJSONSchema helper to coerce YAML-decoded numeric types into JSON-schema-friendly types without a JSON roundtrip.
  • Updated validateWithSchema to use the new normalization helper instead of json.Marshaljson.Unmarshal.
  • Updated import field extraction to reuse the builtin frontmatter cache when re-parsing builtin files without inputs.
Show a summary per file
File Description
pkg/parser/schema_compiler.go Replaces JSON roundtrip normalization with a recursive type coercion helper for schema validation.
pkg/parser/import_field_extractor.go Uses cached builtin frontmatter parsing to avoid redundant YAML parses for builtin imports without inputs.

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: 2

Comment thread pkg/parser/schema_compiler.go Outdated
Comment on lines +192 to +196
// normalizeForJSONSchema recursively converts YAML-native Go types to JSON-compatible
// types for JSON schema validation. goccy/go-yaml produces uint64 for positive integers
// and int64 for negative integers, but JSON schema validators expect float64 for all
// numbers (matching encoding/json's unmarshaling behavior). This avoids the overhead
// of a json.Marshal + json.Unmarshal roundtrip.
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

The comments say this is an “in-place normalization”, but normalizeForJSONSchema allocates new maps/slices and returns a copied structure instead of mutating the input. Please update the wording to avoid implying callers’ maps (including cached builtin frontmatter) are mutated.

Suggested change
// normalizeForJSONSchema recursively converts YAML-native Go types to JSON-compatible
// types for JSON schema validation. goccy/go-yaml produces uint64 for positive integers
// and int64 for negative integers, but JSON schema validators expect float64 for all
// numbers (matching encoding/json's unmarshaling behavior). This avoids the overhead
// of a json.Marshal + json.Unmarshal roundtrip.
// normalizeForJSONSchema recursively returns a normalized copy of v with YAML-native
// Go types converted to JSON-compatible types for JSON schema validation. It does
// not mutate the caller's maps or slices. goccy/go-yaml produces uint64 for
// positive integers and int64 for negative integers, but JSON schema validators
// expect float64 for all numbers (matching encoding/json's unmarshaling behavior).
// This avoids the overhead of a json.Marshal + json.Unmarshal roundtrip.

Copilot uses AI. Check for mistakes.
Comment on lines 239 to 280
@@ -217,27 +264,19 @@ func validateWithSchema(frontmatter map[string]any, schemaJSON, context string)
return fmt.Errorf("schema validation error for %s: %w", context, err)
}

// Convert frontmatter to JSON and back to normalize types for validation
// Handle nil frontmatter as empty object to satisfy schema validation
var frontmatterToValidate map[string]any
// Normalize YAML-native Go types to JSON-compatible types for schema validation.
// goccy/go-yaml produces uint64/int64 for integers, but JSON schema validators
// expect float64 for all numbers (matching encoding/json's behavior).
// This in-place normalization avoids the overhead of a json.Marshal/Unmarshal roundtrip.
var normalized any
if frontmatter == nil {
frontmatterToValidate = make(map[string]any)
normalized = make(map[string]any)
} else {
frontmatterToValidate = frontmatter
}

frontmatterJSON, err := json.Marshal(frontmatterToValidate)
if err != nil {
return fmt.Errorf("schema validation error for %s: failed to marshal frontmatter: %w", context, err)
}

var normalizedFrontmatter any
if err := json.Unmarshal(frontmatterJSON, &normalizedFrontmatter); err != nil {
return fmt.Errorf("schema validation error for %s: failed to unmarshal frontmatter: %w", context, err)
normalized = normalizeForJSONSchema(frontmatter)
}

// Validate the normalized frontmatter
if err := schema.Validate(normalizedFrontmatter); err != nil {
if err := schema.Validate(normalized); err != nil {
schemaCompilerLog.Printf("Schema validation failed for %s: %v", context, err)
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

This new normalization path is performance-sensitive and changes validation behavior for numeric types; there are existing unit tests for validateWithSchema, but none asserting that YAML-style ints (e.g., int64/uint64) are accepted against number/integer schema types. Please add coverage that exercises normalizeForJSONSchema via validateWithSchema (including nested maps/slices) to prevent regressions.

Copilot uses AI. Check for mistakes.
@github-actions github-actions bot mentioned this pull request Apr 13, 2026
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot Review all comments

Address review feedback:
- Fix misleading "in-place" wording in normalizeForJSONSchema comment
  (it returns a copy, not mutating the caller's maps)
- Add TestNormalizeForJSONSchema with table-driven coverage of all
  integer types, float types, and passthrough types
- Add TestNormalizeForJSONSchema_NestedMap and _Slice for recursive cases
- Add TestValidateWithSchema_YAMLIntegerTypes for end-to-end validation
  of YAML-native integer types against number/integer schema types
- Add TestExtractAllImportFields_BuiltinCacheHit and
  _BuiltinWithInputsBypassesCache for cache path coverage

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/f93d819e-783c-48c8-ba3e-3adafe779d6e

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

@copilot review all comments

Addressed all review comments in e3068b2:

  1. Fixed misleading "in-place" wording — updated normalizeForJSONSchema comment to clarify it returns a copy and does not mutate the caller's maps/slices.

  2. Added unit tests for normalizeForJSONSchema — table-driven TestNormalizeForJSONSchema covering all integer types (int through int64, uint through uint64), float32, plus passthrough for float64/string/bool/nil. Also TestNormalizeForJSONSchema_NestedMap and _Slice for recursive cases, and TestValidateWithSchema_YAMLIntegerTypes for end-to-end coverage.

  3. Added builtin cache-hit path testsTestExtractAllImportFields_BuiltinCacheHit (no inputs → hits cache) and TestExtractAllImportFields_BuiltinWithInputsBypassesCache (with inputs → bypasses cache).

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 /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git (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 ./cmd/... ./pkg/... /usr/sbin/bash plate-expressiongit scripts/**/*.js 64/bin/go bash --no�� --noprofile bash /usr/bin/git --noprofile node 64/bin/go 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 -json GO111MODULE rgo/bin/sh GOINSECURE GOMOD GOMODCACHE go env heck &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pr**/*.json GO111MODULE k/gh-aw/node_modules/.bin/node GOINSECURE GOMOD GOMODCACHE go (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 h ../../../.prettierignore 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 k/gh-aw/gh-aw/.github/workflows/api-consumption-report.md GOPROXY /opt/hostedtoolcache/node/24.14.1/x64/bin/node GOSUMDB GOWORK modules/@npmcli/--show-toplevel node /tmp�� /tmp/TestHashStability_SameInputSameOutput1387388956/001/stability-test.md go /usr/bin/git h ../../../.pretgit GO111MODULE 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel go /usr/bin/git -json GO111MODULE de/node/bin/sh git rev-�� --show-toplevel go /usr/bin/git &#39;**/*.ts&#39; &#39;**/*.git GO111MODULE ache/go/1.25.8/x--show-toplevel git (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 --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go git rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go 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 sistency_GoAndJavaScript2566082809/001/test-frontmatter-with-env-template-expressions.md GO111MODULE /node_modules/.bin/node GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs /opt/hostedtoolcache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.pretti--show-toplevel go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha run lint:cjs /home/REDACTED/work/node_modules/.bin/sh GOSUMDB GOWORK 64/bin/go sh -c &#34;prettier&#34; --check &#39;scripts/**/*.js&#39; --ignore-path .prettierignore node 1/x64/bin/node --check **/*.cjs 64/bin/go 1/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha ithub/workflows/ai-moderator.md lint:cjs /node_modules/.bin/sh GOSUMDB GOWORK 64/bin/go sh -c &#34;prettier&#34; --check &#39;scripts/**/*.js&#39; --ignore-path .prettierignore node /opt/hostedtoolcache/go/1.25.8/x64/bin/go ntent.md **/*.cjs 64/bin/go go (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 cd actions/setup/js &amp;&amp; npm run lint:cjs GOPROXY /home/REDACTED/work/gh-aw/gh-aw/node_modules/.bin/sh GOSUMDB GOWORK 64/bin/go sh -c &#34;prettier&#34; --check &#39;scripts/**/*.js&#39; --ignore-path .prettierignore node /opt/hostedtoolcache/go/1.25.8/x64/bin/go --check **/*.cjs 64/bin/go go (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 -json GO111MODULE /opt/hostedtoolcache/node/24.14.1/x64/bin/node GOINSECURE GOMOD GOMODCACHE node /opt�� prettier --check /opt/hostedtoolcache/go/1.25.8/x64/bin/go --ignore-path .prettierignore 64/bin/go go (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 */*.ts&#39; &#39;**/*.json&#39; --ignore-path ../../../.pret.prettierignore GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ode_modules/.bin/node GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -json GO111MODULE _modules/.bin/sh GOINSECURE GOMOD GOMODCACHE go env on&#39; --ignore-path ../../../.prettierignore GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go ode_�� -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 -json GO111MODULE /home/REDACTED/.local/bin/node GOINSECURE GOMOD GOMODCACHE node /hom�� --check **/*.cjs /opt/hostedtoolcache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.pretti--show-toplevel go (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env 5/001/inlined-b.md GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE ache/go/1.25.8/x64/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 --show-toplevel go ache/node/24.14.1/x64/bin/node ath ../../../.prgit GO111MODULE er ache/node/24.14.1/x64/bin/node 3987�� --show-toplevel go /usr/bin/git -json GO111MODULE 64/bin/go 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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ath ../../../.pr**/*.json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 GOSUMDB GOWORK 64/bin/go GOINSECURE GOMOD GOMODCACHE go env ath ../../../.pr**/*.json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)

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

Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

@copilot Review all comments

All review comments were already addressed in e3068b2:

  1. Comment wording (schema_compiler.go:192-196) — Fixed to say "returns a normalized copy" / "does not mutate the caller's maps or slices".
  2. Test coverage (schema_compiler.go:240-281) — Added TestNormalizeForJSONSchema (all numeric types + passthrough), TestNormalizeForJSONSchema_NestedMap, _Slice, TestValidateWithSchema_YAMLIntegerTypes, plus two builtin cache-path tests.

No outstanding review items remain.

@pelikhan
Copy link
Copy Markdown
Collaborator

…lect fallback

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/c863009f-265a-4560-90d8-92bf669bda0c

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Apr 13, 2026

@copilot review all comments and fix https://github.com/github/gh-aw/actions/runs/24347347426/job/71092313201

Fixed the CI failure in 664b081. The root cause: normalizeForJSONSchema only handled []any slices, but goccy/go-yaml produces typed slices like []string for array fields. The JSON schema validator requires []any for array recognition. Added a reflect-based fallback that converts any typed slice/map to []any/map[string]any. All TestTriggerShorthandIntegration and TestTriggerShorthandWithFilters tests now pass.

All prior review comments remain addressed — no outstanding items.

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 /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw GO111MODULE _.a git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git 3264503/b230/_pkgit aMu6/n6X7R7Av3bGrev-parse 1/x64/bin/node git (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 go env -json 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 --show-toplevel go /opt/hostedtoolcache/node/24.14.1/x64/bin/node .version=e3068b2git fer.go 64/pkg/tool/linu--show-toplevel /opt/hostedtoolcache/node/24.14.1/x64/bin/node /tmp�� Value: ${{ github.actor }} 64/pkg/tool/linuremote.origin.url /usr/bin/git g_.a GO111MODULE 64/pkg/tool/linu--show-toplevel 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 --show-toplevel go ache/node/24.14.1/x64/bin/node 3901873738/001&#39; 3901873738/001&#39; 64/bin/go git t-96�� k/gh-aw/gh-aw/.github/workflows/ace-editor.md rev-parse /usr/bin/git -json GO111MODULE 64/bin/go git (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 _.a cjNZiRS1g ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE util GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile env EklR7_A7a bpQE/c2CKE9Q4x2aSUy_HbpQE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE rtcfg (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha test/concurrent-image:v1.0.0 64/pkg/tool/linux_amd64/compile /usr/bin/git ithout_min-integgit GO111MODULE 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git 2724124511/001 7zDW0_L0m 64/pkg/tool/linu--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel /opt/hostedtoolcache/go/1.25.8/x4 /usr/bin/git runs/20260413-14git -trimpath (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 --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile /usr/bin/git ortcfg kTMme1tRE x_amd64/compile git rev-�� --show-toplevel x_amd64/compile /usr/bin/git ortcfg 1y8b/MRa4ogkVnm9rev-parse ache/go/1.25.8/x--show-toplevel 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 go1.25.8 -c=4 -nolocalimports -importcfg /tmp/go-build3903264503/b235/importcfg -embedcfg /tmp/go-build3903264503/b235/embedcfg env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -json th_meta.go 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq .object.sha -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (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 add upstream /opt/hostedtoolcache/node/24.14.1/x64/bin/node /workflows GO111MODULE x_amd64/vet node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/ai-moderator.md x_amd64/vet /usr/bin/git m/workflows GO111MODULE 64/pkg/tool/linu--show-toplevel 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 --get remote.origin.url /usr/bin/git /workflows GO111MODULE x_amd64/compile git rev-�� --show-toplevel x_amd64/compile /usr/bin/git -json GO111MODULE 64/pkg/tool/linu--show-toplevel 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 -t security ache/go/1.25.8/x64/pkg/tool/linux_amd64/link OUTPUT -d 168.63.129.16 ache/go/1.25.8/x64/pkg/tool/linux_amd64/link pack�� 006615/b444/timeutil.test --revs 006615/b444/importcfg.link --thin --delta-base-offrev-parse -q W0VPsKVyXPZlC/uItd0r7K0_37SYBDlan2/iZ31c6N3UWAhfWKKjjpb/pnOHWmOWremote1 (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha 3264503/b049/_pkg_.a rg/x/oauth2@v0.35.0/deviceauth.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile env 3264503/b141/_pkg_.a Kv-X/SrddFjc3EqPBzwz7Kv-X 006615/b415/gitutil.test GOINSECURE contextprotocol/rev-parse GOMODCACHE 1uulIQn/juIHqPkaAJeFbJNXCyZ3 (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha 3264503/b204/_pkg_.a V4ci/NWzImF-917Hk3aRqV4ci 006615/b070/gh-aw.test GOINSECURE fips140/tls12 GOMODCACHE 006615/b070/gh-aw.test e=/t�� t0 iMTA/2uapuyerpeiv4b3viMTA (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v7 --jq .object.sha 1426-34037/test-3201158509 tmain.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile -o _.a KCNC/8pxJci1-OLrDK7hiKCNC /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -p internal/profilerev-parse -lang=go1.25 /opt/hostedtoolcache/go/1.25.8/xrepos/{owner}/{repo}/actions/runs/5/artifacts (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 HEAD .github/workflows/test.md /usr/bin/git -json GO111MODULE 64/bin/go git conf�� user.email test@example.com /usr/bin/git b/workflows GO111MODULE 64/pkg/tool/linu--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 sistency_GoAndJavaScript4244583307/001/test-empty-frontmatter.md tmain.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/link -p main -lang=go1.25 ache/go/1.25.8/x64/pkg/tool/linux_amd64/link /tmp�� 006615/b449/typeutil.test -dwarf=false 006615/b449/importcfg.link go1.25.8 -c=4 -nolocalimports r96T_MkWd-kcE/_kz8wMEZNDzYl9ptOGPo/5GniUk8RBwwF8S8eKncR/xY8IG6Cr96T_MkWd-kcE (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 -aw/git/ref/tags/v1.2.3 -buildtags ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile -errorsas -ifaceassert -nilfunc ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile 5721�� origin 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 4/apic.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD abis 64/pkg/tool/linux_amd64/compile env 3201158509 bt7zDc9ZF x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 RvANyNpo5 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env 496706921/.github/workflows GO111MODULE ache/go/1.25.8/x64/pkg/tool/linu-buildmode=exe GOINSECURE flow GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linurev-parse (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 emplate/v3@v3.0.2/compile.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a dAR9m3zY_ til.test GOINSECURE go-sdk/jsonrpc GOMODCACHE til.test (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 ohNRO1y8b 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a 3GMM57Ps3 ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE pguts GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuTest User (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 rotocol/go-sdk@v-nolocalimports 64/pkg/tool/linu-importcfg GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu/home/REDACTED/work/gh-aw/gh-aw/pkg/timeutil/format_test.go env g_.a dtNyzpRaw tants.test GOINSECURE v3 GOMODCACHE tants.test (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD abis 64/pkg/tool/linux_amd64/compile env g_.a k1Ubnk-ff ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE pproxy GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linutest@example.com (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 verutil.go 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env g_.a sYAOo28ie 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD abis 64/pkg/tool/linux_amd64/compile env 496706921 ortcfg ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuconfig (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 0/internal/catmsg/catmsg.go 64/pkg/tool/linux_amd64/compile GOINSECURE al_wasm.o 64/src/internal/--show-toplevel 64/pkg/tool/linux_amd64/compile env g_.a fG0BeREzZ x_amd64/link GOINSECURE r GOMODCACHE x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD abis 64/src/math/floor_wasm.s env jYhsBWmby GO111MODULE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linu-buildtags (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 0/language/coverage.go 64/pkg/tool/linux_amd64/compile GOINSECURE pare_wasm.o 64/src/internal/--show-toplevel 64/pkg/tool/linux_amd64/compile env 3201158509 yZeOx_cnJ 64/pkg/tool/linux_amd64/vet GOINSECURE g GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 bUnDtPSUd 64/pkg/tool/linux_amd64/link GOINSECURE o8601 GOMODCACHE 64/pkg/tool/linux_amd64/link env /a.out GO111MODULE ortcfg.link GOINSECURE Cschwel1xo1A4lL2rev-parse GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (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 ik_mNb6yT 64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/compile env 3201158509 cuiX4cYAj 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD abis go env -json diXaaNED5 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path 54296300/001&#39; 54296300/001&#39; -importcfg /tmp/go-build188006615/b411/importcfg -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/fileutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/fileutil/tar.go env -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 100 GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (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 64/pkg/tool/linux_amd64/compile env rity2134660818/001 GO111MODULE 64/pkg/tool/linux_amd64/compile GOINSECURE nal/poly1305 GOMODCACHE 64/pkg/tool/linutest@example.com (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 --show-toplevel go /usr/bin/git l 2&gt;&amp;1; then \ git GO111MODULE ache/go/1.25.8/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm /usr/bin/git -json om/segmentio/enc-c ache/go/1.25.8/xgit-upload-pack &#39;origin&#39; 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 edOutput2464374632/001 6D-KwQuTc /opt/hostedtoolcache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ortcfg b-AbBFuh- ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuconfig (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 -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (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 -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json go x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha -json GO111MODULE x_amd64/compile GOINSECURE lang/pkg/flatted-1 GOMODCACHE x_amd64/compile env lGitmain_branch4254296300/001&#39; lGitmain_branch4254296300/001&#39; x_amd64/compile Action pins syngit GOMOD GOMODCACHE x_amd64/compile (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 sm-opt -Oz (size-test.timeout=10m0s GO111MODULE x_amd64/asm GOINSECURE GOMOD GOMODCACHE x_amd64/asm env -json ii/equal_fold.go 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 rity2134660818/001 AUUx1O_e3 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env ility-kit.md S-MkVro-o k GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linuTest User (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 GOINSECURE util GOMODCACHE 64/pkg/tool/linutest@example.com ortc�� DseGpepMC om/segmentio/asm@v1.1.3/cpu/cpuid/cpuid.go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile GOINSECURE GOMOD GOMODCACHE ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile (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 GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build188006615/b397/cli.test /tmp/go-build188006615/b397/cli.test -test.testlogfile=/tmp/go-build188006615/b397/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -importcfg /tmp/go-build3903264503/b229/importcfg -pack /home/REDACTED/go/pkg/mod/github.com/modelcontextprotocol/go-sdk@v1.5.0/internal/jsonrpc2/conn.go env -json (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 -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)

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

@pelikhan pelikhan merged commit f12d6f7 into main Apr 13, 2026
57 of 58 checks passed
@pelikhan pelikhan deleted the copilot/fix-parse-workflow-performance branch April 13, 2026 15:02
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.

[performance] Regression in ParseWorkflow: 10.8% slower

3 participants