Repository navigation
fix(engine): warn when requested thinking tier changes - #1661
Merged
mgoldsborough merged 1 commit intoOct 8, 2026
Merged
mgoldsborough merged 1 commit into
mgoldsborough merged 1 commit into
Conversation
Contributor
QA Review: fix/809-thinking-tier-warningScope: 4 files, +105/−19 · reviewed: Critical (must fix)None. Fix in-PRNone. Suggestions (optional)
What Looks Good
Body claims
machine record{
"kind": "review", "pr": 1661, "round": 1,
"reviewed": "db81fd38d4ecdcf9aa4aae49883cc9e81b1a5164", "delta_base": null,
"risk": "LOW", "stop_gate": "n/a",
"verdict": "Correct, minimal, matches the issue's shape; no Criticals. Mergeable once required checks run green.",
"findings": [
{"id": "r1s1", "bucket": "suggestion", "file": "src/engine/engine.ts", "line": 233,
"claim": "Unknown-xAI-ladder warning guards a state catalog.test.ts:541 forbids; operator docs describe an unreachable case.",
"evidence": "reasoned", "receipt": "grep xaiUnmeasuredReasoningModels -> test/unit/catalog.test.ts:541 expects []",
"preconditions": null, "fix": "drop the xAI-unknown sentence from nimblebrain-json.mdx; keep code", "scope": "peripheral"},
{"id": "r1s2", "bucket": "suggestion", "file": "test/unit/engine.test.ts", "line": 2297,
"claim": "Process-wide dedup set couples the new test's exact counts to earlier tests' keys.",
"evidence": "reproduced", "receipt": "bun test -t 'warns once per model' -> pass; bun test test/unit -> 6558 pass",
"preconditions": null, "fix": "use model/tier keys unique to this test", "scope": "peripheral"}
]
} |
Contributor
|
Thanks for the contribution @Coding-Professional |
mgoldsborough
added this pull request to the merge queue
Oct 8, 2026
Contributor
Author
|
@mgoldsborough Thank you for the opportunity! Glad to contribute. Looking forward to contributing more and building together. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When an operator sets
thinkingEffort: "low"foropenai:gpt-5.2-pro, the model has no supported tier at or belowlow. The engine correctly sends no tier and the provider uses its default, but the operator received no warning. Gemini level step-downs had the same visibility gap.This change warns at the shared
pickTierdecision when an operator-selected tier is stepped down or dropped. The warning names the requested tier and the tier sent (or provider default), once per model and requested tier. Unknown xAI effort ladders use the same path; measured-empty xAI ladders stay silent because those models are known to expose no effort knob. Regression tests cover all three providers, deduplication, and silent platform/default cases. The config docs describe the behavior.Related issue
Closes #809
Validation
bun test --no-env-file test/unit/engine.test.ts test/unit/catalog.test.ts test/unit/resolve-thinking.test.ts— 221 passed.bun run check, targeted Biome check,bun run docs:build, andgit diff --check— passed.check:cyclesandcheck:no-raw-console; those workaround edits were reverted. Plainbun run verifystops at those existing Windows path assumptions.Checklist
docs/for the operator-facing warning.bun run verifyand the relevant subset; local full-suite limits are documented above.