Skip to content

Preserve failed Claim delivery diagnostics for investigation - #70971

Merged
pelikhan merged 1 commit into
mainfrom
pelikhan-musical-pancake
Oct 21, 2026
Merged

pelikhan merged 1 commit into
mainfrom
pelikhan-musical-pancake

Conversation

@pelikhan

Copy link
Copy Markdown
Collaborator

Summary

  • Retain safe-outputs-items for 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.
  • Cover the exact native-verifier boundary: a successful fallback Issue cannot satisfy a PR or Discussion contract; active runs remain pending, terminal unknown effects produce one immutable DeliveryFailure, and repeated finalization neither creates a Result nor replays effects.
  • Document the scoped defaults and regenerate 30 affected worker locks.

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

  • Targeted compiler retention/redaction tests and all 81 native creation delivery tests passed.
  • Build, Go/JavaScript formatting, JavaScript lint/typecheck, schema freshness, custom Go lint, and impacted Go unit tests passed.
  • make agent-report-progress completed its checks except Go lint, which encountered another process's shared runner lock. The affected Go package subsequently passed golangci-lint run --allow-serial-runners --timeout 5m --new-from-rev=HEAD ./pkg/workflow with zero issues; no shared locks were removed.
  • make check-workflow-drift independently passed: all 346 workflows compiled and generated locks match source.
  • The generated retention expression passed actionlint in its actual step-input context; git diff --check passed.

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.

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>
@pelikhan
pelikhan marked this pull request as ready for review October 21, 2026 23:49
Copilot AI max review requested due to automatic review settings October 21, 2026 23:49
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ Ponytail Reviewer completed successfully!

Ponytail Reviewer

Outcome: reported_no_action

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.

Generated from Ponytail Reviewer · gpt56 · 5.77 AIC · ⌖ 5.34 AIC · ⊞ 14.8K · ◷

Generated by Ponytail Reviewer for #70971

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ Test Quality Sentinel completed test quality analysis.

Test Quality Sentinel

Outcome: reported_no_action

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.

Generated from Test Quality Sentinel · sonnet50 · 12 AIC · ⌖ 15.1 AIC · ◇ 4.45 AIC · ⊞ 12.7K · ◷

🧪 Test quality analysis by Test Quality Sentinel

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ 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: reported_no_action

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.

Generated from Design Decision Gate 🏗️ · opus55 · 10.3 AIC · ⌖ 32.1 AIC · ◇ 15.4 AIC · ⊞ 1.9K · ◷

🏗️ ADR gate enforced by Design Decision Gate 🏗️

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ PR Code Quality Reviewer completed the code quality review.

🔎 Code quality review by PR Code Quality Reviewer

@github-actions github-actions Bot 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.

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

@pelikhan
pelikhan merged commit 3effd63 into main Oct 21, 2026
150 checks passed
@pelikhan
pelikhan deleted the pelikhan-musical-pancake branch October 21, 2026 23:58

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.

🟡 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

Comment on lines +529 to +530
await f.capture();
Object.assign(f.result, { fallback_used: true, url: `https://github.com/${REPOSITORY}/issues/19` });
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.93.1

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.

2 participants