Skip to content

feat(roleplay): lead roleplay:auto with GLM 5.3, the best scorer in the chain - #99

Merged
ALikesToCode merged 2 commits into
mainfrom
feat/roleplay-glm-first
Oct 29, 2026
Merged

ALikesToCode merged 2 commits into
mainfrom
feat/roleplay-glm-first

Conversation

@ALikesToCode

Copy link
Copy Markdown
Owner

roleplay:auto started every turn on DeepSeek V4.1 Flash because it was fast and cheap on the OpenCode Go allowance. In the 2026-10-29 roleplay test it wrote noticeably worse turns than GLM 5.3, so GLM 5.3 now goes first and becomes the recommended model for roleplay:auto.

The test: three multi-turn roleplays with planted card rules, two runs each on OpenCode Go, every reply scored out of 5.

Model Avg Notes
GLM 5.3 4.33 21–41 s a reply, no hard rule breaks
GLM 5.3 Flash 3.92 three hard rule breaks
DeepSeek V4.1 Flash 3.25 6–10 s, but about a tenth of GLM's reasoning; broke a character rule, nearly confessed a secret
MiMo v2.6 Pro 2.83 wrote a line for the user

Change

  • Production chain (ROLEPLAY_INTELLIGENCE_MODELS): opencode:glm-5.3, cline-pass:cline-pass/glm-5.3, nanogpt:z-ai/glm-5.3, opencode:deepseek-v4.1-flash, nanogpt:z-ai/glm-5.3-flash, nanogpt:z-ai/glm-5.2, cline-pass:cline-pass/glm-5.3-flash, then the three MiMo entries. The rest keeps its old relative order; MiMo moves to the end.
  • DeepSeek → GLM handoff removed. A source only hands off to targets later in the chain (roleplayHandoffTargets). Every GLM 5.3 entry now sits before DeepSeek, so the handoff could never be offered. DeepSeek fallback legs would still have carried the tool with tool_choice: "none" for nothing. The two keys leave RUNTIME_FEATURE_FLAGS. They were never deployed as separate vars because feat(roleplay): let DeepSeek hand pivotal turns to GLM-5.3 #92's upload was rejected, so keep_vars can't keep an old copy alive.
  • The built-in default chain (used when ROLEPLAY_INTELLIGENCE_MODELS is unset) and the roleplay:intelligence description on /v1/roleplay/models no longer say MiMo leads. GLM-5.3 comes first there too.
  • docs/roleplay.md cites the test and the trade-off. On 2026-10-25 a GLM 5.3 turn used about 30× the OpenCode Go allowance of a DeepSeek turn, so Go's limits arrive much sooner. When Go refuses GLM 5.3, the turn falls to GLM 5.3 on ClinePass and NanoGPT, then DeepSeek.

On 2026-10-29 only OpenCode answered. ClinePass returned 403 ENTITLEMENT_ERROR and NanoGPT 429 model_cooldown. Both advance the chain and cool that entry for the session, so the order still holds.

Verification

  • Roleplay worker tests, feature-flag, session-tier and NanoGPT routing tests: 342 of 342 pass.
  • The outbound inventory test passes with the two updated hashes. Only a constant list and a description string changed.
  • Config tests pin the new order and assert no handoff source or target is set.

Vars only take effect on deploy.

roleplay:auto now tries GLM 5.3 on OpenCode Go, ClinePass and NanoGPT
before anything else. DeepSeek V4.1 Flash follows them, then
GLM-5.3-Flash and GLM-5.2, and MiMo-V2.6-Pro is last.

On 2026-10-29 three multi-turn roleplays with planted card rules, run
twice each on OpenCode Go and scored out of 5, gave GLM 5.3 4.33 with no
hard rule breaks (21-41 s a reply). DeepSeek V4.1 Flash, the previous
lead, scored 3.25: it answered in 6-10 s but reasoned a tenth as much,
broke a character rule and nearly confessed a secret. MiMo scored 2.83
and wrote a line for the user. The cost is OpenCode Go usage: a GLM 5.3
turn used about 30 times the allowance of a DeepSeek turn on 2026-10-25.

The DeepSeek to GLM handoff is removed. A source hands off only to
targets later in the chain, and every GLM 5.3 entry now comes before
DeepSeek, so the handoff could never be offered; the DeepSeek leg would
still have carried the tool with tool_choice "none".
Without ROLEPLAY_INTELLIGENCE_MODELS, roleplay:intelligence (and
roleplay:auto under ROLEPLAY_AUTO_ROUTE=intelligence) now tries GLM-5.3
first, then GLM-5.3-Flash and GLM-5.2 on each provider, and MiMo-V2.6-Pro
last. The roleplay:intelligence description served by
/v1/roleplay/models says the same, so it no longer tells clients that
MiMo leads.

This matches production, where GLM 5.3 scored best of the chain's
models in the 2026-10-29 roleplay test and MiMo scored worst.
@coderabbitai

coderabbitai Bot commented Oct 29, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 654faffa-7b46-4e8c-9887-a8851c2745f1
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 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-10-29T10:58:26.588839Z 01a6d4e PR opened
ℹ️ 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.

@ALikesToCode
ALikesToCode merged commit 4cb4866 into main Oct 29, 2026
6 checks passed
@ALikesToCode
ALikesToCode deleted the feat/roleplay-glm-first branch October 29, 2026 11:06
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.

1 participant