Repository navigation
Preserve failed Claim delivery diagnostics for investigation - #70971
Conversation
Keep failed queue-worker safe-output diagnostics for seven days while preserving successful-job defaults and repository retention overrides. Cover fallback Issue rejection, terminal unknown effects, and idempotent Claim finalization. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅
|
|
✅ Ponytail Reviewer completed successfully! Ponytail ReviewerOutcome: The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible. Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.
|
|
✅ Test Quality Sentinel completed test quality analysis. Test Quality SentinelOutcome: The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible. Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.
|
|
✅ Design Decision Gate 🏗️ completed the design decision gate check. See the comment below for the result and any generated ADR draft. Design Decision Gate 🏗️Outcome: The agent completed and reported no action. A no-op output alone does not verify that all required work was completed or that publication was possible. Agent messages are omitted from this comment. The category uses structured run status, not interpretation of agent prose.
|
|
✅ PR Code Quality Reviewer completed the code quality review.
|
There was a problem hiding this comment.
Verdict
No blocking issues found in the changed lines. The retention expression preserves the documented repository-level override behavior, and the added delivery test covers the fallback Issue boundary without changing production delivery logic. Static review only; tests were not run.
🔎 Code quality review by PR Code Quality Reviewer · copilot · gpt50 · 1.72 AIC · ⌖ 0.539 AIC · ⊞ 1.6K
Comment /review to run again
There was a problem hiding this comment.
🟡 Changes recommended
The new regression test does not model the actual Discussion fallback result or its missing native receipt.
1 open issue
What changed in this PR
This PR extends diagnostic retention for failed gh-aw queue workers, giving investigators more time to inspect Claim delivery failures.
Changes:
- Set failed-worker artifact retention to seven days while preserving the one-day success default, overrides, and redaction gates.
- Add regression tests for retention and native delivery finalization.
- Document the defaults and regenerate 30 worker workflow locks.
| File | Description |
|---|---|
pkg/workflow/compiler_safe_outputs_steps.go |
Generates status-dependent diagnostic retention. |
pkg/workflow/compiler_safe_outputs_job_test.go |
Checks retention defaults and repository overrides. |
docs/src/content/docs/reference/work-queue.md |
Documents diagnostic retention and overrides. |
docs/src/content/docs/patterns/daily-report-portfolio.md |
Explains worker diagnostic retention defaults. |
actions/setup/js/work_queue_native_creation_delivery.test.cjs |
Adds fallback rejection and finalization assertions. |
.github/workflows/repo-tree-map.lock.yml |
Applies generated worker retention. |
.github/workflows/eslint-refiner.lock.yml |
Applies generated worker retention. |
.github/workflows/eslint-monster.lock.yml |
Applies generated worker retention. |
.github/workflows/eslint-miner.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-pydantic-ai.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-pi.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-opencode.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-kiro.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-goose.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-gemini.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-deepseek-harness.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-cursor.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-crush.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-copilot.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-codex.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-claude.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-aider.lock.yml |
Applies generated worker retention. |
.github/workflows/engine-conformance-agy.lock.yml |
Applies generated worker retention. |
.github/workflows/deep-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-token-consumption-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-team-evolution-insights.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-secrets-analysis.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-repo-chronicle.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-regulatory.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-observability-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-issues-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-firewall-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-evals-report.lock.yml |
Applies generated worker retention. |
.github/workflows/daily-compiler-quality.lock.yml |
Applies generated worker retention. |
.github/workflows/artifacts-summary.lock.yml |
Applies generated worker retention. |
Review effort: Max
| await f.capture(); | ||
| Object.assign(f.result, { fallback_used: true, url: `https://github.com/${REPOSITORY}/issues/19` }); |
|
🎉 This pull request is included in a new release. Release: |

Summary
safe-outputs-itemsfor seven days on failed queue-worker jobs, while keeping the one-day success default, repository/runtime retention overrides, and fail-closed redaction. Ordinary workflows, observers, and staged paths are unchanged.Evidence and scope
Miner run https://github.com/github/gh-aw/actions/runs/39364978477 uploaded its diagnostic artifact successfully, but its one-day retention made the artifact unavailable during subsequent investigation. Historical native verifier/transport fixes already exist; this change does not weaken contracts, retry uncertain deliveries, rewrite terminal failures, or dispatch/rerun workflows. Protected deployment refresh is handled independently.
Validation
make agent-report-progresscompleted its checks except Go lint, which encountered another process's shared runner lock. The affected Go package subsequently passedgolangci-lint run --allow-serial-runners --timeout 5m --new-from-rev=HEAD ./pkg/workflowwith zero issues; no shared locks were removed.make check-workflow-driftindependently passed: all 346 workflows compiled and generated locks match source.git diff --checkpassed.Integration note
This changes generated worker locks also touched by the Issue-projection workstream. Recompile after combining compiler changes rather than hand-merging generated YAML.