Skip to content

fix: make set_issue_field non-fatal and fix smoke-codex field discovery#47553

Closed
pelikhan with Copilot wants to merge 4 commits into
mainfrom
copilot/aw-fix-set-issue-field
Closed

fix: make set_issue_field non-fatal and fix smoke-codex field discovery#47553
pelikhan with Copilot wants to merge 4 commits into
mainfrom
copilot/aw-fix-set-issue-field

Conversation

Copilot AI commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Smoke Codex's safe_outputs job was failing because the Codex agent guessed Status as the field name for set_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.cjsset_issue_field is now report-only

Added set_issue_field to REPORT_ONLY_FAILURE_TYPES alongside assign_to_agent and upload_artifact. Project-board fields can drift (renamed/removed); a bad field write now surfaces as a warning rather than failing the safe_outputs job.

const REPORT_ONLY_FAILURE_TYPES = new Set(["assign_to_agent", "upload_artifact", "set_issue_field"]);

smoke-codex.md — explicit field discovery before set_issue_field

Step 10 previously said "discover available fields and choose one" with no instruction on how — in gh-proxy mode there is no GitHub MCP server, so the agent fell back to guessing. Now the step explicitly runs a gh api graphql command to list real available fields before picking one:

OWNER="${GITHUB_REPOSITORY%%/*}" && REPO="${GITHUB_REPOSITORY##*/}" && gh api graphql \
  -f query='query($owner:String!,$repo:String!){repository(owner:$owner,name:$repo){issueFields(first:20){nodes{...}}}}' \
  -f owner="$OWNER" -f repo="$REPO"

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_field report-only behavior: active failures are non-fatal, skipped/cancelled results are excluded, and partitionFailureResults routes them to reportOnlyFailures rather than fatalFailures.


Generated by 👨‍🍳 PR Sous Chef · gpt54 19.7 AIC · ⌖ 8.4 AIC · ⊞ 7K ·
Comment /souschef to run again


Generated by 👨‍🍳 PR Sous Chef · gpt54 18.9 AIC · ⌖ 6.99 AIC · ⊞ 7K ·
Comment /souschef to run again

- 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>
Copilot AI changed the title [WIP] Fix set_issue_field to target existing project field fix: make set_issue_field non-fatal and fix smoke-codex field discovery Jul 23, 2026
Copilot AI requested a review from pelikhan July 23, 2026 11:45
@pelikhan
pelikhan marked this pull request as ready for review July 23, 2026 11:47
Copilot AI review requested due to automatic review settings July 23, 2026 11:47

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Makes issue-field failures non-fatal and improves Smoke Codex field discovery.

Changes:

  • Classifies set_issue_field failures 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

Comment thread actions/setup/js/safe_output_handler_manager.cjs
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please run the pr-finisher skill, address unresolved review comments, and rerun checks once the branch is up to date.

Unresolved review threads (newest first):

Generated by 👨‍🍳 PR Sous Chef · gpt54 19.7 AIC · ⌖ 8.4 AIC · ⊞ 7K ·
Comment /souschef to run again

…ported only)' in summary

Co-authored-by: gh-aw-bot <259018956+gh-aw-bot@users.noreply.github.com>
Copilot AI requested a review from gh-aw-bot July 23, 2026 12:10
@pelikhan pelikhan closed this Jul 23, 2026
@gh-aw-bot

Copy link
Copy Markdown
Collaborator

@copilot please run the pr-finisher skill, resolve the remaining unresolved review thread, and rerun checks once the branch is up to date.

Unresolved review threads (newest first):

Generated by 👨🍳 PR Sous Chef

Generated by 👨‍🍳 PR Sous Chef · gpt54 18.9 AIC · ⌖ 6.99 AIC · ⊞ 7K ·
Comment /souschef to run again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

4 participants