Skip to content

eval(qwen): add Qwen 3.8 quality benchmarks and native 14px pilot - #244

Merged
teamchong merged 11 commits into
mainfrom
eval/qwen-3.8-quality
Aug 21, 2026
Merged

eval(qwen): add Qwen 3.8 quality benchmarks and native 14px pilot#244
teamchong merged 11 commits into
mainfrom
eval/qwen-3.8-quality

Conversation

@teamchong

Copy link
Copy Markdown
Owner

Problem

Evaluated Qwen 3.8 27B (workers-ai/@cf/qwen/qwen3.8-27b) across pxpipe's quality benchmarks via ocproxy Chat Completions.

Findings

  • Spleen 5×8 (152 cols): 98/100 novel arithmetic, 72/98 gist recall, 11/18 state tracking, 0/16 never-stated confabulations, but 0/15 on dense 12-char hex (5×8 bitmap glyphs are illegible to the vision encoder).
  • JetBrains Mono 14px (84 cols): Restores verbatim legibility, scoring 11/15 on dense hex and 8/8 exact facts (100%) on the paired Alpha/Beta pilot with 0 confabulations.
  • Reasoning Headroom: Mandatory thinking tokens require max_tokens >= 8,192 for multi-image prompts.

Changes

  • Added eval/qwen-profile/ suite and receipts (novel-arithmetic, gist-recall, verbatim-hex, verbatim-hex-14px).
  • Documented findings in eval/qwen-profile/QUALITY_RESULTS.md and updated README.md quality matrix.

info.imageCount already tracked the static slab, and the slabs are
inserted into req.messages before applyChatHistoryCollapse runs, so
adding both double-counted them. With 14 slab images the budget went
28 > 24 and remainingMax clamped to 0, disabling history collapse for
Qwen-sized contexts. Walk the request messages only, matching the
Responses path.
GPT-5 keeps detail:'original'; every other upstream (Workers AI,
GPT-4o, ...) validates against auto|low|high and 400s on 'original'.
The bridge already has req.model, so derive the detail from it instead
of hard-coding.
The measured 14px/84-col/512px geometry is specific to Qwen 3.8 27B.
Other Qwen variants now fall to the family-id guard (refused) instead
of being gated with an unmeasured profile.
The local gateway is private tooling; the repo now references it only
as 'a local gateway' with neutral example ports, and eval clients
require OPENAI_BASE_URL instead of assuming a default.
The profile's 24 stood in for the total, so client-attached images
starved the history budget (14 attached + 14 slab = 28 > 24 left zero
headroom and history collapse never fired). Add providerImageCap to the
profile and budget history as min(history cap, provider cap - images
already in the request), so the final request can never overshoot the
provider's hard limit while still using whatever headroom is left.
@teamchong
teamchong merged commit 6302467 into main Aug 21, 2026
5 of 6 checks passed
@teamchong
teamchong deleted the eval/qwen-3.8-quality branch August 21, 2026 01:17
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