Fix the safe-outputs update_issue handler: a target:"triggering" resolution miss on a scheduled run must be a soft-skip, not a job-failing ##[error]. LintMonster's agent succeeded and created issue #39481 + discussion #39482, yet the safe_outputs job went red and auto-filed nothing actionable. This is a false-failure, not an outage.
Affected workflow & run
Root cause
The agent emitted 3 update_issue messages with target:"triggering" while running under a scheduled trigger that has no issue context. The handler logs a warning ("skipping update_issue") but then also records each as a failed message and core.setFaileds the job:
Processing message 1/6: update_issue
##[warning]Target is "triggering" but not running in issue context, skipping update_issue
##[error]✗ Message 1 (update_issue) failed: Target is "triggering" but not running in issue context, skipping update_issue
...
=== Processing Summary === Total: 6 Successful: 2 Failed: 3 Cancelled (code push failed): 1
##[error]3 safe output(s) failed:
The wording is self-contradictory: "skipping" implies a no-op, but the same outcome is counted as a hard failure. create_issue #39481 and create_discussion #39482 succeeded in the same run.
audit-diff vs nearest successful baseline (§27522679098): zero firewall anomalies, posture read_only unchanged, 0 blocked requests. This is not infra/MCP/network drift — it is purely safe-outputs message handling.
Secondary contributing signals (same run)
GH_AW_DETECTION_REASON=parse_error, GH_AW_DETECTION_CONCLUSION=warning → threat-detection warn policy (WTD3) aborted the assign_to_agent message.
- "1 message(s) were cancelled because a code push operation failed" — a
push_to_pull_request_branch/code-push message was cancelled.
These are independent of the primary update_issue escalation but worth noting; the 3 update_issue errors are what turned the job red.
Probable fix (pick one or both)
- Handler: When
target:"triggering" cannot resolve to an issue in a scheduled/non-issue context, treat update_issue as a skipped/no-op (warning only) and exclude it from the failed-message count, instead of core.setFailed. Align the log with the behavior.
- Workflow config: If LintMonster legitimately needs to update a known issue on schedule, set
update-issue: target: '*' and have the agent pass an explicit issue_number; otherwise remove the update_issue capability from a schedule-only report workflow so the agent stops emitting it.
Success criteria / verification
- A scheduled LintMonster run that emits
update_issue with unresolvable target:"triggering" ends with safe_outputs green when all other messages succeed.
- The "skipping update_issue" path no longer increments the failed-message counter or calls
core.setFailed.
- Next scheduled LintMonster run (03:44 UTC) completes with conclusion
success.
Evidence run IDs
Generated by 🔍 [aw] Failure Investigator (6h) · 263.8 AIC · ⌖ 12.1 AIC · ⊞ 4.5K · ◷
Fix the safe-outputs
update_issuehandler: atarget:"triggering"resolution miss on a scheduled run must be a soft-skip, not a job-failing##[error]. LintMonster's agent succeeded and created issue #39481 + discussion #39482, yet thesafe_outputsjob went red and auto-filed nothing actionable. This is a false-failure, not an outage.Affected workflow & run
.github/workflows/lint-monster.lock.yml),scheduleeventsafe_outputsjob, step "Process Safe Outputs"create_issue[lint-monster] Optimize Set Usage: map[string]bool → map[string]struct{} (187 findings) #39481 andcreate_discussion[lint-monster] 🧌 LintMonster Daily Report — 2026-06-16 #39482 both completedRoot cause
The agent emitted 3
update_issuemessages withtarget:"triggering"while running under a scheduled trigger that has no issue context. The handler logs a warning ("skipping update_issue") but then also records each as a failed message andcore.setFaileds the job:The wording is self-contradictory: "skipping" implies a no-op, but the same outcome is counted as a hard failure.
create_issue#39481 andcreate_discussion#39482 succeeded in the same run.audit-diff vs nearest successful baseline (§27522679098): zero firewall anomalies, posture
read_onlyunchanged, 0 blocked requests. This is not infra/MCP/network drift — it is purely safe-outputs message handling.Secondary contributing signals (same run)
GH_AW_DETECTION_REASON=parse_error,GH_AW_DETECTION_CONCLUSION=warning→ threat-detection warn policy (WTD3) aborted theassign_to_agentmessage.push_to_pull_request_branch/code-push message was cancelled.These are independent of the primary
update_issueescalation but worth noting; the 3update_issueerrors are what turned the job red.Probable fix (pick one or both)
target:"triggering"cannot resolve to an issue in a scheduled/non-issue context, treatupdate_issueas a skipped/no-op (warning only) and exclude it from the failed-message count, instead ofcore.setFailed. Align the log with the behavior.update-issue: target: '*'and have the agent pass an explicitissue_number; otherwise remove theupdate_issuecapability from a schedule-only report workflow so the agent stops emitting it.Success criteria / verification
update_issuewith unresolvabletarget:"triggering"ends withsafe_outputsgreen when all other messages succeed.core.setFailed.success.Evidence run IDs
Related to Workflow Health Manager - Meta-Orchestrator - Issue Group #29109