Migration decision report / October 13, 2026
Migration decision.
Archived five-model report. Original measurements and downloads are preserved. View the current report
Actual results on reused public Banking77 cases. 500 primary + 30 separate challenge cases per model. Validation evidence, not rollout approval.
01 / Customer
Banking77 Demo Bank
Illustrative name.02 / Identified workflow
Banking support intent classification
77 intents. Plain prompt, no retrieval.03 / Current model
o4-mini
OpenAI route. Freshly measured.04 / Recommended model
GLM-5.3-Flash
Conditional. Recommended for workflow-specific validation.
Weighted preference score
35 corrections · 20 regressions · 15 fewer primary errors than o4-mini.
Challenge: 23/30 correct vs 25/30 incumbent. Leads 4/4 weighting profiles among fully evidenced models.
05 / Other models evaluated
500 primary cases per model.
| Model | Consistency | Errors | Cost / 1,000 cases | Response timep50 / p95 HTTP time | Score / 100 |
|---|---|---|---|---|---|
| o4-miniCurrent model | 100.0%500/500 planned cases | 126/500 | $1.7612 | 2.07 s / 5.87 s | 72.40 |
| DeepSeek V4 FlashUnranked: incomplete evidence | Unavailable437/500 confirmed; 1 unresolvedPossible range: 87.4% to 87.6% | 125/5001 additional outcome unresolved | Unknown499/500 cases fully priced | 5.65 s / 24.16 s | Unranked |
| Qwen3.7-FlashEvaluated alternative | 84.4%422/500 planned cases | 123/500 | $0.0735 | 4.47 s / 14.57 s | 76.65 |
| Nemotron 3.5 LightningUnranked: incomplete evidence | 83.8%419/500 planned cases | 120/500 | Unknown499/500 cases fully priced | 3.69 s / 13.23 s | Unranked |
| GLM-5.3-FlashRecommended for validation | 84.4%422/500 planned cases | 111/500 | $0.0282 | 1.32 s / 3.03 s | 82.06 |
Consistency: matching valid labels / 500, including shared errors. Cost: USD, normalized from recorded charges. Time: summed HTTP attempts per case, including failures/retries; cooldowns and pauses excluded. Unranked: DeepSeek/Nemotron have incomplete charges; DeepSeek also has one unresolved answer.
Weights: correctness 50% · consistency 20% · cost 20% · p95 time 10%. Score is not confidence; Conditional is an editorial rating.
06 / Current model issues
o4-mini
- 126 wrong labels; 0 invalid final outputs.
- 1 output-limit failure. Retry returned valid JSON, but the label remained wrong.
07 / Recommended model issues
GLM-5.3-Flash
- 111 wrong labels: 20 regressions, 68 shared errors, 23 different wrong answers.
- 0 invalid outputs · 0 provider failures · 0 unresolved outcomes · 0 retries.
Matching and non-matching examples.
Recorded outputs with publisher reference labels.
500 pairs with valid labels out of 500 primary cases.
0 invalid, failed or unresolved pairs excluded from these five categories.
One example per outcome; counts cover all valid pairs.
Other outcomes
Agreement can also preserve an error, and a different answer can correct one. These outcomes are separate from the regression example above.
Showing candidate regression for GLM-5.3-Flash, case banking77:test:243.
Non-matching
Incumbent correct · candidate wrong
Banking77 input Case banking77:test:243
Does your system support multiple currency.
Publisher reference fiat_currency_support
Incumbent
o4-mini
Actual visible response
{"intent":"fiat_currency_support"}Scored intent fiat_currency_support
Candidate
GLM-5.3-Flash
Actual visible response
{"intent":"supported_cards_and_currencies"}Scored intent supported_cards_and_currencies
How these examples were selected
One example per observed outcome and candidate: 20 recorded comparisons across 4 candidates. Each is the lowest numeric case ID in its category among the 500 primary cases. These examples illustrate outcomes; their equal representation does not describe how often each outcome occurs.
Both outputs must contain a valid intent. Invalid outputs, failed requests and unresolved outcomes remain in the report’s aggregate results but cannot supply two comparable intent labels here. Labels are scored against the unchanged publisher reference, not a customer review.
Matching means the same parsed intent label, not identical response text. The primary matching example has two correct answers; the non-matching example is a regression. Shared wrong answers and the other types of disagreement are available under Other outcomes.
Responses are shown as recorded. The scored intent is parsed separately; hidden reasoning is not shown. A successful policy-allowed retry supplies the final answer where applicable, with first attempts retained in the report’s recovery, cost and timing totals.
Dataset: Banking77, test split (dataset license). Revision sha256:d12d6e3bc4c3103966ae786dc435913c0c563dfa328f5a3646d0e62cfeeb474d.
Incumbent model openai/o4-mini, route openai. Response receipt SHA-256:f9bde41d4ddd045b4306208561a400803ada3ba3581eaf5bed0d041a28cd01c1
Candidate model z-ai/glm-5.3-flash, route z-ai/fp8. Response receipt SHA-256:05899c906c9135137262701682d89369823c53c1d5cb1df6c791071b45eb92f4
Comparison source SHA-256:31d2f1a4ddc87eb9a6682c2c69f51a679d0c51f91bac9279772aa51c3d209b1d
08 / Next action and evidence
Validate before migration.
Test GLM-5.3-Flash on a fresh held-out workflow sample against an agreed acceptance policy, including the observed regressions and challenge failures.
Technical evidence: coverage, recovery, accounting and sources
Collection status and eligibility
All 2,650 scheduled model evaluations across 530 shared cases have first-attempt evidence. 1 required retry has a result, bringing total HTTP attempts to 2651. 2,649 outcomes are resolved; 1 remains unresolved. The original all-five-complete gate did not pass. Recommendations apply only to fully evidenced configurations.
- o4-mini: Complete outcomes, actual charges, timing and verified identity across all 530 cases, with no more primary errors than the incumbent.
- DeepSeek V4 Flash: unresolved outputs; incomplete all attempt pricing; Unresolved or missing full-run evidence; Incomplete full-run charges.
- Qwen3.7-Flash: Complete outcomes, actual charges, timing and verified identity across all 530 cases, with no more primary errors than the incumbent.
- Nemotron 3.5 Lightning: incomplete all attempt pricing; Incomplete full-run charges.
- GLM-5.3-Flash: Complete outcomes, actual charges, timing and verified identity across all 530 cases, with no more primary errors than the incumbent.
Missing evidence never redistributes weights. Tied winners and retaining the incumbent remain options under the declared rule.
Primary quality and agreement
| Configuration | Correct labels | Confirmed errors | Unresolved | Resolved / planned |
|---|---|---|---|---|
| o4-mini | 74.8%374/500 planned cases | 126/500 | 0 | 500/500 |
| DeepSeek V4 Flash | Unavailable374/500 confirmed; 1 unresolvedPossible range: 74.8% to 75.0% | 125/500 | 1 | 499/500 |
| Qwen3.7-Flash | 75.4%377/500 planned cases | 123/500 | 0 | 500/500 |
| Nemotron 3.5 Lightning | 76.0%380/500 planned cases | 120/500 | 0 | 500/500 |
| GLM-5.3-Flash | 77.8%389/500 planned cases | 111/500 | 0 | 500/500 |
| Configuration | End-to-end consistency | Valid-answer agreement | Valid-output rate |
|---|---|---|---|
| o4-mini | 100.0%500/500 planned cases | 100.0%500/500 observed both-valid pairs | 100.0%500/500 planned cases |
| DeepSeek V4 Flash | Unavailable437/500 confirmed; 1 unresolvedPossible range: 87.4% to 87.6% | 87.8%437/498 observed both-valid pairs | Unavailable498/500 confirmed; 1 unresolvedPossible range: 99.6% to 99.8% |
| Qwen3.7-Flash | 84.4%422/500 planned cases | 84.6%422/499 observed both-valid pairs | 99.8%499/500 planned cases |
| Nemotron 3.5 Lightning | 83.8%419/500 planned cases | 84.3%419/497 observed both-valid pairs | 99.4%497/500 planned cases |
| GLM-5.3-Flash | 84.4%422/500 planned cases | 84.4%422/500 observed both-valid pairs | 100.0%500/500 planned cases |
A valid output contains an accepted intent label and may still be wrong. End-to-end agreement uses all planned cases and is the scoring input. Valid-answer agreement excludes failed and unresolved pairs; it must be read alongside output coverage. Arithmetic possible ranges describe unresolved-case limits, not confidence intervals.
First responses. Recoveries. Remaining failures.
One retry at twice the initial output limit, only after a returned, billed response reports that it reached the output limit. The model, provider, prompt and reasoning settings stay the same. Wrong labels, upstream errors and timeouts do not trigger retries. A second failure is retained; there is no third attempt.
500 primary cases per model
| Configuration | First valid answers | First cap failures | Other first failures | First unresolved | Retries / required | Recovered valid / correct | Retry failures / unresolved | HTTP attempts |
|---|---|---|---|---|---|---|---|---|
| o4-mini | 499/500 | 1 | 0 | 0 | 1/1 | 1 / 0 | 0 / 00 charge unknown | 501 |
| DeepSeek V4 Flash | 498/500 | 0 | 1 | 1 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 500 |
| Qwen3.7-Flash | 499/500 | 0 | 1 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 500 |
| Nemotron 3.5 Lightning | 497/500 | 0 | 3 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 500 |
| GLM-5.3-Flash | 500/500 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 500 |
30 separate challenge cases per model
| Configuration | First valid answers | First cap failures | Other first failures | First unresolved | Retries / required | Recovered valid / correct | Retry failures / unresolved | HTTP attempts |
|---|---|---|---|---|---|---|---|---|
| o4-mini | 30/30 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 30 |
| DeepSeek V4 Flash | 30/30 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 30 |
| Qwen3.7-Flash | 30/30 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 30 |
| Nemotron 3.5 Lightning | 30/30 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 30 |
| GLM-5.3-Flash | 30/30 | 0 | 0 | 0 | 0/0 | 0 / 0 | 0 / 00 charge unknown | 30 |
Recovered valid answers can still be wrong. Correct recoveries match the reference label. First-pass failures remain visible even when recovered; final quality uses one result per case. A pending or budget-refused required retry is incomplete evidence. A known upstream rejection remains a failed answer even when its charge is unknown; those two kinds of uncertainty are separate.
Recovery means that a retry returned a usable or correct answer under the stated policy. It does not show that the higher output limit caused that recovery. Repeated calls can differ, and a retry may finish within the original limit.
Cost includes every attempt, including the failed first response. Time is reconstructed per case by adding its recorded HTTP-attempt durations. It excludes automatic cooldown waits and manual pauses between collection segments, so it is not observed end-to-end customer latency. Earlier segments used different client deadlines and timing instrumentation; this is not a controlled model-speed comparison.
Actual cost and cumulative HTTP time
| Configuration | Known subtotal | Priced / planned | p50 | p95 | Timed / planned |
|---|---|---|---|---|---|
| o4-mini | $0.8806 | 500/500 | 2.07 s | 5.87 s | 500/500 |
| DeepSeek V4 Flash | $0.0732 | 499/500 | 5.65 s | 24.16 s | 500/500 |
| Qwen3.7-Flash | $0.0367 | 500/500 | 4.47 s | 14.57 s | 500/500 |
| Nemotron 3.5 Lightning | $0.1256 | 499/500 | 3.69 s | 13.23 s | 500/500 |
| GLM-5.3-Flash | $0.0141 | 500/500 | 1.32 s | 3.03 s | 500/500 |
Known full-run reported subtotal: $1.1844958149. Unknown attempted charges: 2. Held uncertainty reserve: $0.006677. The reserve is not a measured charge; the subtotal is not a complete total or final invoice. Per-1,000 cost stays unavailable where attempted charges are unknown.
Cost includes every attempt, including the failed first response. Time is reconstructed per case by adding its recorded HTTP-attempt durations. It excludes automatic cooldown waits and manual pauses between collection segments, so it is not observed end-to-end customer latency. Earlier segments used different client deadlines and timing instrumentation; this is not a controlled model-speed comparison.
Percentiles use linear interpolation over each case’s summed HTTP-attempt durations, including failed first attempts. Automatic cooldowns and manual pauses are excluded. These measurements do not establish production savings, successful-answer latency or a causal model-speed comparison.
Primary failures and paired outcomes
| Configuration | Wrong labels | Invalid output | Provider / unusable | Unresolved |
|---|---|---|---|---|
| o4-mini | 126 | 0 | 0 | 0 |
| DeepSeek V4 Flash | 124 | 1 | 0 | 1 |
| Qwen3.7-Flash | 122 | 1 | 0 | 0 |
| Nemotron 3.5 Lightning | 117 | 1 | 2 | 0 |
| GLM-5.3-Flash | 111 | 0 | 0 | 0 |
| Configuration | Both correct | Corrections | Regressions | Shared wrong | Both wrong, different |
|---|---|---|---|---|---|
| o4-mini | 374 | 0 | 0 | 126 | 0 |
| DeepSeek V4 Flash | 354 | 20 | 20 | 83 | 21 |
| Qwen3.7-Flash | 350 | 27 | 23 | 72 | 27 |
| Nemotron 3.5 Lightning | 352 | 28 | 21 | 67 | 29 |
| GLM-5.3-Flash | 354 | 35 | 20 | 68 | 23 |
The five paired outcomes partition observed both-valid pairs. Unresolved and invalid answers stay outside this subset. Confirmed errors include wrong labels and unusable outputs; unknown outcomes remain separate. Output-limit truncations are returned unusable responses, distinct from upstream rejections or unknown transport outcomes. A timeout does not reveal the model’s answer or final charge.
The separate 30-case challenge cohort
| Configuration | Correct labels | Confirmed errors | Unresolved | Resolved / planned |
|---|---|---|---|---|
| o4-mini | 83.3%25/30 planned cases | 5/30 | 0 | 30/30 |
| DeepSeek V4 Flash | 83.3%25/30 planned cases | 5/30 | 0 | 30/30 |
| Qwen3.7-Flash | 80.0%24/30 planned cases | 6/30 | 0 | 30/30 |
| Nemotron 3.5 Lightning | 83.3%25/30 planned cases | 5/30 | 0 | 30/30 |
| GLM-5.3-Flash | 76.7%23/30 planned cases | 7/30 | 0 | 30/30 |
| Configuration | End-to-end consistency | Valid-answer agreement | Valid-output rate |
|---|---|---|---|
| o4-mini | 100.0%30/30 planned cases | 100.0%30/30 observed both-valid pairs | 100.0%30/30 planned cases |
| DeepSeek V4 Flash | 93.3%28/30 planned cases | 93.3%28/30 observed both-valid pairs | 100.0%30/30 planned cases |
| Qwen3.7-Flash | 96.7%29/30 planned cases | 96.7%29/30 observed both-valid pairs | 100.0%30/30 planned cases |
| Nemotron 3.5 Lightning | 93.3%28/30 planned cases | 93.3%28/30 observed both-valid pairs | 100.0%30/30 planned cases |
| GLM-5.3-Flash | 90.0%27/30 planned cases | 90.0%27/30 observed both-valid pairs | 100.0%30/30 planned cases |
Challenge cases are not pooled into the primary denominator or weighted recommendation.
Unchanged weighting profiles
| Profile | Correctness | Consistency | Cost | p95 HTTP time | Preferred fully evidenced configuration |
|---|---|---|---|---|---|
| Default | 50% | 20% | 20% | 10% | GLM-5.3-Flash |
| Quality priority | 70% | 10% | 10% | 10% | GLM-5.3-Flash |
| Cost priority | 50% | 10% | 30% | 10% | GLM-5.3-Flash |
| Latency priority | 50% | 10% | 10% | 30% | GLM-5.3-Flash |
Cost and time utilities are incumbent / (incumbent + candidate). Equal values score 0.5; both-zero utility is 0.5. Eligibility requires no more primary errors than the incumbent. Adaptive scores use the final policy-selected result and all-attempt cost and time. Original fixed-cap scores remain separate.
Method, collection segments and configurations
The adaptive policy was declared after operational failures and before inspecting label quality. It preserves every first attempt and permits one prescribed retry after a billed truncation. Pending or budget-refused required retries prevent publication. Original stopped studies remain unchanged.
After a verified upstream rejection, collection paused before continuing with untouched cases. Rejected calls were not retried: they remain failed answers with unknown charges reserved. Automatic cooldowns and a per-model circuit limit changed collection operations, not the model settings, scoring weights or output-limit retry policy.
Public Banking77 cases were reused and publisher labels remain unchanged. These are not customer-adjudicated outcomes, fresh held-out confirmation or a customer rollout decision. The October 10 experiment and historical retrieved-Luna assessment remain separate.
| Segment | Attempts | Client deadline | Window | Prior pause |
|---|---|---|---|---|
| Original prefix | 248 | 120 seconds | 2026-10-13 01:45:24 UTCto 2026-10-13 02:07:38 UTC | None |
| First continuation | 1091 | 300 seconds | 2026-10-13 02:26:08 UTCto 2026-10-13 04:01:17 UTC | 1110.32 s |
| Adaptive continuation | 28 | 300 seconds | 2026-10-13 04:21:57 UTCto 2026-10-13 04:26:58 UTC | 1240.53 s |
| Collection continuation | 1284 | 300 seconds | 2026-10-13 04:49:13 UTCto 2026-10-13 06:29:05 UTC | 1335.46 s |
| Exact model ID | Provider route | Reasoning | Output-token cap |
|---|---|---|---|
openai/o4-mini | openai | Enabled | 2,0484,096 on one eligible retry |
deepseek/deepseek-v4-flash-0731 | streamlake/fp8 | Low effort | 8,19216,384 on one eligible retry |
qwen/qwen3.7-flash | alibaba/us-east-1 | 1,024 reasoning tokens | 2,0484,096 on one eligible retry |
nvidia/nemotron-3.5-lightning | deepinfra/bf16 | Enabled | 8,19216,384 on one eligible retry |
z-ai/glm-5.3-flash | z-ai/fp8 | Low effort | 2,0484,096 on one eligible retry |
Reasoning can consume the output allowance before a usable label is returned. These are maximum budgets, not measured visible-answer lengths or equal token allowances.
Source identity
Combined summary SHA-256:31d2f1a4ddc87eb9a6682c2c69f51a679d0c51f91bac9279772aa51c3d209b1d
Reporting amendment SHA-256:b940a96188f7adfa9affcc629f668e90be015faea136c126847b76ff1b726da9
Original plan SHA-256:fc86a515c397671c38d6ed40083938075dcc30df692c771de7b660f66a25d193
Untouched-suffix plan SHA-256:fe1274037d6c43988e0f1f8035ec130e731a9df694dd1cbe4a46a4d2d98955a1
Adaptive plan SHA-256:9233745dc9c1a76050b1d2922aac48dcc4454ab2831b20fc29dec5c11b4c91b5
Collection plan SHA-256:fa28afcfde818f2234f7d94fc946db34b2d7254acca6a8fc1b9ea7a829a12c33
Collection terminal SHA-256:3d7f93d43856670f0ca5fb77783384308fab20c25825da2c6e50de11235ce097
Collection amendment SHA-256:6a6da5802d9cdab3a8f08c1e43499fae4436592bba7579394a660daf4cfb46f8
Prepared 2026-10-13 06:43:08 UTC. The decision report, evidence appendix, CSV and curated JSON describe this same audited collection. The manifest pins exact file bytes.
October 10 experiment and original downloads · Open your customer assessments
