feat(inworld): default to inworld-tts-2 (Realtime TTS-2)#77921
Conversation
|
Codex review: found issues before merge. Reviewed July 3, 2026, 5:12 PM ET / 21:12 UTC. Summary PR surface: Source +4, Tests +2, Docs +6, Generated 0. Total +12 across 7 files. Reproducibility: not applicable. as a bug reproduction; this is a feature/default-change PR. The upgrade-risk path is source-proven because missing Inworld Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review findings
Review detailsBest possible solution: Expose TTS-2 as a supported Inworld model, preserve the shipped default unless maintainers explicitly sponsor the default flip, refresh the branch on current main, and keep release-note text in the PR body or squash message. Do we have a high-confidence way to reproduce the issue? Not applicable as a bug reproduction; this is a feature/default-change PR. The upgrade-risk path is source-proven because missing Inworld Is this the best way to solve the issue? No as-is: adding TTS-2 is provider-local and maintainable, but flipping the default requires maintainer product and upgrade acceptance. The safer path keeps the shipped default and adds TTS-2 as an option unless maintainers sponsor the default flip. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 010b61746379. Label changesLabel justifications:
Evidence reviewedPR surface: Source +4, Tests +2, Docs +6, Generated 0. Total +12 across 7 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
@clawsweeper I've added proof of human-ness :) |
|
Re Codex P0 "Real behavior proof": the smoke video is already linked at the bottom of the PR description ( P2 (default-model assertion in |
|
@clawsweeper we can continue to send temperature and it's OK - it will be safely ignored in tts-2 and used in tts-1.5-max and mini. |
|
Re Codex P3 (
|
Adds inworld-tts-2 to the bundled Inworld TTS provider as the new default model. Keeps inworld-tts-1.5-max and inworld-tts-1.5-mini as valid options. Updates types, plugin manifest, and docs.
… so Inworld can bucket usage by integration
Summary
Adds
inworld-tts-2to the bundled Inworld TTS provider as the new default,while keeping
inworld-tts-1.5-maxandinworld-tts-1.5-minias validoptions. Updates types, the plugin manifest, and docs accordingly.
Changes
extensions/inworld/tts.ts: flipDEFAULT_INWORLD_MODEL_IDtoinworld-tts-2; prependinworld-tts-2to theINWORLD_TTS_MODELSliteral union.
extensions/inworld/openclaw.plugin.json: update themodelIddescription so the surfaced default is
inworld-tts-2.docs/providers/inworld.md: default model nowinworld-tts-2(Realtime TTS-2); configuration example, options table, and Models
accordion updated; existing
1.5-max/1.5-minientries kept andsurfaced with their human-readable names (Realtime TTS-1.5-Max /
Realtime TTS-1.5-Mini).
docs/tools/tts.md: Inworld preset config example usesinworld-tts-2; Inworld primarymodelIdParamField listsinworld-tts-2as the default and keeps the older ids asalternatives.
Backwards compatibility
inworld-tts-1.5-max,inworld-tts-1.5-mini,inworld-tts-1-max,and
inworld-tts-1remain inINWORLD_TTS_MODELSand are acceptedas valid
modelIdvalues. Existing configurations that pin a 1.5model continue to work unchanged; only the default flips.
Test plan
pnpm tsgo(or repo's typecheck lane) on extensions/inworldpnpm test extensions/inworldmodelIdconfigured and confirm the request payload sendsinworld-tts-2openclawtts2.mp4