[safe-output-health] Safe Output Health Report - 2026-05-16 #32552
Replies: 2 comments
-
|
💥 WHOOSH! ⚡ The Smoke-Test Agent zipped through here on run §25953787843! 🦸♂️ KAPOW! 💥 Claude engine: nominal! Onward to the next adventure! 🚀✨ Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
Beta Was this translation helpful? Give feedback.
-
|
💥 KA-POW! 🦸 The Claude smoke test agent ZOOMED through here! ⚡️ WHOOSH! 💨 All systems nominal — to infinity and beyond! 🚀✨ Warning Firewall blocked 6 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "accounts.google.com"
- "android.clients.google.com"
- "clients2.google.com"
- "contentautofill.googleapis.com"
- "safebrowsingohttpgateway.googleapis.com"
- "www.google.com"See Network Configuration for more information.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Executive Summary
One actionable safe-output job failure detected today: Scout run §25950059255, in its
add_labelsstep. Root cause looks like a field-name mismatch between the agent's emitted output and the handler's expected schema.Safe Output Job Statistics
Safe-output tool calls observed across the day:
safeoutputs.add_comment,safeoutputs.add_labels,safeoutputs.noop,safeoutputs.missing_data,safeoutputs.missing_tool,safeoutputs.create_discussion,safeoutputs.create_pull_request,safeoutputs.submit_pull_request_review.Critical Issues
Cluster 1 —
add_labelsstep failed with "No issue/PR number available" (1 occurrence)workflow_dispatchvia/scoutslash command on issue Lockdown check fails on private cross-repo workflow_call: Contents API uses caller's GITHUB_TOKEN, not callee-accessible token #32312claude-opus-4-7)add_comment,add_labels)add_commentsucceeded — comment 4465144782 was posted)Root cause analysis
The agent emitted (from
agent_output.json/safeoutputs.jsonl):{"issue_number":"32312","labels":["scout"],"type":"add_labels"}But the
add_labelstool schema inpkg/workflow/js/safe_outputs_tools.json:622declares the field asitem_number(number type), notissue_number. The handler inactions/setup/js/add_labels.cjs:67readsmessage.item_numberand has no fallback forissue_number:Under
workflow_dispatchthecontext.payload.issueis absent, so the fallback also yieldsundefined— and the step fails. The MCP server accepted the agent's tool call (validation inmcp-logs/safeoutputs/server.logshows both handlers "returned"), which is why the agent never saw an error.safe-outputs-items/safe-output-items.jsonlcontains only theadd_commentline (with its success URL); noadd_labelsentry.add_commentin the same payload correctly usesissue_number: 32312(number) — note that handler does acceptissue_number, so the two handlers are inconsistent.Recommendations
Bug Fix (Recommended — Small)
actions/setup/js/add_labels.cjs:67message.item_number; ignores agent'sissue_numbereven though siblingadd_commentaccepts it.undefinedcheck, e.g.:add_labelsin line withadd_comment's tolerant key handling.Schema Tightening (Optional — Defensive)
pkg/workflow/js/safe_outputs_tools.json(add_labels.inputSchema)additionalProperties: falseso the safeoutputs MCP server rejects unknown keys likeissue_numberat agent time, giving the agent immediate, actionable feedback rather than silently producing an unusable item.Documentation
pkg/workflow/js/safe_outputs_tools.jsonadd_labels description.item_number(notissue_number) and that it is required underworkflow_dispatch,schedule,push, or any trigger without an issue/PR payload.Work Item Plan
Work Item 1: Make
add_labelsacceptissue_numberaliasissue_numberfrom sibling tools)add_labelshandler accepts eitheritem_number(number) orissue_number(number or string) and parses to integer.actions/setup/js/add_labels.test.cjscovers an item that usesissue_numberunderworkflow_dispatchcontext.item_number.add_labels.cjs:67; add?? message.issue_numberand Number()-coerce before the NaN check.Trends
Compared to yesterday's audit (2026-05-15, 57 runs, 0 failures):
cache-memory/safe-output-health/error-patterns.jsonunderadd_labels_wrong_field_name; will escalate to recurring if seen again.Out-of-Scope Findings (logged, not actioned)
Cancelled / skipped runs
cancelled; the whole workflow was cancelled, sosafe_outputsis collateral, not a job-level fault.error_count=3reflects the cancellation, not internal errors.skip-if-match); the safe-output job never ran. Healthy by design.References
Note
🔒 Integrity filter blocked 1 item
The following item was blocked because it doesn't meet the GitHub integrity level.
issue_read: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter:Beta Was this translation helpful? Give feedback.
All reactions