Skip to content

Remove dual path safe output config generation#22687

Merged
pelikhan merged 3 commits intomainfrom
copilot/remove-dual-path-safe-output-config
Mar 24, 2026
Merged

Remove dual path safe output config generation#22687
pelikhan merged 3 commits intomainfrom
copilot/remove-dual-path-safe-output-config

Conversation

Copy link
Contributor

Copilot AI commented Mar 24, 2026

generateSafeOutputsConfig() and handlerRegistry independently maintained the same handler key/field contracts, enforced by TestSafeOutputsConfigPathParity. This removes the duplicate path.

Changes

  • safe_outputs_config_generation.go: Replaced ~650 lines of per-handler generation logic with a loop over handlerRegistry. Non-handler global config (mentions, max_bot_mentions, safe_jobs, safe_scripts, push_repo_memory) remains here since it's specific to config.json and not part of the registry.

  • safe_outputs_config_helpers.go: Removed all generateMax*/generate*Config helpers that existed solely to serve the old generation path (~220 lines removed). Kept computeEffectivePRCheckoutToken, computeProjectURLAndToken, buildCustomSafeOutputJobsJSON.

  • safe_outputs_config_parity_test.go: Deleted — single generation path makes it redundant.

  • Test updates:

    • create_missing_tool_issue no longer emitted as a top-level config key (was a legacy artifact not present in GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG)
    • create_pull_request backward-compat test: removed allowed_labels assertion (not in registry's handler)
    • TestPushToPullRequestBranchMinimalConfig: default max now enforced via validation config's defaultMax: 1 rather than explicit max:1 in config.json
    • Removed TestGenerateAssignToAgentConfigDefaultMax (tested deleted helper)
  • compiler_safe_outputs_config.go: Updated header comment to describe single-source design.

  • Lock files: All 177 workflows recompiled. config.json content now reflects the full handler registry fields (e.g. max_patch_size, protected_files, labels) previously absent from the old path.

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 /home/REDACTED/worrev-parse /home/REDACTED/.do--show-toplevel git rev-�� --show-toplevel bash /usr/bin/git --noprofile systemd-run bash 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 bash /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel bash e/git-upload-pac--show-toplevel 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 rev-�� --show-toplevel git /usr/bin/git --show-toplevel node /usr/bin/git 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 --show-toplevel go /usr/bin/git ithub/workflows GO111MODULE /bin/sh git rev-�� --show-toplevel /bin/sh /usr/bin/git k/gh-aw/gh-aw/.gnode GOPROXY /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name y_with_repos_array_c693599891/001 git 0/x64/bin/node --show-toplevel go /usr/bin/git git cjs --show-toplevel git 64/pkg/tool/linux_amd64/vet --show-toplevel go /usr/bin/git 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name --show-toplevel /opt/hostedtoolcache/node/24.14.0/x64/bin/node /usr/bin/git Text ${{ github.node (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 --noprofile /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /home/REDACTED/.local/bin/bash -bool -buildtags /opt/hostedtoolc--show-toplevel bash --no�� --noprofile /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -bool -buildtags ache/go/1.25.0/x--show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git node js/f�� ash git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel bash /usr/bin/git node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha --noprofile git /usr/bin/bash --show-toplevel git cal/bin/node bash --no�� --noprofile git /home/REDACTED/.local/bin/bash --show-toplevel nly /usr/bin/git bash (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 --noprofile 64/pkg/tool/linux_amd64/vet kflow.test g/testutil/tempdgit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git 0/x64/bin/node --show-toplevel AWtz16Q/qjN-J42brev-parse /usr/bin/git git cjs --show-toplevel git /usr/bin/git --show-toplevel bash /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --show-toplevel git ndor/bin/bash --show-toplevel git /usr/bin/git git _lab�� --show-toplevel git ache/go/1.25.0/x64/bin/bash --show-toplevel git /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 --noprofile _config.go 64/bin/go --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -bool -buildtags /usr/bin/git -errorsas -ifaceassert -nilfunc git rev-�� --show-toplevel -tests /usr/bin/git --noprofile -tests k/_temp/ghcca-no--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel bash /usr/bin/git --noprofile x_amd64/vet 64/bin/bash git rev-�� --show-toplevel bash /usr/bin/git --noprofile x_amd64/vet sh 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 --noprofile ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --noprofile ache/go/1.25.0/x64/pkg/tool/linuconntrack /home/REDACTED/.local/bin/bash --noprofile ler_safe_outputsrev-parse ndor/bin/bash bash --no�� --noprofile /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/local/sbin/bash -unreachable=falgit /tmp/go-build172rev-parse 86_64/bash bash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel bash /usr/bin/git --noprofile x_amd64/compile rgo/bin/bash git rev-�� --show-toplevel head /usr/bin/git ACCEPT x_amd64/vet /usr/sbin/bash 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 /tmp/go-build3671110105/b001/exe/debug_allowed -importcfg /home/REDACTED/.local/bin/bash -s -w -buildmode=exe bash --no�� --noprofile /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/local/.ghcup/bin/bash -bool -buildtags n-dir/bash bash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --noprofile ache/go/1.25.0/x64/pkg/tool/linuowner OutputsConfig --noprofile (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha n-dir/bash ache/go/1.25.0/x64/pkg/tool/linuconntrack /opt/hostedtoolcache/go/1.25.0/x64/bin/bash --noprofile (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 --noprofile ache/go/1.25.0/x64/pkg/tool/linu53 /usr/bin/grep se 5612279/b074/vetrev-parse de/node/bin/bash--show-toplevel grep -v _test.go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /opt/pipx_bin/bash -unreachable=falgit /tmp/go-build172rev-parse ache/go/1.25.0/x--show-toplevel bash (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/git --show-toplevel bash /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel kflow.test 0/x64/bin/npm node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha /usr/bin/git git /opt/pipx_bin/bash --show-toplevel git /usr/bin/git bash --no�� --noprofile git /usr/local/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 --noprofile -tests /usr/sbin/bash ers.test.cjs _created_issues.rev-parse 64/bin/bash bash --no�� --noprofile /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /snap/bin/bash -unreachable=falgit /tmp/go-build172rev-parse cal/bin/bash bash (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/git --show-toplevel bash /usr/bin/git git rev-�� --show-toplevel git /opt/hostedtoolcache/node/24.14.0/x64/bin/node --show-toplevel 64/pkg/tool/linurev-parse 0/x64/bin/node node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha /usr/bin/git git /snap/bin/bash --show-toplevel git /usr/bin/git bash --no�� --noprofile git /home/REDACTED/.dotnet/tools/bash --show-toplevel git /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 --noprofile 64/pkg/tool/linux_amd64/vet 64/bin/bash create_missing_tgit /home/REDACTED/worrev-parse 64/pkg/tool/linu--show-toplevel bash --no�� --noprofile 64/pkg/tool/linux_amd64/vet /usr/bin/head --noprofile ollect_ndjson_ourev-parse 64/pkg/tool/linu--show-toplevel head (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel grep 0/x64/bin/node FAIL|PASS|--- /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel bash /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha --show-toplevel git ndor/bin/bash --show-toplevel git /usr/bin/git git _cod�� --show-toplevel git n-dir/bash --show-toplevel git /usr/bin/git git (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 ck '**/*.cjs' '*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json 0404d56622115b8bGOMOD 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha --show-toplevel git /tmp/TestGetNpmB--log-level=error 6ef1eede96830fe4sh git /home/REDACTED/.ca"prettier" --write '../../../**/*.json' '!../../../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore go vers�� n-dir/git git /usr/bin/git 6ef1eede96830fe4infocmp git /home/REDACTED/.caxterm-color git (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility npx prettier --cremote.origin.url GOPROXY r: $owner, name: $name) { hasDiscussionsEnabled } } GOSUMDB GOWORK 64/bin/go sh -c "prettier" --che-f go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility --oneline -10 r: $owner, name: $name) { hasDiscussionsEnabled } } --noprofile iptables /usr/bin/infocmpgraphql git rev-�� th .prettierigno-f infocmp 0/x64/bin/node xterm-color git /usr/bin/git 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 -L -S 86_64/bash 1 1 /var/log/sysstat--show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/compile --no�� 7344564/b374/_pkg_.a 64/pkg/tool/linux_amd64/vet ndor/bin/bash --noprofile b/gh-aw/pkg/workrev-parse 64/pkg/tool/linu--show-toplevel bash (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 bash 0/x64/bin/node --noprofile /opt/hostedtoolcrev-parse /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel bash /usr/bin/git 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 ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git _cod�� --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel git /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 3036052/b001/_pkg_.a --log-level ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet --log-target b/gh-aw/pkg/workrev-parse 64/pkg/tool/linu--show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet --no�� yE4X/8g64aj5uYsC282-tyE4X g/workflow/safe_outputs_config_generation_test.go bin/bash --noprofile .cfg 64/pkg/tool/linu--show-toplevel 3036052/b001/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 /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet 0/x64/bin/node -bool -buildtags /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel -tests /usr/bin/git git (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 0/x64/bin/bash --show-toplevel git /usr/bin/git git _cod�� --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git 0/x64/bin/node /home/REDACTED/worgit config /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 git 64/pkg/tool/linux_amd64/compile etup-go/git/ref/git go /usr/bin/git 64/pkg/tool/linux_amd64/compile -C g_.a rev-parse /usr/bin/git --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 ache/node/24.14.0/x64/bin/node /usr/bin/git --show-toplevel 64/pkg/tool/linurev-parse /usr/bin/git git estl�� --show-toplevel git 0/x64/bin/node --show-toplevel BkAlss8NoqMJPDT0rev-parse /opt/hostedtoolc--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 --stdout x_amd64/compile xterm-color node /usr/bin/git x_amd64/compile ance�� md git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/git --show-toplevel go /usr/bin/git git -C /tmp/compile-instructions-test-476838823/.github-errorsas rev-parse /usr/bin/git --show-toplevel bash /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 git /usr/bin/sh --show-toplevel git /usr/bin/git sh -c echo 'not found' >&2; exit 1 git 0/x64/bin/node --show-toplevel resolved$ /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 ..feature-branch 0/x64/bin/node graphql -f /usr/bin/git git ance�� --show-toplevel git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/gh ch go /usr/bin/git gh api ai-moderator.md --jq /usr/bin/git --show-toplevel /bin/sh /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel 0530359/b424/matrev-parse ache/node/24.14.--show-toplevel git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 test@example.com x_amd64/compile /home/REDACTED/worgit rev-parse /usr/bin/git x_amd64/compile rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git 64/pkg/tool/linux_amd64/link sions.md go /usr/bin/git 64/pkg/tool/linux_amd64/link rev-�� sole.test git 0/x64/bin/node --show-toplevel /opt/hostedtoolcrev-parse /usr/bin/git J4G_RzMIZ1w0JNeSJN/IKo0RnU6mvci67yPKw6j/YUwiQqhLconfig (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 git /usr/bin/git --show-toplevel git /usr/bin/git git rev-�� 59/001/test-empty-frontmatter.mdremote.origin.url git 0/x64/bin/node --show-toplevel node /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 Test User 0/x64/bin/node /home/REDACTED/worgit config /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel go .0/x64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 -importcfg 64/pkg/tool/linux_amd64/link -s -w -buildmode=exe 64/pkg/tool/linux_amd64/link 0530�� .test (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 git /usr/bin/git --show-toplevel ache/go/1.25.0/xconfig /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel node /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git x_amd64/link /home/REDACTED/worgit rev-parse DiscussionsEnabluser.email x_amd64/link rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel go /usr/bin/git EC/vKfaaJsUtRlxju1NbgiD/uvljh3C4vdN3eqAa1K0H (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git At,event,headBranch,headSha,displayTitle ithub-script/gitgit go /usr/bin/git 64/pkg/tool/linux_amd64/vet rev-�� --show-toplevel git /usr/bin/git --show-toplevel /opt/hostedtoolc/tmp/fuzz-expr-1028716189.js /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 git /usr/bin/git /usr/bin/git ache/go/1.25.0/xconfig /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel 0XVD7GS/FsOGO2jZrev-parse /usr/bin/git git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 Initial 0/x64/bin/node /home/REDACTED/worgit config /usr/bin/git dx8vjli/alK5YuEvsiWHJxF12LLI rev-�� es.md git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git Name,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --show-toplevel 0437110/b001/imprev-parse /usr/bin/git 64/pkg/tool/linux_amd64/link -C stants.test config ortcfg.link remote.origin.urgit /opt/hostedtoolcrev-parse /usr/bin/git k0VaLgcHPPF0P2cGRg/n-USxUvZAypFywk1RlKu/gDxhY8tdv4wSOOvpjRDr (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 git /usr/bin/git --show-toplevel 9fRgrZr/Zfhg_-mRrev-parse /usr/bin/git git rev-�� hub/workflows git 0/x64/bin/node --show-toplevel node /usr/bin/git 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 --show-toplevel go /usr/bin/git ithub/workflows GO111MODULE (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 config /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit config bin/bash git (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 -f /opt/pipx_bin/ba--git-dir x_amd64/compile ance�� --show-toplevel bash 0/x64/bin/node --noprofile /opt/hostedtoolcrev-parse /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 --noprofile k/gh-aw/gh-aw/actions/setup/js/collect_ndjson_output.cjs Mentions|TestAllowedLabels|TestPopulateDispatch FETCH_HEAD^{commbash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/cgo k/_temp/uv-python-dir/node --noprofile g/workflow/safe_js/fuzz_mentions_harness.cjs rgo/bin/bash git ache�� --show-toplevel nly /usr/bin/git 24,26p /home/REDACTED/worjs/fuzz_sanitize_label_harness.cjs /opt/hostedtoolcache/node/24.14.--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git ache/node/24.14.--noprofile git rev-�� heckout/git/ref/tags/v5 git /usr/bin/git --show-toplevel git /usr/bin/git git (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 --show-toplevel infocmp /usr/bin/git xterm-color go er: String!, $na-t git rev-�� --show-toplevel (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel go /usr/bin/git git _har�� 3470891041 git ache/node/24.14.0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha --show-toplevel git /usr/bin/git runs/20260324-13bash -tests /usr/bin/infocmp--noprofile git rev-�� --show-toplevel infocmp /usr/bin/git xterm-color 64/pkg/tool/linurev-parse /usr/bin/git git (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 --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.giptables config /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git k/gh-aw/gh-aw/.ggit config /usr/bin/gh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha --show-toplevel docker /usr/bin/git k/gh-aw/gh-aw/.g/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet go /usr/bin/gh git rev-�� --show-toplevel /usr/bin/gh /opt/hostedtoolc-nilfunc k/gh-aw/gh-aw/.ggit -f p/bin/bash node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha --show-toplevel /usr/libexec/docker/cli-plugins/docker-buildx e/git GOMODCACHE go /usr/bin/git e/git rev-�� --show-toplevel git /opt/hostedtoolc-nilfunc k/gh-aw/gh-aw/.ggit rev-parse bash node (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 --show-toplevel infocmp e/git xterm-color go er: String!, $na/tmp/go-build1040530359/b408/_pkg_.a e/git rev-�� --show-toplevel infocmp /usr/bin/git xterm-color ortcfg sh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel go /usr/bin/git git _har�� --show-toplevel git ache/node/24.14.0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha --show-toplevel git /usr/bin/git runs/20260324-13/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/asm -dwarf=false /usr/bin/git git rev-�� --show-toplevel (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 ck 'scripts/**/*GOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE sh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha re --log-level=e!../../../pkg/workflow/js/**/*.json git /node 6ef1eede96830fe4git git /usr/local/bin/g--get git /pre�� --show-toplevel git _modules/.bin/sh 6ef1eede96830fe4git git /home/REDACTED/.lo/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 --noprofile -tests 0/x64/bin/bash FETCH_HEAD^{commbash (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet cal/bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel git ache/node/24.14.--noprofile git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /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 /home/REDACTED/worgit rev-parse /usr/bin/git git rev-�� --show-toplevel git 0/x64/bin/node --show-toplevel go /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion INVALID,NEW -j DROP git init�� /usr/bin/git git ache/node/24.14.0/x64/bin/node --show-toplevel git /usr/bin/git ache/node/24.14.0/x64/bin/node (http block)
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion --show-toplevel u1NbgiD/UJSY33iuconfig /usr/bin/git git rev-�� 59/001/test-frontmatter-with-arrays.md git 0/x64/bin/node --show-toplevel node /usr/bin/git 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 /usr/bin/git k/gh-aw/gh-aw/.gnode GO111MODULE /opt/hostedtoolcache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile /usr/bin/git k/gh-aw/gh-aw/.gbash GOPROXY /usr/bin/git git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo /usr/bin/git -json GO111MODULE /usr/bin/git git rev-�� tmp/TestGetNpmBinPathSetup_GorootOrdering1928189632/001/go/1.25.0/x64"; export PATH="$(find "/tm/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile git /usr/bin/git k/gh-aw/gh-aw/.g/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile GOPROXY /usr/bin/infocmp git (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 0/x64/bin/node --show-toplevel go /usr/bin/git git cjs --show-toplevel git sole.test --show-toplevel go /usr/bin/git sole.test (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1040530359/b402/cli.test /tmp/go-build1040530359/b402/cli.test -test.testlogfile=/tmp/go-build1040530359/b402/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� --show-toplevel go /usr/bin/git -json GO111MODULE er: String!, $name: String!) { --show-toplevel git rev-�� --show-toplevel bash /usr/bin/git k/gh-aw/gh-aw/.gnode GOPROXY /usr/bin/git git (http block)
    • Triggering command: /tmp/go-build3788780493/b001/cli.test /tmp/go-build3788780493/b001/cli.test -test.testlogfile=/tmp/go-build3788780493/b001/testlog.txt -test.paniconexit0 -test.timeout=10m0s rev-�� 4093553789/.github/workflows git 0/x64/bin/node --show-toplevel go /usr/bin/git git js --show-toplevel git x_amd64/link --show-toplevel go /usr/bin/git x_amd64/link (http block)
    • Triggering command: /tmp/go-build1879584658/b376/cli.test /tmp/go-build1879584658/b376/cli.test -test.testlogfile=/tmp/go-build1879584658/b376/testlog.txt -test.paniconexit0 -test.timeout=10m0s 3933�� xterm-color /opt/hostedtoolcache/node/24.14.0/x64/bin/node /usr/bin/git github x_amd64/compile /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git 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 --show-toplevel go /usr/bin/git ithub/workflows GO111MODULE er: String!, $name: String!) { --show-toplevel kTOEqD8D7e79 rev-�� --show-toplevel tail /usr/bin/git k/gh-aw/gh-aw/.gnode GOPROXY /usr/bin/infocmp git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name y_with_explicit_repo939076796/001 git 0/x64/bin/node --show-toplevel go /usr/bin/git git cjs --show-toplevel git x_amd64/vet --show-toplevel go /usr/bin/git x_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name --show-toplevel /opt/hostedtoolcache/node/24.14.0/x64/bin/node ache/node/24.14.0/x64/bin/node ${{ github.actonode x_amd64/vet ache/node/24.14.0/x64/bin/node git ache�� --show-toplevel nly /usr/bin/git run_id }} -importcfg /opt/hostedtoolcache/node/24.14.xterm-color git (http block)

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


📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.



✨ PR Review Safe Output Test - Run 23493201080

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

💥 [THE END] — Illustrated by Smoke Claude ·


Changeset

  • Type: patch
  • Description: Removed duplicate safe outputs config generation and now derive config.json from the handler registry as the single source of truth, keeping handler fields complete and consistent.

Generated by Changeset Generator for issue #22687 ·

…ConfigPathParity)

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/6f4ac7bb-6bf2-444c-b179-3634300cdd45
Copilot AI changed the title [WIP] Remove dual path safe output config generation Remove dual path safe output config generation Mar 24, 2026
Copilot AI requested a review from pelikhan March 24, 2026 13:51
@pelikhan pelikhan added the smoke label Mar 24, 2026
@pelikhan pelikhan marked this pull request as ready for review March 24, 2026 13:56
Copilot AI review requested due to automatic review settings March 24, 2026 13:56
@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2026

✅ All tools validated successfully! Agent Container Smoke Test confirms agent container is ready.

@github-actions
Copy link
Contributor

📰 BREAKING: Smoke Copilot is now investigating this pull request. Sources say the story is developing...

@github-actions github-actions bot removed the smoke label Mar 24, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2026

✨ The prophecy is fulfilled... Smoke Codex has completed its mystical journey. The stars align. 🌟

@github-actions
Copy link
Contributor

github-actions bot commented Mar 24, 2026

🎬 THE ENDSmoke Claude MISSION: ACCOMPLISHED! The hero saves the day! ✨

@github-actions
Copy link
Contributor

Agent Container Tool Check

Tool Status Version
bash 5.2.21
sh available
git 2.53.0
jq 1.7
yq v4.52.4
curl 8.5.0
gh 2.87.3
node v20.20.1
python3 3.12.3
go 1.24.13
java openjdk 21.0.10
dotnet 10.0.102

Result: 12/12 tools available ✅

Overall Status: PASS

🔧 Tool validation by Agent Container Smoke Test ·

Copy link
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

This PR removes the dual safe-outputs config generation paths by deriving config.json handler sections from the existing handlerRegistry, making the registry the single source of truth for handler keys and field contracts.

Changes:

  • Refactored generateSafeOutputsConfig() to build per-handler config via handlerRegistry, keeping only non-handler/global config generation local (mentions, max_bot_mentions, safe_jobs/safe_scripts, push_repo_memory).
  • Deleted legacy config-generation helper functions and the dual-path parity test; updated/removed tests that depended on the old generation path.
  • Recompiled workflow lock files so embedded config.json reflects full handler-registry fields.

Reviewed changes

Copilot reviewed 178 out of 178 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pkg/workflow/safe_outputs_config_generation.go Switches handler config generation for config.json to loop over handlerRegistry and retains non-handler/global config generation.
pkg/workflow/safe_outputs_config_helpers.go Removes legacy per-handler config-generation helpers; keeps token/project helpers and custom jobs JSON builder.
pkg/workflow/compiler_safe_outputs_config.go Updates header comment to document registry as the single source of truth.
pkg/workflow/safe_outputs_config_generation_test.go Updates tests to match new config.json shape (notably removal of create_missing_tool_issue top-level key and PR backward-compat expectation changes).
pkg/workflow/safe_outputs_default_max_test.go Removes a test that covered a deleted helper (generateAssignToAgentConfig).
pkg/workflow/push_to_pull_request_branch_test.go Updates expectation: default max is now enforced via validation config rather than an explicit max: 1 in config.json.
pkg/workflow/safe_outputs_config_parity_test.go Removes now-redundant dual-path parity test.
.github/workflows/*.lock.yml Mechanical recompile updating embedded safe-outputs config.json across workflows to include registry-defined fields.

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

@github-actions
Copy link
Contributor

Smoke Test 23493201029: ✅ PASS\n\n| Test | Status |\n|------|--------|\n| GitHub MCP | ✅ |\n| MCP Scripts GH CLI | ✅ |\n| Playwright | ✅ |\n| Web Fetch | ✅ |\n| File Writing + Bash | ✅ |\n| Discussion Interaction | ✅ |\n| Build gh-aw | ✅ |\n| PR Review | ✅ |\n\nPR by @Copilot · Assignees: @pelikhan, @Copilot

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

📰 BREAKING: Report filed by Smoke Copilot ·

Copy link
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.

Smoke test review of PR #22687. The removal of the dual-path config generation is a clean refactor — handlerRegistry is now the single source of truth for both config.json and GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG. Good reduction in ~650 lines of duplicated per-handler logic.

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

  • #22687 pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

📰 BREAKING: Report filed by Smoke Copilot

additionalFields,
)
// Standard handler configs — sourced from handlerRegistry (same as GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG)
for handlerName, builder := range handlerRegistry {
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice simplification! Iterating over handlerRegistry directly ensures config.json stays in sync with GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG without any manual duplication. 🎉

// generateSafeOutputsConfig generates the JSON configuration for the safe-outputs
// MCP server. Standard handler configs are sourced from handlerRegistry to ensure
// they stay in sync with GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG.
func generateSafeOutputsConfig(data *WorkflowData) string {
Copy link
Contributor

Choose a reason for hiding this comment

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

The updated doc comment clearly explains the single-source-of-truth approach. Much clearer than the old dual-path comment — great improvement to maintainability.

@github-actions
Copy link
Contributor

📰 VERDICT: Smoke Copilot has concluded. All systems operational. This is a developing story. 🎤

@github-actions
Copy link
Contributor

Smoke Test Results — Run 23493201080

Test Status
GitHub MCP
GH CLI Scripts
Serena MCP
Make Build
Playwright
Tavily Search
File Write/Read
Discussion Comment
AW MCP Status
Slack Safe Output
Update PR (#12)
PR Review Comments (#13)
Submit PR Review (#14)
Resolve Thread (#15) ⚠️ skipped (DIFC)
Add Reviewer (#16)
Push to Branch (#17)
Close PR (#18) ⚠️ skipped

Overall: PARTIAL (2 skipped, 0 failed)

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

💥 [THE END] — Illustrated by Smoke Claude ·

Copy link
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.

💥 Automated smoke test review - all systems nominal!

Note

🔒 Integrity filter blocked 1 item

The following item were blocked because they don't meet the GitHub integrity level.

  • #22687 pull_request_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

💥 [THE END] — Illustrated by Smoke Claude

// generateSafeOutputsConfig generates the JSON configuration for the safe-outputs
// MCP server. Standard handler configs are sourced from handlerRegistry to ensure
// they stay in sync with GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG.
func generateSafeOutputsConfig(data *WorkflowData) string {
Copy link
Contributor

Choose a reason for hiding this comment

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

The function signature looks clean after removing the dual-path logic. Consider adding a comment noting that handlerRegistry is the single source of truth for handler configuration.

additionalFields,
)
// Standard handler configs — sourced from handlerRegistry (same as GH_AW_SAFE_OUTPUTS_HANDLER_CONFIG)
for handlerName, builder := range handlerRegistry {
Copy link
Contributor

Choose a reason for hiding this comment

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

Good cleanup — iterating directly over handlerRegistry removes the duplicate config path that caused the parity test failure.

@github-actions
Copy link
Contributor

Commit pushed: 9068557

Generated by Changeset Generator

@github-actions
Copy link
Contributor

Smoke test (Codex) results:

🔮 The oracle has spoken through Smoke Codex ·

@pelikhan pelikhan merged commit 09f7104 into main Mar 24, 2026
@pelikhan pelikhan deleted the copilot/remove-dual-path-safe-output-config branch March 24, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants