[safe-output-health] Safe Output Health Monitor - 2026-09-05 #58731
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-09-06T04:57:44.021Z.
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Safe Output Health Monitor — 2026-09-05
Window: ~2026-09-04T04:39Z → 2026-09-05T04:39Z (~24h) · Repo: github/gh-aw
Summary
275 workflow runs analyzed (127 distinct workflows active). The unified
safe_outputsjob (this repo compiles every safe-output tool type — create_discussion, create_issue, add_comment, jira_create_issue, etc. — into one job with a single "Process Safe Outputs" step, not separate per-type jobs) executed 275 times: 263 success / 5 skipped (nothing to process) / 7 failure → 97.4% success rate. This breaks a 1-day clean streak (2026-09-04 was the first 0-failure audit day since tracking began 2026-08-22).No raw GitHub Actions console logs were available in this audit's downloaded bundle (only structured job/step JSON) — root-cause confidence is noted per cluster below, and is lower than several prior audits that successfully retrieved raw
safe-output-errors.jsonvia the logs MCP tool'sartifacts:["all"]option. That retrieval is the top recommended follow-up.Error Clusters (7 failures → 4 clusters)
Cluster 1 — Design Decision Gate: allowed-files decline (highest priority — affects real PRs)
§33921923497 failed on PR #58608 (
add_comment+push_to_pull_request_branch), onrun_attempt 2— it failed on the retry too. This matches an already-confirmed recurring pattern (5 prior occurrences 2026-08-25 → 2026-08-30):push_to_pull_request_branchcorrectly declines when a PR's changeset touches files outside the workflow's allowed-files whitelist, but the decline is reported via the same hard E099 failure path as a genuine error, instead of a "declined by policy" outcome.Why this matters now: all 5 prior occurrences were on internal/tooling PRs. This is the first confirmed occurrence on a real production PR, and it failed on retry — meaning a legitimate PR is being blocked by a false-failure signal, not just polluting monitoring metrics.
Fix (proposed since 2026-08-28, still not shipped): reclassify policy-driven declines (protected-files, allowed-files) as a distinct non-failure outcome across all safe-output types, not just
approve_workflow_run.Cluster 2 — Smoke Issues: Jira + Linear creation, 100% failure (new)
3/3 independent
workflow_dispatchruns failed identically at "Process Safe Outputs": §33921898520, §33936697638, §33944666335 (latest, on currentmain). All exercisejira_create_issue+linear_create_issuetogether.The compiled workflow (
smoke-issues.lock.yml) shows the safe_outputs job depends onsecrets.JIRA_API_TOKEN,secrets.JIRA_USER_EMAIL,vars.JIRA_BASE_URL, andsecrets.LINEAR_API_KEY. Given 100% reproducibility and the same shape as the already-confirmed "Bad credentials" pattern in cluster 3, a missing/expired/invalid credential is the leading hypothesis — not yet confirmed, since no raw error text was retrieved this audit.Recommended action: verify these 4 secrets/vars are present and unexpired; then fetch raw
safe-output-errors.jsonfor one of the 3 runs above to confirm the exact failure text before treating this as resolved-by-credential-rotation.Cluster 3 — Smoke Project: GraphQL "Bad credentials" (recurring, 2nd occurrence)
§33932216650 (Copilot engine, scheduled) failed
create_project_status_update+update_project. This matches the pattern first confirmed 2026-08-31 (run 33343991132, also Copilot engine, projectgithub/projects/24068, HTTP 401 "Bad credentials" on all 5/5 items that run). Both data points use the Copilot engine, so this audit still cannot confirm whether the cause is Copilot-engine-specific or a project-wide token problem — that question remains open pending a non-Copilot-engine data point.Cluster 4 — Smoke Claude / Smoke Copilot: unresolved (broad multi-tool, scheduled)
submit_pull_request_review. Since this is a scheduled (non-PR-triggered) run, it plausibly matches a previously-confirmed pattern wheresubmit_pull_request_reviewtargeting"triggering"hard-fails outside PR context (2 prior occurrences, 2026-08-29 and 2026-08-31) — but this is not confirmed, since no per-item breakdown was available to isolate the actual failing tool.dispatch_workflow,upload_artifact,create_check_run,add_comment,create_issue,set_issue_type,send_slack_message) with 0 failed_calls recorded at the gateway level and no per-item outcome field — this failure does not clearly match any previously tracked pattern.Both need raw artifact retrieval in a follow-up audit to identify the specific failing item.
Historical Context
This is audit day 15 since tracking began 2026-08-22. Two long-running patterns dominate the history:
approve_workflow_run(PR Sous Chef, 11+6 occurrences, split into a confirmed permission-scope bug and a confirmed policy-miscategorization) and thepush_to_pull_request_branch/allowed-files pattern now at 6 occurrences (Design Decision Gate). Both proposed fixes ("reclassify policy declines as non-failures") remain unshipped after 1+ week. Today adds one new pattern (Smoke Issues/Jira/Linear) and one recurrence (Smoke Project) to the tracked set. Full detail:/tmp/gh-aw/cache-memory/safe-output-health/(index.json, 2026-09-05.json, error-patterns.json, recurring-failures.json, solutions.json).Recommendations
agenticworkflows logs ... artifacts:["all"]) for at least the 4 lower-confidence runs above in the next audit — this audit relied only on pre-cached structured summaries and could not confirm exact error text for any of the 7 failures.Next Steps
Next audit should prioritize raw log retrieval over structured-summary triage to restore higher-confidence root-causing, consistent with the methodology used successfully in the 2026-08-26 through 2026-09-02 audits.
References:
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:See Network Configuration for more information.
All reactions