Skip to content

[DYNAMO] wire TITO client to Dynamo nvext transport#2446

Draft
AmeenP wants to merge 4 commits into
feat/dynamo-renderer-transport-configfrom
codex/dynamo-tito-client-followup
Draft

[DYNAMO] wire TITO client to Dynamo nvext transport#2446
AmeenP wants to merge 4 commits into
feat/dynamo-renderer-transport-configfrom
codex/dynamo-tito-client-followup

Conversation

@AmeenP
Copy link
Copy Markdown
Contributor

@AmeenP AmeenP commented May 8, 2026

Summary

Ports the missing prime-rl client-side TITO wiring from Biswa's tested biswapanda/prime-rl@bis/prime-rl-merged branch on top of #2420 (feat/dynamo-renderer-transport-config).

Context

This pairs with the verifiers follow-up PR that teaches OpenAIChatCompletionsTokenClient to consume renderer_transport='dynamo_chat_nvext': PrimeIntellect-ai/verifiers#1313

Validation

  • uv lock --check
  • uvx ruff==0.13.0 check src/prime_rl/utils/client.py src/prime_rl/utils/elastic.py packages/prime-rl-configs/src/prime_rl/configs/shared.py tests/unit/utils/test_client.py tests/unit/utils/test_elastic.py
  • uvx ruff==0.13.0 format --check src/prime_rl/utils/client.py src/prime_rl/utils/elastic.py packages/prime-rl-configs/src/prime_rl/configs/shared.py tests/unit/utils/test_client.py tests/unit/utils/test_elastic.py
  • python -m py_compile src/prime_rl/utils/client.py src/prime_rl/utils/elastic.py packages/prime-rl-configs/src/prime_rl/configs/shared.py tests/unit/utils/test_client.py tests/unit/utils/test_elastic.py

Full pytest is left to Linux CI for this stack because the local checkout is macOS while the lockfile targets Linux environments.

@AmeenP AmeenP force-pushed the codex/dynamo-tito-client-followup branch from cfe5428 to 4a2503d Compare May 8, 2026 10:03
@AmeenP AmeenP force-pushed the feat/dynamo-renderer-transport-config branch from 9cad934 to 360f0c1 Compare May 8, 2026 10:03
@AmeenP AmeenP force-pushed the codex/dynamo-tito-client-followup branch from 4a2503d to 3f89cf5 Compare May 8, 2026 10:08
biswapanda and others added 4 commits May 8, 2026 03:13
setup_clients() previously only routed renderer-mode clients onto the
dynamo_chat_nvext wire shape when client.backend = "dynamo". The TITO
client (openai_chat_completions_token) was left on the legacy
prime_vllm_generate path, so it kept POSTing to /v1/chat/completions/
tokens and /tokenize -- both 404 on Dynamo bis/dynamo-rl, which forced
multi-turn TITO to silently degrade to MITO via the verifiers fallback.

Extend the selector to cover both token-aware client types so that
use_token_client = true + client.backend = "dynamo" picks the
dynamo_chat_nvext shape automatically. Pairs with the verifiers
feat/tito-dynamo-transport patch which actually consumes
ClientConfig.renderer_transport in OpenAIChatCompletionsTokenClient.

Validated end-to-end via:
  - bis-dev/4-02/tito-multiturn  (multi-turn TITO + full-FT)
  - bis-dev/5/sft                (multi-turn TITO + full-FT, with
                                   inline Probe 3 + SIDECAR-SKIP-TOKENIZE)
  - bis-dev/5/lora               (multi-turn TITO + LoRA)
@AmeenP AmeenP force-pushed the codex/dynamo-tito-client-followup branch from 3f89cf5 to 058755e Compare May 8, 2026 10:14
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