Skip to content

fix(api): treat empty-string optional numeric/boolean controls as omit - #572

Merged
seonghobae merged 7 commits into
feat/reasoning-effort-none-store-stream-empty-noop-http-honesty-20260814114817from
feat/empty-string-numeric-controls-noop-http-honesty-20260814115859
Aug 16, 2026
Merged

fix(api): treat empty-string optional numeric/boolean controls as omit#572
seonghobae merged 7 commits into
feat/reasoning-effort-none-store-stream-empty-noop-http-honesty-20260814114817from
feat/empty-string-numeric-controls-noop-http-honesty-20260814115859

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Summary

  • Empty/whitespace-string optional numeric and boolean controls are treat-as-omit on chat Completions, Completions, Responses, and embeddings (temperature, top_p, token budgets, penalties, n, seed, logprobs, parallel_tool_calls, include_orchestration_trace, echo, best_of, dimensions, max_output_tokens, Responses stream).
  • Whitespace-only stop arrays are omit-equivalent.
  • Non-empty invalid string values still fail closed with named errors.
  • Tip substrate from fix(api): consolidate OpenAI API honesty and multimodal contracts #565. Local full unit: 917 passed.

Test plan

  • pytest tests/test_empty_string_numeric_controls_noop_http_honesty.py
  • pytest tests -q (917 passed) — evidence under implementer/evidence/pytest-566-full.log
  • CI Full unit + Semgrep product gates

Product gates only: Full unit + Semgrep (Strix ignored). Independent non-author APPROVE still required.

SDK clients may stringify omitted optionals as empty strings. Treat
empty/whitespace temperature, top_p, max_tokens, max_completion_tokens,
penalties, n, seed, logprobs, parallel_tool_calls, include_orchestration_trace,
echo, best_of, dimensions, max_output_tokens, and responses stream as omit.
Whitespace-only stop arrays are also omit. Local full unit: 917 passed.
@seonghobae
seonghobae enabled auto-merge (squash) August 16, 2026 10:10
@coderabbitai

coderabbitai Bot commented Aug 16, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 6a039c81-cf2c-411e-854d-c74fb3664ff0

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae
seonghobae changed the base branch from main to feat/reasoning-effort-none-store-stream-empty-noop-http-honesty-20260814114817 August 16, 2026 10:28
@seonghobae
seonghobae merged commit ff21ba7 into feat/reasoning-effort-none-store-stream-empty-noop-http-honesty-20260814114817 Aug 16, 2026
1 check passed
@seonghobae
seonghobae deleted the feat/empty-string-numeric-controls-noop-http-honesty-20260814115859 branch August 16, 2026 10:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant