fix: make set_issue_field non-fatal and fix smoke-codex field discovery#47553
Conversation
- Add `set_issue_field` to REPORT_ONLY_FAILURE_TYPES so project-board field drift (e.g. Status renamed/removed) warns instead of failing the entire safe_outputs job - Update smoke-codex step 10 to explicitly discover available fields via `gh api graphql` before choosing one, preventing the agent from guessing field names like "Status" that no longer exist - Recompile smoke-codex.lock.yml - Add tests for the new report-only behavior Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Makes issue-field failures non-fatal and improves Smoke Codex field discovery.
Changes:
- Classifies
set_issue_fieldfailures as report-only. - Adds coverage for failure partitioning.
- Queries available fields before selecting one.
Show a summary per file
| File | Description |
|---|---|
actions/setup/js/safe_output_handler_manager.cjs |
Adds report-only handling. |
actions/setup/js/safe_output_handler_manager.test.cjs |
Tests new behavior. |
.github/workflows/smoke-codex.md |
Adds explicit field discovery. |
.github/workflows/smoke-codex.lock.yml |
Updates generated metadata. |
Review details
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 4/4 changed files
- Comments generated: 1
- Review effort level: Medium
|
@copilot please run the Unresolved review threads (newest first):
|
…ported only)' in summary Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
|
@copilot please run the Unresolved review threads (newest first):
|
Smoke Codex's
safe_outputsjob was failing because the Codex agent guessedStatusas the field name forset_issue_field— a field no longer on the project board — causing the entire safe-outputs batch to exit non-zero even though the agent job succeeded.Changes
safe_output_handler_manager.cjs—set_issue_fieldis now report-onlyAdded
set_issue_fieldtoREPORT_ONLY_FAILURE_TYPESalongsideassign_to_agentandupload_artifact. Project-board fields can drift (renamed/removed); a bad field write now surfaces as a warning rather than failing the safe_outputs job.smoke-codex.md— explicit field discovery beforeset_issue_fieldStep 10 previously said "discover available fields and choose one" with no instruction on how — in
gh-proxymode there is no GitHub MCP server, so the agent fell back to guessing. Now the step explicitly runs agh api graphqlcommand to list real available fields before picking one:Date fields are preferred as the first choice (value format is always deterministic). If discovery fails or returns nothing, the test is reported as skipped.
Tests
Added three tests covering the new
set_issue_fieldreport-only behavior: active failures are non-fatal, skipped/cancelled results are excluded, andpartitionFailureResultsroutes them toreportOnlyFailuresrather thanfatalFailures.