[safe-output-health] π₯ Safe Output Health Report β 2026-07-23 #47473
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Safe Output Health Monitor. A newer discussion is available at Discussion #47712. |
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.
Executive Summary
safe_outputsjob conclusion read directly fromjob_details[]in the pre-bundledrun_summary.json)The clean streak of 07-21 / 07-22 broke again on this write-rich window β the same 2-in-scope-failure shape as 07-20. Both failures are isolated and family-consistent; the vast majority of the fleet actuated cleanly.
Safe Output Job Statistics
Process Safe OutputsstepCheck daily workflow token guardrail), job never executed β out of scope, excluded from denominatorSafe-output item types in the two failed runs:
create_pull_request_review_commentΓ3,update_pull_requestΓ2,add_commentΓ2,create_issueΓ1.Error Clusters
Cluster 1 β Review-comment actuation hard-fail (HIGH) Β·
review_path_unresolved_422pull_request, branchlinter-miner/stringbytesroundtrip-c93b0c9cf4ee201bcreate_pull_request_review_comment,safe_outputsjob = failure atProcess Safe Outputs422 "Path/Line could not be resolved"where the body-only fallback atpr_review_buffer.cjs:554did not rescue the submission. Siblingtarget_star_review_comment_no_pr_number_fallbackis also possible.Why the exact variant is unconfirmed
The
Process Safe Outputsstep stdout/stderr is not pre-bundled in the run artifacts,jqis sandbox-blocked from reading/tmp, and theagenticworkflows logsCLI timed out at 300s. Root cause is therefore inferred from the safe-output item type + trigger context + family history, not read directly. This is the recurring observability gap flagged below.Cluster 2 β Scheduled-run target resolution hard-fail (MEDIUM, production) Β· target-resolution family
schedule, branchmainupdate_pull_request, 2Γadd_comment, 1Γcreate_issue,safe_outputsjob = failure atProcess Safe Outputsadd_comment/update_pull_requestitems that must resolve a target PR hard-fail on scheduled runs unless each item carries an explicit resolvablepull_request_numberβ the same soft-skip-vs-hard-fail handler inconsistency tracked intarget_star_add_comment_no_item_number_fallbackandupdate_issue_target_triggering_default_hardfails_scheduled_run.Root Cause Analysis
422review-submission family; Cluster 2 is a target-resolution failure on a context-less scheduled run. No auth, rate-limit, or firewall issues (0 blocked requests in both).Recommendations
Critical / High
Process Safe Outputsstep stdout/stderr on failure β Priority: High. This is now the 5th+ class of in-scope JOB-layer failure whose exact error cannot be read from the pre-bundled artifacts, and thelogsCLI timed out. Without it, both of today's failures (and the 07-20 pair) can only be family-attributed, not root-caused. This unblocks every other fix below.pr_review_buffer.cjs:554Path-variant predicate fix β Priority: High. Change the fallback predicate to(errorMessage.includes("Line could not be resolved") || errorMessage.includes("Path could not be resolved")) && comments.length > 0, and add apr_review_buffer.test.cjscase mirroring the existing "Line" test with "Path". The review-comment path has now hard-failed in production twice in 4 days (07-20, 07-23); the one-line fix has been the rejig docsΒ #1 outstanding remediation for 55 audits and should be applied pre-emptively rather than waiting for a confirmable 422.Medium
add_comment/update_pull_requeston scheduled runs β when no PR/issue number is resolvable, soft-skip (β) with a clear message rather than a##[error]that fails the whole job, matchingcreate_pull_request_review_commentbehavior. Alternatively, PR Sous Chef should attach explicitpull_request_numberto eachadd_comment/update_pull_requestitem (it operates cross-PR on a schedule).Work Item Plans
Work Item 1 β Pre-bundle Process Safe Outputs step log on failure
safe_outputsjob failure, theProcess Safe Outputsstep stdout/stderr is uploaded as a run artifact and readable by the audit tooling.Work Item 2 β Path-variant review-comment fallback fix + regression test
actions/setup/js/pr_review_buffer.cjs:554(+pr_review_buffer.test.cjs)"Line could not be resolved"and"Path could not be resolved"422s enter the body-only fallback; new unit test locks in dual-variant matching.Work Item 3 β Scheduled-run target-resolution: soft-skip parity
add_comment/update_pull_requestwith unresolvable target on schedule/dispatch runs soft-skip (β) instead of hard-failing the job; OR PR Sous Chef supplies explicitpull_request_numberper item.Historical Context & Trends
pr_review_buffer.cjs:554Path-variant fix remains UNVALIDATED for the 55th consecutive audit.patch-format:bundlebundle-transport (push_to_pull_request_branch) β absent/not-actuating ~27 days since 2026-06-26; still the highest-priority open production signature, unvalidated.KPIs
create_pull_request_review_comment(review submission 422 family)Process Safe Outputsstep with agent job success (resilient handoff held everywhere else)Next Steps
patch-format:bundleactuation to finally exercise that signatureReferences:
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpgSee Network Configuration for more information.
All reactions