Skip to content

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

Draft
MisterWanted wants to merge 1 commit into
mainfrom
fix/tool-wire-rescue-20260906
Draft

fix(adapters): preserve long tool names across Chat Completions#195
MisterWanted wants to merge 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

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

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.

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