Skip to content

feat: complete x-deprecation-message coverage for all deprecated schema fields#33645

Merged
pelikhan merged 5 commits into
mainfrom
copilot/deep-report-generic-x-deprecation-walker
May 21, 2026
Merged

feat: complete x-deprecation-message coverage for all deprecated schema fields#33645
pelikhan merged 5 commits into
mainfrom
copilot/deep-report-generic-x-deprecation-walker

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 20, 2026

The generic deprecation walker (warnDeprecatedFrontmatterFields) was already wired into the compiler pipeline, but several deprecated: true fields in the schema were silently skipped — either because they lacked x-deprecation-message entirely, or because the infer field was missing deprecated: true altogether.

Schema fixes

  • infer: Added deprecated: true and x-deprecation-message pointing to disable-model-invocation. The field only had "DEPRECATED:" in its prose description, which the walker never reads.
  • 9 safe-outputs.* deprecated alias fields (close-issue.title-prefix, add-reviewer.reviewers, push-to-pull-request-branch.labels, etc.): Added actionable x-deprecation-message to each. They had deprecated: true but the fallback was a terse string like "Deprecated alias for required-title-prefix" rather than a migration instruction.

Invariant test

Added TestAllDeprecatedFieldsHaveXDeprecationMessage in pkg/parser/schema_deprecated_test.go — this test fails CI if any future deprecated: true field lands without an x-deprecation-message, closing the class of bug the issue describes:

for _, f := range fields {
    if f.DeprecationMessage == "" {
        t.Errorf("schema field %q has deprecated:true but no x-deprecation-message — "+
            "add an x-deprecation-message ...", f.Path)
    }
}

New compiler tests

  • TestWarnDeprecatedFrontmatterFields_Infer — verifies infer: false emits a warning mentioning disable-model-invocation
  • TestWarnDeprecatedFrontmatterFields_SafeOutputsDeprecatedAliases — verifies safe-outputs.close-issue.title-prefix emits a warning mentioning required-title-prefix

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:

  • cafe.github.com
    • Triggering command: /usr/bin/gh /usr/bin/gh send-telemetry GOMODCACHE go env -json GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (dns block)
    • Triggering command: /usr/bin/gh /usr/bin/gh send-telemetry GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (dns block)
    • Triggering command: /usr/bin/gh /usr/bin/gh send-telemetry GOMODCACHE go env -json GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go (dns block)
  • 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 unsafe 64/pkg/tool/linu-json /opt/hostedtoolcGO111MODULE -o /tmp/go-build236GOINSECURE -trimpath 64/bin/go -p main -lang=go1.25 go (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 (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 ify@v1.11.1/requenv 64/pkg/tool/linu-json /opt/hostedtoolcGO111MODULE -o /tmp/go-build236GOINSECURE -trimpath 64/bin/go -p github.com/githuenv -lang=go1.25 go (http block)
  • https://api.github.com/orgs/owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/owner/actions/secrets --jq .secrets[].name k/gh-aw/gh-aw go odules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/sh -json GO111MODULE DiscussionsEnabl-bool git -C th .prettierigno-errorsas show _modules/.bin/no-nilfunc l GO111MODULE 64/bin/go /usr/bin/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' --ignore-path ../../../.pr**/*.json -f l -f owner=github -f git -C th .prettierigno-s show /usr/bin/git l GO111MODULE ed } } /usr/bin/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, .object.type] | @tsv 64/bin/go l /opt/hostedtoolcache/node/24.15.0/x64/bin/node ../pkg/workflow/gh config ode_modules/.bin/repos/actions/github-script/git/ref/tags/v9 node /tmp�� /tmp/TestHashStability_SameInputSameOutput52059728/001/stability-test.md l /usr/bin/git k/gh-aw/gh-aw/.g/usr/bin/git config x_amd64/vet /usr/bin/git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv -bool }} {{context.Compiler}} 0/x64/bin/node -errorsas -ifaceassert -nilfunc /opt/hostedtoolc--jq t-ha�� ithub/workflows/ai-moderator.md -buildtags ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile l -ifaceassert -nilfunc ache/go/1.25.8/xconfig (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv runs/20260520-231940-35332/test-.github/workflows/test.md n_pins.json; \ echo "��� Actionconfig 467151/b419/vet.cfg l GO111MODULE k/_temp/uv-pytho/home/REDACTED/.local/share/gh/extensions/gh-aw sh -c 1940-35332/test-752936638/.github/workflows '/tmp/TestParseDefaultBranchFromLsRemoteWithRealGitcustom_branch3793283675/001' 0/x64/bin/node xterm-color GOPROXY /usr/bin/git /opt/hostedtoolc--jq (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv /tmp/go-build808467151/b580/testutil.test -importcfg /usr/bin/git -s -w -buildmode=exe git conf�� tcp://127.0.0.1:2375" GH_AW_DOCKER_HOST_PATH_PREFIX_ARGS="" if [[ "${DOCKER_HOST:-}" =~ ^tcp:// git test@example.com /usr/bin/git */*.json' '!../.infocmp erena-mcp-server-1 x86_64/sh git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq [.object.sha, .object.type] | @tsv -aw-actions/git/ref/tags/v1.2.3 current (local changes) bject.type] | @tsv base (original) -L new (upstream) /usr/bin/git -C cal/share/gh/extensions/gh-aw config (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go .prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json l r: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD ed } } go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv 159277706 faultBranchFromLsRemoteWithRealGitmaster_branch4github.com/github/gh-aw/pkg/syncutil ache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.prettixterm-color /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linuremote.origin.url -uns�� /ref/tags/v9.0.0 /tmp/go-build808467151/b404/vet.cfg sv h ../../../.pret/usr/bin/git config p-tools-report.l/home/REDACTED/.local/share/gh/extensions/gh-aw ache/go/1.25.8/xconfig (http block)
  • https://api.github.com/repos/actions/download-artifact/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/download-artifact/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE t.lock.yml GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md x_amd64/vet /opt/hostedtoolcache/node/24.15.0/x64/bin/node k/gh-aw/gh-aw/.g/usr/lib/git-core/git go bin/node /opt/hostedtoolc--auto /tmp�� /ref/tags/v9 VeUyFlVlSS3Z sv 01 --jq x_amd64/compile git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw 4_/-fJLWRjMGKE55config l tmatter-with-nesinfocmp (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go .prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go ath ../../../.prgo (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9 --jq [.object.sha, .object.type] | @tsv w/js/**/*.json' --ignore-path -f er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f git -C ath ../../../.pr**/*.json show er -json GO111MODULE 64/bin/go /usr/bin/gh (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v9.0.0
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv w/js/**/*.json' --ignore-path config modules/@npmcli/run-script/lib/node-gyp-bin/sh -json GO111MODULE 64/bin/go infocmp -1 ath ../../../.pr**/*.json go es/.bin/sh l GO111MODULE 64/bin/go /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv w/js/**/*.json' --ignore-path ../../../.prettierignore config kflows/daily-security-observability.lock.yml -json GO111MODULE 64/bin/go git -C ithub/workflows config repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } remote.origin.ur/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GO111MODULE $name) { has-unreachable=false /usr/bin/git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v9.0.0 --jq [.object.sha, .object.type] | @tsv /home/REDACTED/work/gh-aw/gh-aw/.github/workflows config (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv INVALID,NEW -j DROP -buildmode=exe -buildid=BPir1Nfapi -extld=gcc git t-42�� k/gh-aw/gh-aw/.github/workflows/approach-validator.md config /opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet remote.upstream.iptables CgoFiles,CXXFile-w _modules/.bin/sh-t /opt/hostedtoolcsecurity (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw docker ache/go/1.25.8/x-test.short=true ath ../../../.prgh GOPROXY kflows/daily-fac/repos/actions/github-script/git/ref/tags/v9 /opt/hostedtoolc--jq -ato�� -bool tPath,Error,Dir,GoFiles,IgnoredGoFiles,IgnoredOt-c=4 /usr/bin/infocmp -errorsas -ifaceassert -nilfunc infocmp (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv 0 -j ACCEPT -p main -lang=go1.25 /opt/hostedtoolc--jq -o ons-test868446278 s/4/artifacts ow-with-reaction.lock.yml -p main -lang=go1.25 gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw --jq /usr/bin/git .js' --ignore-pa/usr/bin/git show tions/setup/js/n/home/REDACTED/.local/share/gh/extensions/gh-aw git -C /ref/tags/v9 config sv remote.origin.ursed config tions/node_modules/.bin/node git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv GOSUMDB GOWORK 64/bin/go .prettierignore (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw GO111MODULE ity.lock.yml GOINSECURE GOMOD GOMODCACHE go env ithub/workflows GO111MODULE repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD ed } } go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv vaScript3246854253/001/test-frontmatter-with-env-template-expressions.md }} {{context.Compiler}} ache/go/1.25.8/x64/bin/go **/*.json --ignore-path ../../../.prettixterm-color /opt/hostedtoolcache/go/1.25.8/x--jq -uns�� ensions/gh-aw /tmp/go-build808467151/b397/vet.cfg 0/x64/bin/node h ../../../.pret/usr/bin/git show /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv 1940-35332/test-752936638/.github/workflows =develop 64/pkg/tool/linux_amd64/compile k/gh-aw/gh-aw show yml 64/pkg/tool/linux_amd64/compile -ato�� _.a -buildtags eTags}} -errorsas -ifaceassert -nilfunc git (http block)
  • https://api.github.com/repos/aws-actions/configure-aws-credentials/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw x_amd64/vet /usr/bin/git .js' --ignore-pa/usr/bin/git show bin/node git comm�� /ref/tags/v9 Initial commit sv source-field-vargit-upload-pack config son git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/aws-actions/configure-aws-credentials/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw remote.origin.url om/owner/repo.git cal/share/gh/ext/usr/bin/git config l git comm�� /ref/tags/v9 Test commit sv lic_2583737040/0infocmp config bin/sh /opt/hostedtoolcache/node/24.15.config (http block)
  • https://api.github.com/repos/azure/login/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/azure/login/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw -extld=gcc /usr/bin/git k/gh-aw/gh-aw show n-dir/node git conf�� /ref/tags/v9 test@example.com sv te -f x_amd64/compile git (http block)
  • https://api.github.com/repos/docker/login-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/login-action/git/ref/tags/v3 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw -dwarf=false /usr/bin/git go1.25.8 -c=4 -nolocalimports git init�� /ref/tags/v9 /tmp/go-build808467151/b577/_testmain.go sv /home/REDACTED/worgit config n-dir/node git (http block)
  • https://api.github.com/repos/docker/metadata-action/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v6 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE repository(owne-f GOINSECURE GOMOD GOMODCACHE go env ensions/gh-aw GO111MODULE ache/go/1.25.8/x64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v4 --jq [.object.sha, .object.type] | @tsv -json GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env -json GO111MODULE mption-report.lock.yml GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .default_branch ithub/workflows GO111MODULE $name) { hasDiscussionsEnabled } } GOINSECURE GOMOD GOMODCACHE go env k/gh-aw/gh-aw GO111MODULE n-dir/node 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, .object.type] | @tsv 3812721693 -importcfg ache/node/24.15.0/x64/bin/node -buildmode=exe -buildid=TSFiizKapi -extld=gcc uaZfPHtRi8CIm/x9--jq t-28�� k/gh-aw/gh-aw/.github/workflows/agent-performance-analyzer.md s/12346/artifacts 467151/b584/_pkg_.a remote.upstream./usr/bin/git config /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, .object.type] | @tsv 1940-35332/test-3245942588/.github/workflows scripts/**/*.js ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile .prettierignore -f cision-gate.lock/repos/actions/github-script/git/ref/tags/v9 ache/go/1.25.8/x--jq -uns�� -unreachable=false /tmp/go-build808467151/b457/vet.nonexistent-workflow-ci-test-67890 ache/go/1.25.8/x64/pkg/tool/linu--limit ithub/workflows config (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv --check }} {{context.Com-L ache/go/1.25.8/xnew (upstream) .prettierignore -f t-incident-monit/home/REDACTED/.local/share/gh/extensions/gh-aw /opt/hostedtoolcconfig -ato�� -bool }} {{context.Compiler}} 0/x64/bin/node -errorsas -ifaceassert -nilfunc git (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-05-13 t.go go 64/pkg/tool/linu-tests test�� md _test.go 64/pkg/tool/linux_amd64/link ithub/workflows r $name) { hastest.txt 64/pkg/tool/linux_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-04-20 GO111MODULE ache/go/1.25.8/x--get 64/pkg/tool/linuremote.origin.url stlo�� /home/REDACTED/.local/share/gh/extremote.origin.url config 64/pkg/tool/linux_amd64/vet -json GO111MODULE ode-gyp-bin/node 64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --limit 100 --created >=2026-02-19 GO111MODULE tCollectDeprecatuser.email 64/pkg/tool/linutest@example.com -C rite '../../../**/*.json' '!../../../pkg/workflo-p config 64/pkg/tool/linux_amd64/compile remote.upstream./usr/lib/git-core/git GO111MODULE ache/go/1.25.8/xrun pBvTgXO/DnQKkYlY--auto (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 ghcr.io/github/serena-mcp-server:latest 64/pkg/tool/linux_amd64/compile ensions/gh-aw GO111MODULE ache/go/1.25.8/xadd 64/pkg/tool/linumyorg .git�� ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-pat--exclude-hidden=receive go cfg -json GO111MODULE me: String!) { user.name ache/go/1.25.8/xTest User (http block)
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 config x_amd64/link remote.upstream.git GO111MODULE .yml x_amd64/link fmt ck '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.prettierignore go _.a r code style"; tgit GO111MODULE /opt/hostedtoolcuser.name In/lR17yz83lXghDTest User (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 cfg 64/pkg/tool/linu-nilfunc rkflow/js/**/*.jgit GO111MODULE erignore 64/pkg/tool/linuupstream ache�� edOutput908093089/001 go bin/golangci-lint ./../.prettieriggit GO111MODULE repository(owner: $owner, name:/tmp/go-build808467151/b584/timeutil.test erignore (http block)
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 show 64/pkg/tool/linux_amd64/vet rkflow/js/**/*.j/opt/hostedtoolcache/node/24.15.0/x64/bin/node onpins erignore 64/pkg/tool/linux_amd64/vet ache�� _qkaXcdr- -importcfg /usr/local/bin/sh ./../.prettieriggit -w -buildmode=exe rtcfg (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1234567890
    • Triggering command: /usr/bin/gh gh api repos/{owner}/{repo}/actions/runs/1234567890 --jq {databaseId: .id, number: .run_number, url: .html_url, status: .status, conclusion: .conclusion, workflowName: .name, workflowPath: .path, createdAt: .created_at, startedAt: .run_started_at, updatedAt: .updated_at, event: .event, headBranch: .head_branch, ensions/gh-aw config ode_modules/.bin-nilfunc remote.upstream.infocmp GO111MODULE 64/bin/go /usr/bin/unpigz ache�� ../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore go sh -json GO111MODULE 64/bin/go kflow.test (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 cfg k/gh-aw/node_modules/.bin/node rkflow/js/**/*.jgit GO111MODULE erignore /usr/bin/git ache�� rity2216891316/001 config x_amd64/compile ./../.prettieriggit GO111MODULE hitecture-diagram.lock.yml x_amd64/compile (http block)
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 config ache/go/1.25.8/x-nolocalimports rkflow/js/**/*.jgit Eg/8duPCm70fYYjUconfig erignore /opt/hostedtoolcremote.origin.url ache�� b/workflows -buildtags cfg -errorsas -ifaceassert -nilfunc erignore (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 config rtcfg.link remote.upstream.git GO111MODULE (http block)
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 ivation_checkout_test.go k remote.upstream.git GO111MODULE t-solving-potd.lremove /opt/hostedtoolcupstream sRem�� ck '**/*.cjs' '**/*.ts' '**/*.js-p pkg/workflow/runtime_import_valimain 64/pkg/tool/linux_amd64/vet pkg/workflow/run/opt/hostedtoolcache/node/24.15.0/x64/bin/node pkg/workflow/run/tmp/test-process-3489875715.js pkg/workflow/runActor: ${{ github.actor }}, Repo: ${{ github.repository }} 64/pkg/tool/linux_amd64/vet (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 config es/.bin/sh remote.origin.urgit GO111MODULE repository(owne--get /bin/sh -c t2224475008 go .yml ithub/workflows GO111MODULE r: $owner, name: $name) { has-bool ache/go/1.25.8/x64/pkg/tool/linu-buildtags (http block)
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 pec_test.go cfg ithub/workflows GO111MODULE /opt/hostedtoolc--get /opt/hostedtoolcremote.upstream.url -l efaultBranchFromLsRemoteWithRealGitmain_branch1404270430/001' efaultBranchFromLsRemoteWithRealGitmain_branch1404270430/001' 64/pkg/tool/linux_amd64/compile pkg/workflow/actgit pkg/workflow/actconfig pkg/workflow/act--get 64/pkg/tool/linuremote.origin.url (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 show x_amd64/vet -json igFiles,SwigCXXFremote ode-gyp-bin/noderemove x_amd64/vet -c /ref/tags/v9.0.0 go sv -json GO111MODULE he-strategy-analyzer.lock.yml ache/go/1.25.8/x64/pkg/tool/linux_amd64/asm (http block)
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 e_output_refactor_test.go x_amd64/vet remote.origin.urgit GO111MODULE $name) { hasremove x_amd64/vet -c GoFiles,Export,DepOnly,Imports,ImportMap,TestImp--detach go 64/bin/go ensions/gh-aw GO111MODULE ode-gyp-bin/sh ache/go/1.25.8/xremote.origin.url (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 -f 64/pkg/tool/linux_amd64/asm -f owner=github -f 64/pkg/tool/linuremote.origin.url .git�� p/smoke_test_22524436360.go go cfg -json GO111MODULE /opt/hostedtoolcuser.email ache/go/1.25.8/xtest@example.com (http block)
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 config cfg remote.origin.ur/opt/hostedtoolcache/node/24.15.0/x64/bin/node GO111MODULE repository(ownevars.MY_VAR /opt/hostedtoolcache/go/1.25.8/x64/bin/gofmt -l 53/001/test-simple-frontmatter.md sRemoteWithRealGitmain_branch1404270430/002/work--all ssivefuncparams.test cmd/gh-aw/capitagit cmd/gh-aw/commanconfig cmd/gh-aw/formatuser.email ssivefuncparams.test@example.com (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path json' --ignore-path ../../../.pr**/*.json config me: String!) { repository(owne../../../.prettierignore remote.upstream./opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GO111MODULE 64/bin/go /usr/bin/git -C th .prettierigno-errorsas config ode_modules/.bin-nilfunc l GO111MODULE 64/bin/go /usr/bin/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 100 owner=github -f x_amd64/link /opt�� b/workflows -- h url GO111MODULE yml im/u-z1GioK92kjxconfig (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 GO111MODULE r: $owner, name:/tmp/gh-aw-test-runs/20260520-231940-35332/test-159277706 util.test 0846�� mpiledOutput5085@{u} show cfg ./../.prettierig/usr/bin/git GO111MODULE /opt/hostedtoolc--get-regexp sh (http block)
  • https://api.github.com/repos/github/gh-aw/contents/.github/workflows/shared/reporting.md
    • Triggering command: /tmp/go-build808467151/b480/cli.test /tmp/go-build808467151/b480/cli.test -test.testlogfile=/tmp/go-build808467151/b480/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true -json GO111MODULE DiscussionsEnabl"prettier" --check '**/*.cjs' '**/*.ts' '**/*.json' --ignore-path ../../../.pret-- infocmp -1 k/gh-aw/gh-aw go me: String!) { repository(ownepkg/workflow/runtime_setup_integration_test.go -json GO111MODULE DiscussionsEnabl-unreachable=false git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/dev
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/dev --jq [.object.sha, .object.type] | @tsv tags/v5 status sv .github/workflowinfocmp config 64/bin/sh /usr/bin/git remo�� ensions/gh-aw git l b/workflows LsRemoteWithReal-1 64/pkg/tool/linuxterm-color git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/dev --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 resolved$ sv @{u} config ndor/bin/sh /usr/bin/git -C ensions/gh-aw config l mLsRemoteWithReainfocmp mLsRemoteWithRea-1 x_amd64/compile /opt/hostedtoolcache/go/1.25.8/x--package-lock-only (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v0.47.4
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v0.47.4 --jq [.object.sha, .object.type] | @tsv /ref/tags/v9 config sv remote.origin.ursed config tions/node_modules/.bin/node git remo�� ensions/gh-aw origin l mLsRemoteWithReainfocmp mLsRemoteWithRea-1 x_amd64/link git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq [.object.sha, .object.type] | @tsv --write **/*.cjs ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet **/*.json --ignore-path ../../../.prettixterm-color ache/go/1.25.8/x64/pkg/tool/linuconfig -c ensions/gh-aw go ache/go/1.25.8/x64/pkg/tool/linux_amd64/compile rror GO111MODULE iability-review./home/REDACTED/.local/share/gh/extensions/gh-aw ache/go/1.25.8/xconfig (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq [.object.sha, .object.type] | @tsv k/gh-aw/gh-aw config x_amd64/compile remote.upstream.git GO111MODULE 64/bin/go x_amd64/compile imag�� *.json' '!../../remote.upstream.url mcp/notion x_amd64/compile -json GO111MODULE 64/bin/go 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, .object.type] | @tsv k/gh-aw/gh-aw/.github/workflows show x_amd64/vet l GO111MODULE $name) { has/tmp/TestGuardPolicyTrustedUsersRequiresMinIntegrity2216891316/001 x_amd64/vet -1 ub/workflows go ache/go/1.25.8/x64/bin/gofmt l GO111MODULE r: $owner, name:/tmp/TestHashStability_SameInputSameOutput52059728/001/stability-test.md ache/go/1.25.8/x64/bin/gofmt (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv .js' --ignore-paremote.upstream.url show tions/setup/js/node_modules/.bin-lang=go1.25 -json GO111MODULE 64/bin/go git tion�� k/gh-aw/gh-aw/.gremote.origin.url config tions/node_modules/.bin/node url GO111MODULE repository(owne--get /usr/bin/gh (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq [.object.sha, .object.type] | @tsv .js' --ignore-paremote.upstream.url show x_amd64/compile -json GO111MODULE $name) { has/tmp/go-build808467151/b559/repoutil.test x_amd64/compile tion�� ub/workflows go bin/node ignore GO111MODULE r: $owner, name:testing.testBinary=1 git (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq [.object.sha, .object.type] | @tsv .js' --ignore-pa-p go er@0.33.0 -json GO111MODULE l /usr/bin/gh stlo�� b/workflows erena-mcp-server-nolocalimports tions/setup/js/n-importcfg -f owner=github -f docker (http block)
  • https://api.github.com/repos/github/gh-aw/issues/17
    • Triggering command: /usr/bin/gh gh api repos/github/gh-aw/issues/17 /home/REDACTED/work/gh-aw/gh-aw/pkg/jsonutil/json_test.go er on' --ignore-path ../../../.pret.prettierignore go l -json estGoFiles,XTestGoFiles,CompiledGoFiles,Export,DepOnly,Imports,ImportMap,TestImports�� 64/bin/go git -C ./../pkg/workflow/js/**/*.json' --ignore-path ../../../.prettierignore show /usr/bin/gh -json GO111MODULE 64/bin/go /usr/bin/gh (http block)
  • https://api.github.com/repos/google-github-actions/auth/git/ref/tags/v2
    • Triggering command: /usr/bin/gh gh api /repos/google-github-actions/auth/git/ref/tags/v2 --jq [.object.sha, .object.type] | @tsv ensions/gh-aw remote.origin.url /usr/bin/git .js' --ignore-pa/usr/bin/git show tions/setup/node/home/REDACTED/.local/share/gh/extensions/gh-aw git conf�� /ref/tags/v9 test@example.com sv T:-}" =~ ^tcp://du config nch,headSha,disp/tmp/gh-aw/aw-feature-branch.patch 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, .object.type] | @tsv --write **/*.cjs 467151/b471/actionpins.test **/*.json --ignore-path ../../../.prettixterm-color 467151/b471/actionpins.test e=/t�� 1940-35332/test-891343275/.github/workflows go 64/pkg/tool/linux_amd64/vet m0s GO111MODULE (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 ./../.prettieriggit GO111MODULE ode-gyp-bin/sh sh -c ck 'scripts/**/*.js' --ignore-path .prettierignore go 64/pkg/tool/linux_amd64/link -json GO111MODULE r: $owner, name:--get-regexp 64/pkg/tool/linu^remote\..*\.gh-resolved$ (http block)
  • https://api.github.com/repos/org/repo/pulls/1
    • Triggering command: /usr/bin/gh gh api repos/org/repo/pulls/1 infocmp -1 re go sh -json GO111MODULE eprecatedFieldsI/tmp/gh-aw-test-runs/20260520-231940-35332/test-source-field-variant-3670271334/remote.upstream.url /usr/bin/git -C ./../pkg/workfloremote.origin.url config actor.lock.yml -json GO111MODULE 64/bin/go infocmp (http block)
  • https://api.github.com/repos/owner/repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/owner/repo/actions/secrets --jq .secrets[].name ithub/workflows go 64/bin/node s/data/action_pi/opt/hostedtoolcache/go/1.25.8/x64/pkg/tool/linux_amd64/vet GO111MODULE 64/bin/go /usr/bin/git 0/x6�� th .prettierigno-errorsas config ode_modules/.bin-nilfunc l GO111MODULE 64/bin/go 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 (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo l -f owner=github ed } } /usr/bin/git ules�� ensions/gh-aw config /usr/bin/gh l GO111MODULE DiscussionsEnabl-f /usr/bin/gh (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-remote-workflow --limit 30 --repo owner/repo infocmp -1 or.md go x_amd64/vet ./../.prettieriggit igFiles,SwigCXXFconfig /opt/hostedtoolc--get x_amd64/vet (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' --ignore-path ../../../.pr**/*.json go kflows/discussion-task-miner.loc../../../.prettierignore -json GO111MODULE DiscussionsEnabl-bool /usr/bin/git -C th .prettierigno-errorsas config /usr/bin/git l GO111MODULE 64/bin/go git (http block)
  • https://api.github.com/repos/test/repo
    • Triggering command: /usr/bin/gh gh api /repos/test/repo --jq .default_branch "prettier" --write '**/*.cjs' '**/*.ts' '**/*.jsunsafe go 64/pkg/tool/linux_amd64/asm cal/share/gh/ext/usr/bin/git GO111MODULE l 64/pkg/tool/linuconfig /opt�� prettier --write ache/go/1.25.8/x64/pkg/tool/linux_amd64/vet !../../../pkg/woinfocmp --ignore-path ../../../.prettixterm-color ache/go/1.25.8/x64/pkg/tool/linumyorg (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 May 20, 2026 23:11
Agent-Logs-Url: https://github.com/github/gh-aw/sessions/d14f65cb-1989-4425-970a-aaf35b118d55

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
…er detection fix

- Add deprecated:true and x-deprecation-message to infer field (was only in description text, walker couldn't detect it)
- Add x-deprecation-message to 9 safe-outputs.* deprecated alias fields
- Add TestAllDeprecatedFieldsHaveXDeprecationMessage reference test (enforces invariant)
- Add TestWarnDeprecatedFrontmatterFields_Infer and _SafeOutputsDeprecatedAliases tests

Agent-Logs-Url: https://github.com/github/gh-aw/sessions/d14f65cb-1989-4425-970a-aaf35b118d55

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI changed the title [WIP] Add generic x-deprecation-message walker for schema feat: complete x-deprecation-message coverage for all deprecated schema fields May 20, 2026
Copilot AI requested a review from gh-aw-bot May 20, 2026 23:32
@pelikhan pelikhan marked this pull request as ready for review May 20, 2026 23:43
Copilot AI review requested due to automatic review settings May 20, 2026 23:43
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

Ensures schema-driven deprecation warnings are emitted consistently by adding missing deprecated: true / x-deprecation-message metadata in the main workflow schema and adding tests to prevent regressions.

Changes:

  • Marked infer as deprecated and added an explicit x-deprecation-message directing users to disable-model-invocation.
  • Added x-deprecation-message strings for deprecated safe-outputs.* alias fields so warnings include actionable migration guidance.
  • Added/extended tests to enforce presence of x-deprecation-message for deprecated fields and to validate warning emission for infer and a safe-outputs alias.
  • Regenerated many workflow lockfiles, including a new minLength: 64 constraint for create_discussion.body validation JSON.
Show a summary per file
File Description
pkg/workflow/compiler_orchestrator_tools_test.go Adds compiler tests asserting warnings for deprecated infer and a deprecated safe-outputs alias.
pkg/parser/schemas/main_workflow_schema.json Adds/updates deprecated + x-deprecation-message metadata for infer and deprecated safe-outputs.* aliases.
pkg/parser/schema_deprecated_test.go Adds invariant test for x-deprecation-message coverage and validates infer appears in deep deprecated field set.
.github/workflows/workflow-skill-extractor.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/weekly-issue-summary.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/uk-ai-operational-resilience.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/typist.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/terminal-stylist.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/stale-repo-identifier.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/smoke-copilot.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/smoke-copilot-arm.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/sergo.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/schema-consistency-checker.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/safe-output-health.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/research.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/repository-quality-improver.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/repo-tree-map.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/repo-audit-analyzer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/python-data-charts.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/prompt-clustering-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/pr-nitpick-reviewer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/poem-bot.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/pdf-summary.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/org-health-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/mcp-inspector.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/lockfile-stats.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/lint-monster.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/issue-arborist.lock.yml Regenerated lockfile; adds minLength: 64 plus updates generated heredoc markers.
.github/workflows/github-remote-mcp-auth-test.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/github-mcp-tools-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/github-mcp-structural-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/firewall-escape.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/example-workflow-analyzer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/docs-noob-tester.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/developer-docs-consolidator.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/delight.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/deep-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-token-consumption-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-team-status.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-team-evolution-insights.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-syntax-error-quality.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-sentrux-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-security-red-team.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-security-observability.lock.yml Regenerated lockfile; adds minLength: 64 plus updates generated heredoc markers.
.github/workflows/daily-secrets-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-safe-outputs-conformance.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-safe-output-optimizer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-safe-output-integrator.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-repo-chronicle.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-rendering-scripts-verifier.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-regulatory.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-performance-summary.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-otel-instrumentation-advisor.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-observability-report.lock.yml Regenerated lockfile; adds minLength: 64 plus updates generated heredoc markers.
.github/workflows/daily-news.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-multi-device-docs-tester.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-mcp-concurrency-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-malicious-code-scan.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-issues-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-hippo-learn.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-grafana-otel-instrumentation-advisor.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-geo-optimizer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-function-namer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-firewall-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-experiment-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-doc-healer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-compiler-threat-spec-optimizer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-compiler-quality.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-code-metrics.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-cli-tools-tester.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-cli-performance.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-cache-strategy-analyzer.lock.yml Regenerated lockfile; adds minLength: 64 plus updates generated heredoc markers.
.github/workflows/daily-architecture-diagram.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/daily-agentrx-trace-optimizer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-session-insights.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-pr-prompt-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-pr-nlp-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-pr-merged-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-cli-deep-research.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/copilot-agent-analysis.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/constraint-solving-potd.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/commit-changes-analyzer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/claude-code-user-docs-review.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/blog-auditor.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/auto-triage-issues.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/audit-workflows.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/artifacts-summary.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/api-consumption-report.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/agent-persona-explorer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.
.github/workflows/agent-performance-analyzer.lock.yml Regenerated lockfile; adds minLength: 64 for create_discussion.body validation JSON.

Copilot's findings

Tip

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

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

Comment thread pkg/parser/schema_deprecated_test.go Outdated
Comment on lines +196 to +200
// TestAllDeprecatedFieldsHaveXDeprecationMessage is a reference test that ensures
// every deprecated field detected by the deep walker carries an x-deprecation-message.
// This guarantees that any future field marked deprecated:true in the schema will
// also have a user-facing migration hint, maintaining the "self-documenting deprecation"
// invariant introduced by the generic walker.
Comment on lines 641 to 645
"type": "string",
"sanitize": true,
"maxLength": 65000
"maxLength": 65000,
"minLength": 64
},
@pelikhan
Copy link
Copy Markdown
Collaborator

@copilot merge main, recompile, review all comments

Copilot AI and others added 2 commits May 20, 2026 23:57
…eneric-x-deprecation-walker

# Conflicts:
#	.github/workflows/daily-cache-strategy-analyzer.lock.yml
#	.github/workflows/daily-observability-report.lock.yml
#	.github/workflows/issue-arborist.lock.yml

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…e to $defs and oneOf variant fields

- Update TestAllDeprecatedFieldsHaveXDeprecationMessage comment to accurately
  describe scope (properties walker only; $defs/$ref and deprecated oneOf
  variants not covered)
- Add x-deprecation-message to $defs.stdio_mcp_tool.properties.network
- Add x-deprecation-message to safe-outputs.create-agent-task oneOf[0] variant
- Merge origin/main

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

Copilot AI commented May 21, 2026

@copilot merge main, recompile, review all comments

Done in 5d9e4ad:

  • Merged origin/main and recompiled all lock files.
  • Tightened the TestAllDeprecatedFieldsHaveXDeprecationMessage comment to accurately state it only covers fields reachable via the properties walker (not $defs/$ref or deprecated oneOf variants).
  • Added x-deprecation-message to the two remaining deprecated: true fields that lacked one: $defs.stdio_mcp_tool.properties.network and the safe-outputs.create-agent-task deprecated oneOf variant — all 15 deprecated: true occurrences in the schema now carry an explicit migration message.

Copilot AI requested a review from pelikhan May 21, 2026 00:08
@pelikhan pelikhan merged commit 40031bc into main May 21, 2026
@pelikhan pelikhan deleted the copilot/deep-report-generic-x-deprecation-walker branch May 21, 2026 00:19
@github-actions
Copy link
Copy Markdown
Contributor

``

@copilot review all comments

Please address any unresolved review feedback left on this PR and push any fixes. After that, update/rebase the branch to resolve the UNSTABLE merge state so CI can run cleanly.

Generated by 👨‍🍳 PR Sous Chef · ● 130.9K ·

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.

[deep-report] Generic x-deprecation-message walker so future deprecations honor themselves

4 participants