Skip to content

Add recovery guidance to content-filter retries - #49119

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ba0c201b3a5a3acf5cfa971332027240e0690225
Sep 29, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/ba0c201b3a5a3acf5cfa971332027240e0690225

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Add recovery guidance to content-filter retries

Why

Responses stopped by content_filter previously followed generic stream-error retry handling without guidance about the block. Retried requests need instructions to explain the limitation and offer a permitted alternative.

What changed

  • Recognize content-filter failures as a distinct error while preserving retryability and the existing public error representation.
  • Append developer guidance to the conversation after each sampling block, retaining delivered output and using the existing retry handling.
  • Support a model catalog override through model_messages.content_filter_guidance. Missing, null, blank, or values exceeding 512 UTF-8 bytes fall back to bundled guidance.
  • The bundled guidance tells the model to avoid reproducing or working around blocked content, briefly explain the limitation, offer a permitted alternative, and continue unrelated authorized work.

Testing

Add a scenario and request-history snapshot covering repeated blocks, catalog guidance on each retry, retained partial output, and eventual completion. Add error-mapping assertions for retryability, public error classification, and error text.

## Why

Responses stopped by `content_filter` previously followed generic stream-error retry handling without guidance about the block. Retried requests need instructions to explain the limitation and offer a permitted alternative.

## What changed

- Recognize content-filter failures as a distinct error while preserving retryability and the existing public error representation.
- Append developer guidance to the conversation after each sampling block, retaining delivered output and using the existing retry handling.
- Support a model catalog override through `model_messages.content_filter_guidance`. Missing, null, blank, or values exceeding 512 UTF-8 bytes fall back to bundled guidance.
- The bundled guidance tells the model to avoid reproducing or working around blocked content, briefly explain the limitation, offer a permitted alternative, and continue unrelated authorized work.

## Testing

Add a scenario and request-history snapshot covering repeated blocks, catalog guidance on each retry, retained partial output, and eventual completion. Add error-mapping assertions for retryability, public error classification, and error text.

GitOrigin-RevId: ba0c201b3a5a3acf5cfa971332027240e0690225
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/ba0c201b3a5a3acf5cfa971332027240e0690225 branch from ff614f0 to 8bd5a13 Compare September 29, 2026 01:14
@copyberry
copyberry Bot merged commit 8bd5a13 into main Sep 29, 2026
1 check passed
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/ba0c201b3a5a3acf5cfa971332027240e0690225 branch September 29, 2026 01:14
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 29, 2026

This branch was previously deployed

1 inactive deployment
issue-triage — 8bd5a136 Deployed Sep 29, 2026 by Mht0421 via Identify potential duplicates (all issues) #49597
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants