Make set_issue_field resolve the issue created earlier in the same safe-output batch — Smoke Codex's safe_outputs job hard-fails when it cannot. A set_issue_field message that follows a create_issue in the same run dies with "No issue number available", turning the whole job red even though the agent succeeded.
Parent report: #39883 (6h failure investigation).
Problem statement
The safe_outputs job of Smoke Codex fails at the Process Safe Outputs step while the agent job succeeds. The agent emits four safe outputs in order — create_issue (1/4), set_issue_field (2/4), add_comment (3/4), comment_memory (4/4). Message 2 (set_issue_field) is rejected because it carries no resolvable issue target, so the processor fails the message and marks the job failure.
Affected workflow and run IDs
| Workflow |
Run |
Result |
Failing job/step |
| Smoke Codex |
§27892632179 |
failure |
safe_outputs → Process Safe Outputs |
- Branch:
copilot/update-conclusion-job-aggregate-data; event: pull_request.
- Agent job conclusion: success (361k tokens). Failure isolated to safe-output processing.
Evidence (job log 1_safe_outputs.txt)
Processing message 1/4: create_issue
Processing message 2/4: set_issue_field
##[error]✗ Message 2 (set_issue_field) failed: No issue number available
##[warning]1 message(s) failed to process
##[error]1 safe output(s) failed: → job conclusion failure.
Probable root cause
set_issue_field (message 2) targets the issue created by create_issue (message 1), but no issue number is in scope at processing time: the agent did not link the two via a temporary_id, and the processor has no fallback to the just-created issue. Result: the field update cannot bind to a target and the message — and the job — fail.
Proposed remediation (pick one or both)
- Product: Have
set_issue_field resolve a same-batch create_issue target by temporary_id (the canonical #aw_... cross-reference), and reject unbound set_issue_field at emit time with an actionable message instead of failing late in Process Safe Outputs.
- Smoke prompt: Update
smoke-codex.md so the conformance step links set_issue_field to the created issue via temporary_id, exercising the supported contract.
Success criteria / verification
- Smoke Codex
safe_outputs job is green: set_issue_field either applies to the intended issue or is rejected at emit time with a clear contract error.
- A regression test covers
create_issue → set_issue_field linked by temporary_id in one batch.
References
Generated by 🔍 [aw] Failure Investigator (6h) · 321.2 AIC · ⌖ 14.2 AIC · ⊞ 4.9K · ◷
Make
set_issue_fieldresolve the issue created earlier in the same safe-output batch — Smoke Codex'ssafe_outputsjob hard-fails when it cannot. Aset_issue_fieldmessage that follows acreate_issuein the same run dies with "No issue number available", turning the whole job red even though the agent succeeded.Parent report: #39883 (6h failure investigation).
Problem statement
The
safe_outputsjob of Smoke Codex fails at the Process Safe Outputs step while the agent job succeeds. The agent emits four safe outputs in order —create_issue(1/4),set_issue_field(2/4),add_comment(3/4),comment_memory(4/4). Message 2 (set_issue_field) is rejected because it carries no resolvable issue target, so the processor fails the message and marks the jobfailure.Affected workflow and run IDs
safe_outputs→ Process Safe Outputscopilot/update-conclusion-job-aggregate-data; event:pull_request.Evidence (job log
1_safe_outputs.txt)Processing message 1/4: create_issueProcessing message 2/4: set_issue_field##[error]✗ Message 2 (set_issue_field) failed: No issue number available##[warning]1 message(s) failed to process##[error]1 safe output(s) failed:→ job conclusionfailure.Probable root cause
set_issue_field(message 2) targets the issue created bycreate_issue(message 1), but no issue number is in scope at processing time: the agent did not link the two via atemporary_id, and the processor has no fallback to the just-created issue. Result: the field update cannot bind to a target and the message — and the job — fail.Proposed remediation (pick one or both)
set_issue_fieldresolve a same-batchcreate_issuetarget bytemporary_id(the canonical#aw_...cross-reference), and reject unboundset_issue_fieldat emit time with an actionable message instead of failing late in Process Safe Outputs.smoke-codex.mdso the conformance step linksset_issue_fieldto the created issue viatemporary_id, exercising the supported contract.Success criteria / verification
safe_outputsjob is green:set_issue_fieldeither applies to the intended issue or is rejected at emit time with a clear contract error.create_issue→set_issue_fieldlinked bytemporary_idin one batch.References
Related to [aw-failures] [aw] Failure Investigation Report — 6h window (2026-06-17 19:34 UTC) #39883