Skip to content

[docs] Self-healing documentation fixes from issue analysis - 2026-09-13 - #60706

Merged
pelikhan merged 1 commit into
mainfrom
docs-healer-artifact-names-20260913-0fa265f7353516ef
Sep 14, 2026
Merged

pelikhan merged 1 commit into
mainfrom
docs-healer-artifact-names-20260913-0fa265f7353516ef

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Self-Healing Documentation Fixes

This PR was automatically created by the Daily Documentation Healer workflow.

Gaps Fixed

  • docs/src/content/docs/reference/artifacts.md — the Quick Reference table listed aw-info and prompt as current artifact names. Neither is uploaded by any compiled workflow.

Verified against the compiled lock files and constants:

  • constants.InfoArtifactName = "info" (pkg/constants/job_constants.go:188) is uploaded as name: info with path: /tmp/gh-aw/aw_info.json in every .github/workflows/*.lock.yml — but was entirely absent from the reference table.
  • name: aw-info and name: prompt appear in zero lock files.
  • prompt.txt is uploaded as part of the activation artifact, not standalone (see smoke-codex.lock.yml:468-479).

Impact: a downstream consumer following the table with gh run download -n aw-info or -n prompt silently gets nothing.

The fix adds the missing info row and reclassifies aw-info / prompt as Legacy/back-compat, matching how safe-output and agent-output are already documented on the same page.

Why the legacy rows were kept rather than deleted

aw-info and prompt are still real names the CLI recognizes when reading older runs — pkg/cli/logs_artifact_compat_test.go:181 lists them in removedDirs for artifact flattening, and the page's own "Naming Compatibility" section documents them as pre-v5 names. Deleting the rows would have lost accurate back-compat information, so they were reclassified instead. The "Naming Compatibility" table was left unchanged because it correctly describes historical CLI behavior.

Root Cause

DDUw never had a chance to catch this, for two independent reasons.

1. The drift was never filed as an issue. Every DDUw scan path is issue-driven: Step 1b reads open documentation issues, Step 1c searches recently closed ones, Step 1d searches cookie-labeled automation issues. All three begin with a repo:... is:issue label:documentation search. The aw-info to info rename happened in code without anyone filing a docs issue, so there was no input to react to. DDUw has no proactive code-to-docs reconciliation scan.

2. Issue reads are currently blocked entirely. Every issue in this repository is rejected by the integrity policy: Resource 'issue:github/gh-aw#NNNNN' has lower integrity than agent requires. The agent cannot read data with integrity below "approved". Commits, PRs, and file contents read normally — only issues are filtered. DDUw's Step 1d already acknowledges this filter exists. This means DDUw's entire issue-driven pipeline is currently inert, and so is this workflow's Step 1.

This PR was found by the one part of the healer's procedure that does not depend on issue data: the Step 2.5 artifact-constant check.

DDUw Improvement Suggestions

Add a proactive artifact-constant reconciliation scan. DDUw should run the same check that found this gap, independent of any issue:

  1. grep -Pn "ArtifactName\s*=" pkg/constants/constants.go pkg/constants/job_constants.go
  2. For each constant value, confirm it is actually produced: grep -rn "name: <value>" .github/workflows/*.lock.yml (and the JS upload helpers under pkg/workflow/js/).
  3. Skip forward-declared constants whose job builder is a no-op stub.
  4. Assert every produced name appears in docs/src/content/docs/reference/artifacts.md.
  5. Also assert the inverse — that every artifact name listed in the table is either still produced or explicitly marked Legacy/back-compat. This reverse direction is what catches silent renames, and is the check that would have caught aw-info.

The page already carries a "Sync note" telling humans to update it when constants change. That note is unenforced; step 5 above turns it into an automated check.

Add issue-independent fallback paths generally. Because the integrity filter can block the entire issue corpus, DDUw's value drops to zero whenever it is active. Reconciliation scans driven by code and compiled artifacts (constants, CLI flags, engine registrations, schema fields) keep working under the filter and should be a first-class scan tier rather than a supplement to issue scanning.

Related Issues

None — this gap was found by proactive constant reconciliation, not from an issue. No Closes reference applies.

The configured steering issue for this run could not be read: the run received an empty issue number (#false), and all issue reads are blocked by the integrity filter described above. No steering feedback was incorporated.

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • api.anthropic.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.anthropic.com"

See Network Configuration for more information.

Generated by 📝 Daily Documentation Healer · claude · haiku45 · 317.5 AIC · ⌖ 57.5 AIC · ⊞ 10.2K · ◷

  • expires on Sep 16, 2026, 3:50 PM UTC-08:00

The Quick Reference table listed `aw-info` and `prompt` as current
artifact names, but every compiled workflow uploads `info` and bundles
`prompt.txt` into `activation`. Downstream consumers following the table
with `gh run download -n aw-info` would silently get nothing.

Adds the missing `info` row (constants.InfoArtifactName) and reclassifies
`aw-info` and `prompt` as legacy/back-compat, matching how `safe-output`
and `agent-output` are already documented.
@github-actions github-actions Bot added automation documentation Improvements or additions to documentation labels Sep 13, 2026
@pelikhan
pelikhan marked this pull request as ready for review September 13, 2026 23:59
Copilot AI balanced review requested due to automatic review settings September 13, 2026 23:59
@pelikhan
pelikhan merged commit 329f454 into main Sep 14, 2026
2 checks passed
@pelikhan
pelikhan deleted the docs-healer-artifact-names-20260913-0fa265f7353516ef branch September 14, 2026 00:00
@github-actions

github-actions Bot commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor Author

✅ Test Quality Sentinel completed test quality analysis.

No test files were added or modified in this PR. Test Quality Sentinel skipped. PR #60706 is a documentation-only change (docs/src/content/docs/reference/artifacts.md).

🧪 Test quality analysis by Test Quality Sentinel

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The change is documentation-only, with no blocking issues identified.

Pull request overview

Documentation-only update aligning artifact reference documentation with current and legacy artifact names.

Changes:

  • Adds the current info artifact.
  • Reclassifies aw-info and prompt as legacy names.
File summaries
File Summary
docs/src/content/docs/reference/artifacts.md Updates current and legacy artifact documentation.
Review details

Suppressed comments (2)

docs/src/content/docs/reference/artifacts.md:23

  • These rows now classify aw-info and prompt as legacy, while the page's Naming Compatibility table below still presents both as the New Name (v5+). A reader following the page therefore gets contradictory guidance about whether to download aw-info/prompt or the current info/activation artifacts. Update that compatibility section to distinguish the historical v5 names from the current names, or explicitly note the later rename.
| `aw-info` | — | Legacy/back-compat | Historical standalone engine-configuration artifact (`aw_info.json`); current compiled workflows upload this as `info` instead |
| `prompt` | — | Legacy/back-compat | Historical standalone prompt artifact (`prompt.txt`); in current compiled workflows `prompt.txt` is included in the `activation` artifact instead |

docs/src/content/docs/reference/artifacts.md:21

  • The CLI exposes ArtifactSetInfo = "info" and maps it to the info artifact (pkg/cli/logs_artifact_set.go:42-44,96), but the Artifact Sets table below omits this set. As a result, this page still does not tell users that gh aw logs --artifacts info is the supported way to fetch this newly documented single-file artifact. Add an info row to that table.
| `info` | `constants.InfoArtifactName` | Single-file | Standalone copy of the workflow run information (`aw_info.json`), uploaded by the activation job in addition to the copy bundled in the `activation` artifact |
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite (auto)

Note

Copilot is running an experiment and ran this review at Lite.


💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@github-actions

Copy link
Copy Markdown
Contributor Author

🎉 This pull request is included in a new release.

Release: v0.89.13

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automation documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants