Skip to content

fix(adapters): preserve long tool names across Chat Completions - #195

Merged
MisterWanted merged 1 commit into
mainfrom
fix/tool-wire-rescue-20260906
Sep 8, 2026
Merged

fix(adapters): preserve long tool names across Chat Completions#195
MisterWanted merged 1 commit into
mainfrom
fix/tool-wire-rescue-20260906

Conversation

@MisterWanted

Copy link
Copy Markdown
Contributor

Summary

  • Rescue the unlanded tool-wire-name-limit intent onto current main without changing the original dirty worktree.
  • Add a request-local reversible codec for Chat Completions function names: 64 ASCII characters, collision-safe aliases, stable declaration/choice/history mapping, and restoration for JSON and streamed tool calls.
  • Preserve original call IDs, arguments, namespaces and all already-valid names. Add boundary, collision, orphan-history, parallel-call and round-trip regressions plus adapter documentation.

Verification

  • bun test tests/adapter-usage.test.ts tests/openai-chat*.test.ts: 97 passed, 0 failed, 382 assertions.
  • bun run typecheck, bun run privacy:scan, git diff --check: passed.
  • cd docs-site && bun install --frozen-lockfile && bun run build: passed, 156 pages.
  • Full bun run test: NOT GREEN. Repository watchdog ended both seven-minute attempts (841 seconds total, exit 137) on a heavily contended eight-thread host. The old orphan-alias assertion was fixed with round-trip coverage; unrelated stream/timing failures and catalog/desktop timeouts are not claimed resolved. A main-runtime baseline is being checked separately.
  • Draft intentionally requests remote exact-head CI; no merge or deployment readiness claimed. Duplicate local pre-push execution was skipped for this task-branch upload after the above recorded checks, not a merge-check waiver.

Linear

  • Issue: GRO2-1560 — existing OpenCodex release-convergence campaign.

Checklist

  • Scope stays focused and preserves unrelated work.
  • Adapter documentation updated and built.
  • Full exact-head CI and independent maintainer approval complete.

Use one request-local reversible codec for declarations, forced choice and history. Reserve conforming names and resolve alias collisions with salted SHA-256 suffixes. Restore original names in JSON and streaming responses without changing call IDs or arguments.
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: 5022d2f4-3954-43ba-970d-78cee91020a5

📥 Commits

Reviewing files that changed from the base of the PR and between 1e07891 and e2ef5bc.

📒 Files selected for processing (5)
  • docs-site/src/content/docs/reference/adapters.md
  • src/adapters/openai-chat-tool-names.ts
  • src/adapters/openai-chat.ts
  • tests/adapter-usage.test.ts
  • tests/openai-chat-tool-names.test.ts

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.

@github-actions github-actions Bot added the bug label Sep 6, 2026
@MisterWanted
MisterWanted marked this pull request as ready for review September 8, 2026 00:11
@MisterWanted
MisterWanted merged commit ba49ed5 into main Sep 8, 2026
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant