Skip to content

fix(models): omit rejected GLM Flash effort on OpenCode Go - #102

Open
AojdevStudio wants to merge 2 commits into
pullfrog:mainfrom
AojdevStudio:codex/fix-glm-flash-effort
Open

AojdevStudio wants to merge 2 commits into
pullfrog:mainfrom
AojdevStudio:codex/fix-glm-flash-effort

Conversation

@AojdevStudio

Copy link
Copy Markdown

Problem

Pullfrog's homelab review run 36464251799 used OpenCode Go's glm-5.3-flash at default high effort. The agent completed several tool calls, then the provider rejected a request with native reasoning control reasoning_effort is not allowed. Pullfrog's model catalog advertises an effort ladder for this route, so its OpenCode adapter sends the selected variant. The live provider behavior disagrees with the published models.dev metadata.

Change

Omit effort variants for the direct OpenCode Go GLM Flash route. Keep the existing GLM Flash model and provider. Preserve the separate OpenRouter effort ladder for runs already configured to use that route. Add a regression test and record the observed catalog exception.

Evidence

  • New regression test failed before the change: it received high for the direct route.
  • bunx vitest run test/models.test.ts effort.test.ts: 368 passed.
  • Focused catalog check: two passed.
  • bun run typecheck: passed.
  • A successful Pullfrog review on the homelab PR remains to be verified after this action change is released.

GPT-6-Sol in the Codex harness through T3 Code made these changes.

@cursor

cursor Bot commented Sep 28, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ℹ️ No critical issues. Two small suggestions, one inline and one below.

Reviewed changes

Reviewed the whole diff. It stops the direct OpenCode Go GLM Flash route from sending an effort variant, and it keeps the OpenRouter ladder.

  • Direct route sends no variant: effort: [] makes getModelEffortLevels return an empty ladder. resolveRung then returns undefined, so runPromptTurn leaves out variant for this route. openRouterEffort is now explicit, so the OpenRouter route and ossEffortFloor still get low, high, max.
  • Regression test: the new test/models.test.ts case can fail. The old ladder resolved position 0.5 to high on the direct route, and the test now requires undefined.
  • Catalog drift exception: the ladder test in models-catalog.main.test.ts now skips opencode-go/glm-flash and only checks that effort equals [].

ℹ️ Nitpicks

  • test/models-catalog.main.test.ts:167 — the special case turns off the drift check for this route entirely. If models.dev stops listing the ladder, nothing will say the exception is no longer needed. Adding expect(rungs(publishedEffort(alias.resolve))).toBeDefined() before the return would make the test fail at that point, which prompts someone to remove the exception.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using Claude Opus (free via Pullfrog for OSS) | 𝕏

Comment thread models.ts Outdated
@AojdevStudio

Copy link
Copy Markdown
Author

@pullfrog review the current head after the follow-up that addressed your inline comment. Do not make code changes.

@pullfrog pullfrog Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ No new issues found. Both points from the last review are fixed.

Reviewed changes

Reviewed cdaa458, which changes only a code comment and one test assertion since the last Pullfrog review.

  • Rewrote the glm-flash code comment: the comment at models.ts:877-878 now quotes the provider's error text. The cross-repo #964 and run-ID reference is gone, so the comment no longer points at a pullfrog issue number that has nothing to do with this.
  • Added a check that the drift exception is still needed: test/models-catalog.main.test.ts:168 now asserts rungs(publishedEffort(alias.resolve)) is defined. rungs returns undefined when the list is empty or missing, so this fails if models.dev stops listing any effort rung for opencode-go/glm-5.3-flash. That failure tells someone to remove the special case.

Pullfrog  | View workflow run | Using Claude Opus (free via Pullfrog for OSS) | 𝕏

@AojdevStudio

Copy link
Copy Markdown
Author

Coordination check: head cdaa458 has the clean Pullfrog review at #102 (review), success review check, and no unresolved inline threads. The exact-head Test workflow is action_required: https://github.com/pullfrog/pullfrog/actions/runs/36474224896. A maintainer must approve that fork workflow run, then its tests must pass. I have made no additional code changes, billing changes or gate bypasses, and have not merged or enabled auto-merge.

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