Skip to content

fix(api)!: declare required local shell output call IDs - #1044

Merged
markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-130
Sep 21, 2026
Merged

markstuart-oai merged 1 commit into
mainfrom
castiron/promotions/pr-130

Conversation

@markstuart-oai

@markstuart-oai markstuart-oai commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Historical local-shell output models now expose required callId separately from the output item id. Supply callId when constructing these items; id and output remain required, and historical call IDs gain no length restriction.

The API reference also removes the phantom request_id requirement from MCP approval objects while preserving their real correlation fields and returned IDs.

Validation: seven actual builder checks, 38 schema checks and the focused fixture under normal and Jackson compatibility tests pass. CI passes lint, build, tests, API/Jackson compatibility, and Java 8/25 runtime compatibility.

BEGIN_COMMIT_OVERRIDE
ci(release): omit fully reverted unreleased change (#1044)
END_COMMIT_OVERRIDE

Castiron-Internal-PR: openai/openai-java-internal#130
Castiron-Source-SHA: d5f87525b8030862f14bdfa3df8bdd1df6e52b53
Castiron-Public-Base-SHA: d2969f8
@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Castiron custom code

✅ No new custom-code files detected.

83 mixed files remain; 0 existing customizations changed; 1 generated baselines changed.

Compared d2969f8efd58 → c0c2353448fd. Generated baselines verified.

File Result Current custom patch
openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseInputItem.kt Generated baseline changed +9 / −0
82 existing customizations unchanged
  • openai-java-core/src/main/kotlin/com/openai/models/audio/AudioResponseFormat.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuth.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthCreateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/agents/vaults/credentials/CredentialAuthRotateParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/beta/responses/BetaResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionMessageFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/chat/completions/ChatCompletionToolMessageParam.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/Embedding.kt
  • openai-java-core/src/main/kotlin/com/openai/models/embeddings/EmbeddingCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseCreateParams.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionToolCall.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseFunctionWebSearch.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseStreamEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponseTextConfig.kt
  • openai-java-core/src/main/kotlin/com/openai/models/responses/ResponsesServerEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/videos/Video.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/UnwrapWebhookEvent.kt
  • openai-java-core/src/main/kotlin/com/openai/models/webhooks/WebhookEndpointWithSecret.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/BetaServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/ResponseServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/WebhookServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/audio/TranscriptionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/beta/agents/SessionServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/beta/agents/SessionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/chat/ChatCompletionServiceAsync.kt
  • openai-java-core/src/main/kotlin/com/openai/services/async/finetuning/checkpoints/PermissionServiceAsyncImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/BetaServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/ResponseServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/WebhookServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/audio/TranscriptionServiceImpl.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/beta/agents/SessionService.kt
  • openai-java-core/src/main/kotlin/com/openai/services/blocking/beta/agents/SessionServiceImpl.kt

42 more in the full report.

A changed generated baseline means this report cannot reliably identify which handwritten lines changed.

Inspect the custom-code diff

Download the exact patch produced by this run (requires repository access):

gh run download 35565986319 --repo openai/openai-java \
  --name castiron-custom-code-35565986319-1 --dir /tmp/castiron-custom-code-35565986319-1
git apply --stat /tmp/castiron-custom-code-35565986319-1/custom-code.patch
cat /tmp/castiron-custom-code-35565986319-1/custom-code.patch

Or reproduce it from an SDK checkout containing the vendored reporter:

git fetch --no-tags origin d2969f8efd588e492d97ec41e892cd91e9906c59 c0c2353448fde71c1ea636e9155af6c2fd7bdf0e
python3 scripts/castiron/custom_code_report.py report \
  --base d2969f8efd588e492d97ec41e892cd91e9906c59 \
  --head c0c2353448fde71c1ea636e9155af6c2fd7bdf0e --fetch --require-head-hash --public \
  --out /tmp/castiron-custom-code-c0c2353448fd
cat /tmp/castiron-custom-code-c0c2353448fd/custom-code.patch

This is the current full custom patch for mixed files, not an attribution of only the handwritten lines changed by this PR.

Full report and patch

@markstuart-oai
markstuart-oai marked this pull request as ready for review September 21, 2026 05:48
@markstuart-oai
markstuart-oai requested a review from a team as a code owner September 21, 2026 05:48
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-21T05:50:12.465378Z c0c2353 Draft marked ready
🔒 Security Review ✅ Completed 2026-09-21T05:51:52.537857Z c0c2353 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@openai-sdks

openai-sdks Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

OkTest Summary

✅ 236/236 SDK tests passed in 16.986s for Java SDK PR #1044.

Test results — 42 files
Test Result Time
tests/chat-completions-complex-body.test.ts ✅ Passed 415ms
tests/chat-completions-create.test.ts ✅ Passed 893ms
tests/chat-completions-stream.test.ts ✅ Passed 702ms
tests/files-content-binary.test.ts ✅ Passed 301ms
tests/files-create-multipart.test.ts ✅ Passed 366ms
tests/files-list-pagination.test.ts ✅ Passed 461ms
tests/initialize-config.test.ts ✅ Passed 309ms
tests/instance-isolation.test.ts ✅ Passed 261ms
tests/models-list.test.ts ✅ Passed 238ms
tests/responses-background-lifecycle.test.ts ✅ Passed 320ms
tests/responses-body-method-errors.test.ts ✅ Passed 454ms
tests/responses-cancel-timeout.test.ts ✅ Passed 266ms
tests/responses-cancel.test.ts ✅ Passed 333ms
tests/responses-compact-retries.test.ts ✅ Passed 410ms
tests/responses-compact.test.ts ✅ Passed 249ms
tests/responses-create-advanced-stream.test.ts ✅ Passed 536ms
tests/responses-create-advanced.test.ts ✅ Passed 1.159s
tests/responses-create-disconnect.test.ts ✅ Passed 1.042s
tests/responses-create-errors.test.ts ✅ Passed 371ms
tests/responses-create-malformed-api-responses.test.ts ✅ Passed 271ms
tests/responses-create-retries.test.ts ✅ Passed 902ms
tests/responses-create-stream-failures.test.ts ✅ Passed 335ms
tests/responses-create-stream-timeout.test.ts ✅ Passed 283ms
tests/responses-create-stream-wire.test.ts ✅ Passed 6.154s
tests/responses-create-stream.test.ts ✅ Passed 147ms
tests/responses-create-terminal-states.test.ts ✅ Passed 432ms
tests/responses-create-timeout.test.ts ✅ Passed 226ms
tests/responses-create.test.ts ✅ Passed 258ms
tests/responses-delete.test.ts ✅ Passed 259ms
tests/responses-input-items-errors.test.ts ✅ Passed 269ms
tests/responses-input-items-list.test.ts ✅ Passed 292ms
tests/responses-input-items-options.test.ts ✅ Passed 535ms
tests/responses-input-tokens-count-timeout.test.ts ✅ Passed 249ms
tests/responses-input-tokens-count.test.ts ✅ Passed 447ms
tests/responses-malformed-inputs.test.ts ✅ Passed 5.066s
tests/responses-not-found-errors.test.ts ✅ Passed 444ms
tests/responses-parse.test.ts ✅ Passed 594ms
tests/responses-retrieve-retries.test.ts ✅ Passed 382ms
tests/responses-retrieve.test.ts ✅ Passed 409ms
tests/responses-stored-method-errors.test.ts ✅ Passed 1.081s
tests/retry-behavior.test.ts ✅ Passed 3.411s
tests/sdk-error-shape.test.ts ✅ Passed 357ms

View OkTest run #35565959983

SDK merge (4da36dd8499a) · head (c0c2353448fd) · base (d2969f8efd58) · OkTest (a0be4375e02d)

@markstuart-oai
markstuart-oai added this pull request to the merge queue Sep 21, 2026
Merged via the queue into main with commit 8d1aa39 Sep 21, 2026
16 checks passed
@openai-sdks openai-sdks Bot mentioned this pull request Sep 21, 2026
markstuart-oai added a commit that referenced this pull request Sep 21, 2026
…" (#1048)

Reverts #1044.

This reverts commit 8d1aa39.

The generated SDK changes merged before their source-of-truth changes.
This restores the preceding SDK definitions and generation metadata. The
resulting tracked tree exactly matches the reverted commit’s parent.

Validation: the complete patch is byte-for-byte the inverse of the named
commit. Version manifests and release configuration are unchanged. Local
test suites and new review rounds were not run for this urgent revert;
current-head CI will validate this PR.

CI diagnosis: [API
compatibility](https://github.com/openai/openai-java/actions/runs/35622435007/job/106411604513)
fails on 15 `callId` references in the external tests extracted from
base `8d1aa390a325d69b68dd4db060f5dfefb1385e81`. Every failing reference
was introduced by #1044. This revert's entire tracked tree equals
pre-promotion `d2969f8efd588e492d97ec41e892cd91e9906c59`; the new API is
deliberately absent. The required aggregate fails because this job
fails.

The existing workflow always executes the detector from the current PR
base and imports that base's tests. It has no supported
unreleased-revert baseline selection. Changing this PR's detector or
fixtures cannot override that trusted check. An explicit repository
policy for validating unreleased reverts against their verified
pre-promotion baseline is needed to reconcile this check with the
requested rollback. The gate remains failed; no API restoration, test
exclusion, forced-success status, retry, or version bump was used.
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.

2 participants