Bug Report
Summary
The safe outputs MCP server accepts tools/call requests and returns {"result":"success"} to the agent, but never persists items to outputs.jsonl. This causes agent_output.json to be {"items":[]}, which means downstream jobs (safe_outputs, custom safe-output jobs like slack_handoff_notify) have nothing to process.
Reproduction
Evidence
-
Agent called both safe output tools successfully:
create_discussion at 13:43:37Z → response: {"result":"success"}
slack_handoff_notify at 13:43:47Z → response: {"result":"success"}
-
MCP Gateway confirmed healthy:
safeoutputs server: 2 requests, 2 tool calls, 0 errors, 0% error rate
-
But outputs were never persisted:
safe-output-items.jsonl = 0 bytes (empty)
agent_output.json = {"items":[]}
safe_outputs job had nothing to process
slack_handoff_notify job was skipped (contains(needs.agent.outputs.output_types, 'slack_handoff_notify') = false)
-
RPC messages confirm full payloads were sent:
create_discussion payload included title + full markdown body (~76KB)
slack_handoff_notify payload included channel, handles, discussion_title, target_repo, week_of
- Both received proper
{"result":"success"} responses from the HTTP MCP backend
-
All 8 prior weekly runs (Feb 5 - Mar 26) worked correctly — they all had 1-2 items in agent_output.json
Impact
- Discussion was never created in the target repo
- Slack notification was never sent
- Workflow reported
conclusion: success despite producing no output
- Required manual mitigation (GraphQL discussion creation + direct Slack API call)
Expected Behavior
Items passed to the safe outputs MCP server via tools/call should be persisted to outputs.jsonl so that downstream jobs can process them.
Workaround
Pinned back to v0.65.4 via gh aw compile oncall-handoff-notes --action-tag v0.65.4 as a mitigation.
Bug Report
Summary
The safe outputs MCP server accepts
tools/callrequests and returns{"result":"success"}to the agent, but never persists items tooutputs.jsonl. This causesagent_output.jsonto be{"items":[]}, which means downstream jobs (safe_outputs, custom safe-output jobs likeslack_handoff_notify) have nothing to process.Reproduction
oncall-handoff-notes(schedule trigger,claude-opus-4.6)github/gh-aw-actions/setup@15b2fa31e9a1b771c9773c162273924d8f5ea516)Evidence
Agent called both safe output tools successfully:
create_discussionat13:43:37Z→ response:{"result":"success"}slack_handoff_notifyat13:43:47Z→ response:{"result":"success"}MCP Gateway confirmed healthy:
safeoutputsserver: 2 requests, 2 tool calls, 0 errors, 0% error rateBut outputs were never persisted:
safe-output-items.jsonl= 0 bytes (empty)agent_output.json={"items":[]}safe_outputsjob had nothing to processslack_handoff_notifyjob was skipped (contains(needs.agent.outputs.output_types, 'slack_handoff_notify')= false)RPC messages confirm full payloads were sent:
create_discussionpayload included title + full markdown body (~76KB)slack_handoff_notifypayload included channel, handles, discussion_title, target_repo, week_of{"result":"success"}responses from the HTTP MCP backendAll 8 prior weekly runs (Feb 5 - Mar 26) worked correctly — they all had 1-2 items in
agent_output.jsonImpact
conclusion: successdespite producing no outputExpected Behavior
Items passed to the safe outputs MCP server via
tools/callshould be persisted tooutputs.jsonlso that downstream jobs can process them.Workaround
Pinned back to
v0.65.4viagh aw compile oncall-handoff-notes --action-tag v0.65.4as a mitigation.