Repository navigation
[safe-output-health] Safe Output Health Report - 2026-10-04 #65507
Closed
Replies: 1 comment
|
This discussion was automatically closed because it expired on 2026-10-05T06:32:18.858Z.
|
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 Report - 2026-10-04
Executive Summary
audit.jsonavailable for analysis)safe_outputsjob across all runs)push_ledger_changesjob — 3 executions, 2 failedpush_ledger_changessubsystem described below almost certainly shipped during this gap (it appears in zero prior audits).Safe Output Job Statistics
safe_outputs(all item types, combined job)push_ledger_changes(new subsystem)create_issue(item count, approx.)create_discussion(item count, approx.)add_comment(item count, approx.)create_pull_request(item count, approx.)add_labels(item count, approx.)push_to_pull_request_branch(item count, approx.)Item-type counts are derived from
created_items/safe_output_summaryacross all 268 cached runs and are approximate (some workflows configure multiple types per run).MCP server health: clean across the board — 0 degraded/failed MCP servers, 0
missing_tools, 0missing_datasignals in any of the 268 cached runs.Error Clusters
Cluster 1 (NEW): Ledger-reconciliation subsystem fails on empty/near-empty transaction sets
push_ledger_changesjobpush_ledger_changes("Reconcile and push ledger changes" step), and in one case also thesafe_outputsjob's "Upload validated ledger transactions" stepagentjob crashed before producing any output at all, because its "Start MCP Gateway" step failed withdriver_exit(an agent-job infrastructure issue, out of scope for this monitor) — yetpush_ledger_changesstill ran afterward and still failed trying to reconcile an empty ledger. This points toward an edge case in the zero/near-zero-transaction code path of the ledger reconciliation script, rather than a merge-conflict or volume-related bug.Cluster 2 (recurring, now spreading): "Process Safe Outputs" step hard-fails despite the sole intended item succeeding
safe_outputs("Process Safe Outputs" step)approve_workflow_runand Design Decision Gate'spush_to_pull_request_branch(a policy decline getting miscategorized as a hard job failure — seereclassify-protected-file-decline-as-non-failurein the recurring-failures database) — except here there is no policy decline at all. The GitHub write (issue [PR Triage Report] PR triage report - 2026-10-04 #65453, discussion [Auto-Triage] Auto-Triage Issues Report #65451) succeeded cleanly and is visible with a real URL, yet the job still reports failure. This is harder to explain by the existing root cause alone and may point to a distinct bug — plausibly a post-write validation or ledger-recording step failing silently and poisoning the overall step's exit code (notably, this is the same day the new ledger subsystem above was also observed failing).add_labelsvariant) to two more workflows (PR Triage Agent, and a new variant on Auto-Triage Issues), with no fix shipped in over 3 weeks since first confirmed.Root Cause Analysis
API-Related Issues
None observed today — 0 rate-limit, 0 authentication, 0 permission-error signatures.
Data Validation / Parsing Issues
None observed — both Cluster 2 failures show the agent's output was parsed and processed correctly (the single configured item was created); the failure is downstream of successful processing.
Permission Issues
None confirmed today. The historically dominant
approve_workflow_runfork-PR PAT-permission-gap pattern did not recur.Other Issues — new ledger subsystem
See Cluster 1. This is infrastructure-level (a new git-based ledger reconciliation job), not a credential or permission issue as far as the available evidence shows.
Evidence Gap (process issue, not a code bug)
For all 4 failures, a fresh
agenticworkflows logspull withartifacts:["all"]returned only grader-inferredfailure_kind/classificationfields (agent_logic,driver_exit) — no raw stderr/console text was present in the exported bundle. This is the same gap flagged in roughly 5 of the last 8 historical audits, and it continues to block confident root-causing from this monitor alone.Recommendations
Critical Issues (Immediate Action Required)
push_ledger_changesfor empty/near-empty transaction setstransactions_added == 0(or the agent job never produced output), skip/no-op the reconcile-and-push step rather than attempting and failing itBug Fixes Required
process_safe_outputs.cjsor equivalent, per historical naming) — same family as the already-tracked protected-files/allowed-files miscategorization, but this variant has no policy decline to explain itfailureeven thoughcreated_itemsshows the sole configured item was created successfully with a real URLsafe_outputsacross PR Triage Agent, Auto-Triage Issues (now 4 workflows total including PR Sous Chef)Configuration Changes
None identified this cycle — no rate-limit, credential, or firewall-policy configuration issues observed.
Process Improvements
Restore the daily audit cadence
Capture raw stderr/console text in exported log bundles
agenticworkflows logswithartifacts:["all"]returns only structured grader metadata (failure_kind,classification) for job-level failures, never the actual error messagesafe-output-errors.jsonfile, referenced in several historical audits) in the exported bundleWork Item Plans
Work Item 1: Harden ledger reconciliation for empty transaction sets
push_ledger_changes's "Reconcile and push ledger changes" step fails when the run produced zero (or effectively zero, due to an upstream agent-job crash) safe-output transactions. Observed in 2 of 3 total executions of this new job in the last 24h.Work Item 2: Decouple safe-output item success from downstream ledger/validation step failures
safe_outputsjobs for PR Triage Agent and Auto-Triage Issues reportedconclusion: failureeven though their sole configured item (an issue, a discussion) was created successfully and appears increated_itemswith a working URL. This generalizes a previously workflow-specific "partial-success-still-fails" pattern (PR Sous Chef, Auto-Triage Issues' earlieradd_labelsvariant) to two more workflows.Work Item 3: Add raw error text to exported log artifacts
agenticworkflows logsMCP tool'sartifacts:["all"]option does not currently surface raw stderr/console text for failed jobs, only grader-inferredfailure_kind/classification. This has blocked confident root-causing in ~5 of the last 8 safe-output-health audits, including all 4 failures analyzed today.Historical Context
Compared with the last recorded audit (2026-09-23: 212 runs, 6 failures, 97.17% success — the worst day on record at the time), today's 268-run window shows a similar overall failure count (4) and a slightly better success rate (97.96%), but the comparison is not a clean trend line given the 11-day gap. More notably:
add_labels-beside-create_discussion, Smoke Copilot partial-tool-failures, PR Sous Chef review-thread failures) — all those workflows ran clean this cycle.approve_workflow_runprotected-files decline, 13+ occurrences through 2026-09-22) did not occur even once today.Trends
Metrics and KPIs
add_comment,create_pull_request,add_labels,push_to_pull_request_branch— 100% success on all observed executions todaypush_ledger_changesjob (2 of 3 executions failed) — small sample, flagged for close watching rather than as a confirmed systemic failure rateNext Steps
push_ledger_changeson empty/zero-transaction runs (Work Item 1)safe_outputsjob's exit code for otherwise-successful item creation (Work Item 2)agenticworkflows logsartifact exports (Work Item 3)All reactions