Skip to content

DDUw: add open-issue cross-referencing, stale schema drift detection, and example validation#18555

Merged
pelikhan merged 2 commits intomainfrom
copilot/cross-reference-doc-issues
Feb 26, 2026
Merged

DDUw: add open-issue cross-referencing, stale schema drift detection, and example validation#18555
pelikhan merged 2 commits intomainfrom
copilot/cross-reference-doc-issues

Conversation

Copy link
Contributor

Copilot AI commented Feb 26, 2026

DDUw had three structural blind spots: it never consulted the open issue tracker, only looked back 24 hours (missing long-standing doc-code drift), and never validated that YAML examples in docs actually compile.

Changes to daily-doc-updater.md

  • Step 1b (new) — After scanning recent PRs, DDUw now queries open documentation issues and, for each confirmed gap, includes a fix in the run's PR with Closes #NNN
  • Step 2 — Added a Removed Features in Docs analysis bullet: cross-checks documented properties against pkg/parser/schemas/ to surface stale references (e.g., removed options still documented)
  • Guidelines — Two new bullets:
    • Issue-Driven: don't wait for manual reports; proactively check open documentation issues each run
    • Validate Examples: YAML frontmatter examples must be structurally valid; test with gh aw compile when uncertain
  • Bash allowlist — Added find pkg/parser/schemas -name '*.json' and cat pkg/parser/schemas/*.json so DDUw can read current schema during drift analysis

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 (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 -trimpath 64/bin/go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile -o /tmp/go-build1955176235/b417/_pkg_.a -trimpath r,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,disp--show-toplevel -p flow-12345 -lang=go1.25 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 jpq_JbW5I /tmp/go-build1955176235/b080/vet.cfg /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet l GO111MODULE 64/bin/go ortcfg -uns�� g/timeutil/format.go g/timeutil/format_test.go 1/x64/bin/node -json GO111MODULE 64/bin/go 1/x64/bin/node (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/11bd71901bbe5b1630ceea73d27597364c9af683 --jq .object.sha (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha -json GO111MODULE x_amd64/vet GOINSECURE 8b2c669556b66cecrev-parse GOMODCACHE x_amd64/vet (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v4 --jq .object.sha vaScript739165239/001/test-compl-test.timeout=10m0s GO111MODULE /opt/hostedtoolcache/go/1.25.0/x-test.short=true GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build1955176235/b049/vet.cfg 5176235/b338/vet.cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/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/v4 --jq .object.sha vaScript739165239/001/test-frontmatter-with-nested-objects.md GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet -uns�� -unreachable=false /tmp/go-build1955176235/b055/vet.cfg 5176235/b362/vet.cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/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/v4 --jq .object.sha --git-dir go /usr/bin/git template-expressgit GO111MODULE x_amd64/vet git rev-�� --git-dir x_amd64/vet /usr/bin/git -json GO111MODULE x_amd64/vet 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 -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg x_amd64/link GOINSECURE GOMOD GOMODCACHE x_amd64/link (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha -bool -buildtags ache/node/24.13.1/x64/bin/node -errorsas -ifaceassert -nilfunc git t-14�� bility_SameInputSameOutput193731159/001/stability-test.md -tests /usr/bin/git k/gh-aw/gh-aw/pkgit k/gh-aw/gh-aw/pkrev-parse 64/bin/go git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha /tmp/TestHashConsistency_WithImports1957873327/001/main.md x_amd64/vet /opt/hostedtoolcache/node/24.13.1/x64/bin/node -json GO111MODULE x_amd64/vet node /tmp�� /home/REDACTED/work/gh-aw/gh-aw/.github/workflows/agent-persona-explorer.md x_amd64/vet /usr/bin/git -json GO111MODULE x_amd64/vet 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 (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v7
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v7 --jq .object.sha (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 npx prettier --cGOSUMDB GOPROXY 64/bin/go GOSUMDB GOWORK run-script/lib/n-unreachable=false sh -c "prettier" --check 'scripts/**/*GOINSECURE node 64/bin/go tierignore ../../../pkg/wor-atomic 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha --check **/*.cjs 64/bin/go **/*.json --ignore-path ../../../.pretti-unreachable=false go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha "prettier" --chego1.25.0 prettier 64/bin/go ../../../pkg/wor/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet --ignore-path 64/bin/go go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/4dc6199c7b1a012772edbd06daecab0f50c9053c --jq .object.sha (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 -json GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linutest@example.com -uns�� -unreachable=false /tmp/go-build1955176235/b104/vet.cfg 5176235/b347/vet.cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha npx prettier --wGOINSECURE 1/x64/bin/npm 64/bin/go --show-toplevel 64/pkg/tool/linu/home/REDACTED/work/gh-aw/gh-aw/actions/setup/js/node_modules/.bin/pre�� /usr/bin/git go env ath ../../../.pr**/*.json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v5 --jq .object.sha (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 vaScript739165239/001/test-frontmatter-with-env--errorsas GO111MODULE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linu-nilfunc GOINSECURE GOMOD GOMODCACHE /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linu-tests -uns�� runs/20260226-193533-30460/test-1412768523/.github/workflows /tmp/go-build1955176235/b056/vet.cfg 5176235/b346/vet.cfg GOSUMDB GOWORK 64/bin/go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha npx prettier --wGOINSECURE git 64/bin/go --show-toplevel x_amd64/link /usr/bin/git go env ath ../../../.pr**/*.json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (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 (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 (http block)
  • https://api.github.com/repos/docker/build-push-action/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/docker/build-push-action/git/ref/tags/v6 --jq .object.sha (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 (http block)
  • https://api.github.com/repos/docker/metadata-action/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/docker/metadata-action/git/ref/tags/v5 --jq .object.sha (http block)
  • https://api.github.com/repos/docker/setup-buildx-action/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/docker/setup-buildx-action/git/ref/tags/v3 --jq .object.sha (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env y-test.md .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuremote.origin.url (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 GO111MODULE x_amd64/compile GOINSECURE GOMOD GOMODCACHE x_amd64/compile env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuorigin (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 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linuTest User (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 GO111MODULE 64/pkg/tool/linux_amd64/link GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/link env -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 GO111MODULE 64/pkg/tool/linu-test.short=true GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env hub/workflows .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path prettier --check 64/bin/go **/*.ts **/*.json --ignore-path golangci-lint run r: $owner, name:-errorsas node 64/bin/go tierignore format:cjs 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 github.com/davec-atomic -lang=go1.16 go env -json GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 GOMOD GOMODCACHE x_amd64/vet env -json GO111MODULE 64/pkg/tool/linu-nolocalimports GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linu/tmp/go-build1955176235/b417/_testmain.go (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/a70c5eada06553e3510ac27f2c3bda9d3705bccb --jq .object.sha (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -json GO111MODULE 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (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 (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 -json rty 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet env 858093893/.github/workflows .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion GOINSECURE GOMOD GOMODCACHE x_amd64/vet env -json .cfg 64/pkg/tool/linux_amd64/vet GOINSECURE GOMOD GOMODCACHE 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go **/*.ts **/*.json --ignore-path git conf�� extensions.objec-errorsas sh 64/bin/go npx prettier --w/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet git 64/bin/go go (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo 64/bin/go GOSUMDB GOWORK 64/bin/go /opt/hostedtoolc/tmp/go-build1955176235/b119/vet.cfg -V=f�� 64/bin/sh sh 64/bin/go npx prettier --w/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet git 64/bin/go go (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build1955176235/b381/cli.test /tmp/go-build1955176235/b381/cli.test -test.testlogfile=/tmp/go-build1955176235/b381/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true GOSUMDB GOWORK 64/bin/go sh -c "prettier" --che-errorsas sh 64/bin/go "prettier" --wri/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet git 64/bin/go go (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 npx prettier --cGOSUMDB GOPROXY 64/bin/go GOSUMDB GOWORK 64/bin/go node /hom�� --check scripts/**/*.js 64/bin/go .prettierignore git 64/bin/go go (http block)

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

Original prompt

This section details on the original issue you should resolve

<issue_title>[doc-healer] DDUw improvement: cross-reference open documentation issues and scan for stale doc-code drift</issue_title>
<issue_description>## Background

The Daily Documentation Healer ran on 2026-02-26 and analyzed 17 recently-closed documentation issues (closed ≥ 2026-02-19). Of these, 5 were closed as completed:

Issue Title Root cause type
#18090 MultiRepoOps example: steps: nested under engine: (compilation error) Stale doc example not matching current schema
#17941 Update docs for removal of tools.playwright.allowed_domains Long-standing doc-code drift (feature removed in v0.9.0)
#16863 Remove emoji from CLI reference heading Doc quality issue unrelated to recent code changes
#16827 CLI consistency issues (wrong flag letter -f vs -F, wrong registry URL) Code–help-text discrepancy
#17800 Add github-ci-trogger-token: option to trigger CI New feature not documented

Zero DDUw PRs were created in the same 7-day window. All fixes were applied manually or via other agents, not by DDUw.

All documentation gaps have since been resolved in the codebase. This issue proposes concrete improvements to prevent recurrence.


Root Cause Analysis

DDUw's current logic (Step 1 in daily-doc-updater.md) is:

Scan for merged PRs from the last 24 hours → analyze features added/removed/modified → update docs.

This design has three structural blind spots:

Blind Spot 1: No cross-referencing of open documentation issues

DDUw never reads the GitHub issue tracker. Issues like #18090 and #17941 were open for days before being manually closed — DDUw would have caught them automatically if it searched for open documentation issues alongside its PR scan.

Proposed fix: Add a new step after "Scan Recent Activity" that queries:

repo:github/gh-aw is:issue is:open label:documentation

For each open issue found, check whether the described gap exists in the current docs. If it does, fix it as part of the PR. Reference and close the issue in the PR body.

Blind Spot 2: 24-hour lookback misses long-standing doc-code drift

tools.playwright.allowed_domains was removed in v0.9.0 but references persisted in docs. DDUw would only have caught this the day of that removal PR. Any drift that survives beyond 24 hours is permanently invisible to DDUw.

Proposed fix: Add a periodic "stale reference scan" step (can run weekly or on workflow_dispatch) that:

  1. Extracts all property names documented in tools: sections across docs
  2. Cross-checks them against the current JSON schema (pkg/schema/*.json or compiled schema output)
  3. Flags any documented properties that no longer exist in the schema

Blind Spot 3: No doc example validation

The MultiRepoOps example in #18090 had steps: incorrectly nested under engine:, which the compiler rejects. DDUw doesn't validate that YAML code blocks in docs are structurally valid.

Proposed fix: Add a step that runs gh aw compile --dry-run (or equivalent) on YAML snippets extracted from docs that contain --- frontmatter fences. Flag any that fail to compile.


Specific Wording Changes for daily-doc-updater.md

Add to Step 1 (after existing PR/commit scan):

### 1b. Check Open Documentation Issues

Search for open issues labeled `documentation` that may represent unaddressed gaps:

```
repo:$\{\{ github.repository }} is:issue is:open label:documentation
```

For each open issue:
1. Read the issue body to understand the described gap.
2. Check the referenced documentation file to verify the gap still exists.
3. If confirmed, include a fix in this run's PR and reference the issue with `Closes #NNN`.
4. If the gap is already fixed, note it (do not reopen or comment on the issue).

Add to Step 2 (Analyze Changes) — new bullet:

- **Removed Features in Docs**: Search docs for references to properties, flags, or options that no longer exist in the current schema. Check `pkg/schema/` or run `gh aw compile` on representative workflows to confirm current valid properties.

Add to Guidelines section:

- **Issue-Driven**: Proactively check open `documentation` issues — do not wait for them to be reported manually.
- **Validate Examples**: YAML frontmatter examples in docs must be structurally valid. When in doubt, test with `gh aw compile`.

Expected Impact

These changes would allow DDUw to detect and fix the following classes of issues autonomously:

  • Stale property references (like allowed_domains) that survive API removal
  • Doc examples that fail compilation
  • Open documentation issues that have not been addressed within 24 hours of being filed

No architectural changes to DDUw are needed — ...


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ift scan, and example validation

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Improve cross-referencing of open documentation issues DDUw: add open-issue cross-referencing, stale schema drift detection, and example validation Feb 26, 2026
@pelikhan pelikhan marked this pull request as ready for review February 26, 2026 20:31
Copilot AI review requested due to automatic review settings February 26, 2026 20:31
@pelikhan pelikhan merged commit 8b089d1 into main Feb 26, 2026
1 check passed
@pelikhan pelikhan deleted the copilot/cross-reference-doc-issues branch February 26, 2026 20:31
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

Updates the Daily Documentation Updater (DDUw) workflow instructions to proactively incorporate open documentation issues, detect long-lived doc/schema drift, and validate YAML examples—plus expands the bash allowlist so the agent can read the current JSON schema files.

Changes:

  • Add a new “Check Open Documentation Issues” step to query open label:documentation issues and incorporate confirmed fixes (with Closes #NNN) into the run PR.
  • Add “Removed Features in Docs” guidance to cross-check docs against pkg/parser/schemas/ for stale references.
  • Expand the bash allowlist to read schema JSON files from pkg/parser/schemas/ (and recompile the lockfile accordingly).

Reviewed changes

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

File Description
.github/workflows/daily-doc-updater.md Adds new issue-driven and schema-drift guidance, plus schema-reading bash allowlist entries.
.github/workflows/daily-doc-updater.lock.yml Regenerates the compiled workflow to include the new allowed bash commands.
Comments suppressed due to low confidence (1)

.github/workflows/daily-doc-updater.md:223

  • This guideline tells the agent to validate YAML examples using gh aw compile, but gh aw compile isn’t currently permitted by the workflow’s bash allowlist. Add the needed bash allowlist entry (and update the compiled .lock.yml), or revise the guideline to use only allowed validation approaches.
- **Validate Examples**: YAML frontmatter examples in docs must be structurally valid. When in doubt, test with `gh aw compile`.

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

- **Features Removed**: Deprecated or removed functionality
- **Features Modified**: Changed behavior, updated APIs, or modified interfaces
- **Breaking Changes**: Any changes that affect existing users
- **Removed Features in Docs**: Search docs for references to properties, flags, or options that no longer exist in the current schema. Check `pkg/parser/schemas/` or run `gh aw compile` on representative workflows to confirm current valid properties.
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

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

The instructions recommend running gh aw compile for schema/example validation, but this workflow’s bash tool allowlist doesn’t currently permit invoking gh aw compile. Either add an allowlist entry for gh aw compile (ideally with a constrained pattern) and recompile the lockfile, or adjust this guidance to only describe checks that can be performed with the currently allowed tools (e.g., schema JSON inspection).

This issue also appears on line 223 of the same file.

Suggested change
- **Removed Features in Docs**: Search docs for references to properties, flags, or options that no longer exist in the current schema. Check `pkg/parser/schemas/` or run `gh aw compile` on representative workflows to confirm current valid properties.
- **Removed Features in Docs**: Search docs for references to properties, flags, or options that no longer exist in the current schema. Use the JSON schemas in `pkg/parser/schemas/` (which you can inspect with the allowed tools) to confirm the currently valid properties.

Copilot uses AI. Check for mistakes.
Comment on lines 689 to 693
id: agentic_execution
# Allowed tools (sorted):
# - Bash(cat pkg/parser/schemas/*.json)
# - Bash(cat)
# - Bash(date)
Copy link

Copilot AI Feb 26, 2026

Choose a reason for hiding this comment

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

The updated workflow prompt now instructs using gh aw compile for validation, but the compiled workflow’s allowed-tools list still doesn’t include Bash(gh aw compile …). Add it to the allowed tools (and keep the list consistent with the .md allowlist) so the agent can actually run the validation step.

Copilot uses AI. Check for mistakes.
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.

[doc-healer] DDUw improvement: cross-reference open documentation issues and scan for stale doc-code drift

3 participants