[doc-healer] doc-healer DDUw improvement - integrity-filtered issue queries return empty
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- github-actions, markdown
- Domain
- devops, documentation
Research direction
Read daily-doc-healer.md Step 1 and the corresponding issue-enumeration sections in daily-doc-updater.md. Check how empty list/search results and removed-item counts are represented, then decide how the workflows should report censored results without treating them as no work. Done means the affected workflows distinguish incomplete data from a genuine empty result and document the low-perPage diagnostic and policy choice.
Written by the indexing model from the issue text.
Description
Summary
The doc-healer run on 2026-09-21 could not execute Step 1 (identify recently closed documentation issues). Every bulk issue query returned an empty array because the integrity policy stripped all results. Critically, the empty result is indistinguishable from "no issues found", so the workflow would normally proceed straight to noop and report a clean bill of health that was never actually verified.
The silent failure
Both enumeration paths returned []:
list_issues(state: CLOSED,labels: [documentation])search_issues(semantic query)
With a large perPage the response is simply [] plus a count of removed items. Only when perPage was lowered to 5 did the tool disclose which resources were withheld:
Withheld resources (perPage: 5)
issue:github/gh-aw#61398 — integrity below "approved"
issue:github/gh-aw#61396 — integrity below "approved"
issue:github/gh-aw#61395 — integrity below "approved"
issue:github/gh-aw#61394 — integrity below "approved"
issue:github/gh-aw#61357 — integrity below "approved"
These are bot-authored issues (github-actions[bot], deep-report and similar agentic workflows). Because gh-aw's documentation issues are overwhelmingly filed by automation, the integrity floor excludes essentially the entire corpus that doc-healer and DDUw are designed to analyze.
Which step failed
daily-doc-healer.md Step 1 assumes a non-empty result set means work to do and an empty one means none. It has no branch for "the query was censored." The same assumption exists wherever daily-doc-updater.md enumerates issues.
Suggested changes
- Distinguish censored from empty. In Step 1, if a list/search call returns zero items and reports removed items, do not treat it as "no issues found." Emit
report_incomplete(ormissing_data) naming the blocked resources instead of falling through tonoop. - Document the low-
perPagediagnostic. A smaller page size surfaces the withheld resource IDs in the filter message; a large one does not. Worth stating explicitly so future runs can at least report what was blocked. - Decide the policy question explicitly. Either raise the integrity floor for this workflow so bot-authored documentation issues are readable, or narrow doc-healer's charter to the deterministic repo-local checks (below) and drop the issue-driven steps. The current configuration asks the workflow to do something its permissions forbid.
[!NOTE]
This run deliberately did not route around the filter by callingissue_readon each withheld number. The policy states the agent may not read those resources; harvesting the IDs from the error message to re-fetch them individually would defeat the control rather than respect it.
Repo-local checks did run — all clean
The deterministic drift checks do not depend on issue content and were completed:
Check results
| Check | Result |
|---|---|
Artifact constants vs reference/artifacts.md |
All documented — incl. evals, experiment, code-scanning-sarif, safe-outputs-items, agent-output-fallback, firewall-audit-logs |
Registered engines vs reference/engines.md |
All 5 documented (claude, codex, copilot, gemini, pi); none flagged experimental: true |
Base-URL env var table (engines.md:192) |
Omits pi — correct, not a gap. pi_engine.go defines no base-URL env var; Pi borrows the matching provider engine's AWF config |
No documentation content gaps were found, so no fix PR was opened.
Skip list
#61398 was already on the site-build-ui-issues cache entry and is confirmed out of scope — it targets docs/astro.config.mjs sidebar collapsed state (closed as not_planned), not Markdown content. The cache also carries #60377. The remaining withheld issues (#61396, #61395, #61394, #61357) could not be classified.
[!WARNING]
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
api.anthropic.comTo allow these domains, add them to the
network.allowedlist in your workflow frontmatter:network: allowed: - defaults - "api.anthropic.com"See Network Configuration for more information.
Generated by 📝 Daily Documentation Healer · claude · haiku45 · 192.8 AIC · ⌖ 54.6 AIC · ⊞ 10.4K · ◷
- expires on Sep 24, 2026, 3:48 PM UTC-08:00
- Dominant language
- Go
- Stars
- 5.2k
- Forks
- 547
- Avg merge
- 5h 55m
- Merged PRs (30d)
- 771
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/gh-aw
-
automation code-quality cookie deep-report improvement quick-win task-mining triage
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
[deep-report] .claude/skills/reporting.md missing required name: frontmatter, skill not registered Openautomation code-quality cookie deep-report improvement quick-win task-mining tooling
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
automation code-quality cookie deep-report documentation improvement quick-win task-mining
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
automation code-quality cookie deep-report documentation improvement quick-win task-mining
Difficulty 1/5 Under an hour Newbie friendliness 88/100
-
[deep-report] Docs: preview what Quick Start Step 2's external repo-status workflow actually does Openautomation code-quality cookie deep-report documentation improvement quick-win task-mining
Difficulty 1/5 Under an hour Newbie friendliness 88/100
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100