Measured · 13 October 2026 · 80 passes
Qwen3.8-Flash-Next as a coding agent on the HP ZBook Ultra G1a
halogen 0.18.0 · HP ZBook Ultra G1a · OpenCode 2.0.26
Authors
Machine and server
HP ZBook Ultra G1a
- SoC
- Ryzen AI Max+ PRO 395, Radeon 8060S
- Memory
- 128 GiB LPDDR5X-8000 as unified memory
- OS
- Ubuntu 24.04
- Server
- halogen-flash-server 0.18.0, reasoning effort xhigh
- Weights
v2.hgn, all 512 experts
Protocol
40 issues, two passes
- Agent
- OpenCode 2.0.26
- Tasks
- SWE-bench Verified, level “<15 min fix”, drawn at random from Django, sympy, Sphinx and pytest
- Limits
- 262,144 tokens of context, 60 or 120 minutes
- Netz
- blocked except for the model server
- Scored
- with the task's tests, as in SWE-bench
72of 80
Passes solved 90.0 %, 95 % range 80.0 to 97.5 %
4.6minutes
Duration of a pass median, shortest 0.8, longest 120 minutes
1,244tokens/s
Reading median of requests with at least 2,048 new tokens
59.4tokens/s
Output median of all requests, thinking included
01 · Setup
Randomly drawn issues, offline, scored with SWE-bench's tests
The agent gets a repository at the state before the fix and the issue verbatim, plus one sentence: resolve the issue, you may run commands and the existing tests, stop when you are done. It does not get the tests used for scoring. Dependencies are installed; only the model server is reachable.
The tasks come from SWE-bench Verified, from its easiest level: issues that the dataset rates at under 15 minutes for an experienced developer. Eligible are the 87 tasks of this level from Django, sympy, Sphinx and pytest that run under Python 3.9 to 3.11. 40 of them were drawn at random, stratified by repository, with a fixed seed. Nothing was selected by solvability. One Sphinx task could not be checked in the scoring environment and was replaced by the next one drawn.
Scoring follows SWE-bench: the patch the agent leaves in the working tree is applied to a fresh checkout together with the task's tests. A task is solved when the tests for the bug pass (FAIL_TO_PASS) and no previously passing test fails (PASS_TO_PASS). Scoring runs without Docker in a Python environment following the SWE-bench harness, version 4.1.0. Each of the 40 tasks passed there with the reference fix beforehand.
Settings: context up to 262,144 tokens, output up to 32,768 tokens per request, temperature 1.0, top_p 0.95, reasoning effort xhigh, automatic compaction on, prompt cache in RAM. First all 40 tasks run once, then all of them a second time, in the same order, with one server start for all passes. Nothing else runs.
| Project | in Verified | Python 3.9–3.11 | of which “<15 min fix” | drawn | Labels |
|---|---|---|---|---|---|
| Django | 231 | 82 | 32 | 15 | G01–G15 |
| sympy | 75 | 75 | 25 | 11 | G16–G26 |
| Sphinx | 44 | 44 | 22 | 10 | M01–M10 |
| pytest | 19 | 19 | 8 | 4 | M11–M14 |
| total | 369 | 220 | 87 | 40 |
02 · Result
72 of 80 passes solved
The agent solves 72 of 80 passes, that is 90.0 %. The 95 % range runs from 80.0 to 97.5 %; it is drawn over tasks, not passes, because two passes of the same task are not independent. The rate holds for the 87 tasks the draw came from, not for SWE-bench Verified as a whole.
The two passes of a task always end the same way: the agent solves 36 tasks both times, 4 neither time, none just once.
| Project | Tasks | Passes solved | Tasks solved twice |
|---|---|---|---|
| Django | 15 | 28 / 30 | 14 |
| sympy | 11 | 20 / 22 | 10 |
| Sphinx | 10 | 16 / 20 | 8 |
| pytest | 4 | 8 / 8 | 4 |
03 · Failures
Four tasks the agent fails
G01 (django__django-15127): the agent ends both passes after 1.8 and 2.1 minutes with a patch under which all existing tests pass, but not the test for the bug.
G18 (sympy__sympy-15875): the same picture after 27.8 and 39.8 minutes and 68 and 90 steps.
M08 (sphinx-doc__sphinx-7462): of the two tests for the bug, none passes in the first pass and one in the second.
M04 (sphinx-doc__sphinx-8595): in both passes the agent creates a test file, tests/roots/test-ext-autodoc/target/empty_all.py, which the task's test patch also creates. The test patch therefore cannot be applied, and the pass counts as not solved.
04 · Time
How long a pass takes and where the time goes
Half of the passes finish within 4.6 minutes. Django and sympy take a median of 4.2, Sphinx and pytest 5.9 minutes. Some take much longer: the three longest needed 120.0, 59.7 and 39.8 minutes. All 80 passes ran in one go without intervention, in 13.0 hours including scoring.
Every agent step is one request to the server: it reads the new part of the history, usually the output of the last tool, and writes thinking and the next tool call. The passes themselves took 12.8 hours together. Of these, 49 minutes go to reading, 403 to output and 313 to tools, mainly the tests the agent runs itself, and to OpenCode. Server speed hardly changes as the context grows.
| Prompt | Reading | Output |
|---|---|---|
| 0k–32k | 1,257 n=250 | 60.0 n=1,878 |
| 32k–64k | 1,183 n=48 | 58.2 n=652 |
| 64k–128k | 1,186 n=19 | 58.8 n=253 |
| 128k–256k | 1,338 n=3 | 58.5 n=26 |
05 · Session
Context, tools and network
A pass needs a median of 29 steps. The deepest session reached 140,268 tokens, just over half of the 262,144-token context window. Of 2,992 tool calls, 19 failed.
One pass ended at the time limit: the first pass of G20, after 120 minutes and only 49 steps. The patch the agent had written by then passes all tests and therefore counts as solved, as in SWE-bench.
No pass established a connection other than to the model server. The operating system's sandbox blocks every other destination; a network monitor checks this for every pass.
06 · Every figure
All 80 passes
Per pass: scoring result, wall time, agent steps, highest context of the session and tokens generated including thinking. Every figure in this report is computed from this table, speed additionally from the server log.
| Task | Pass | Result | FAIL_TO_PASS | PASS_TO_PASS | Wall time (min) | Steps | Max. context | Tokens generated |
|---|---|---|---|---|---|---|---|---|
G01django__django-15127 | 1 | not solved | 0/1 | 1/1 | 1.8 | 20 | 14,890 | 5,219 |
| 2 | not solved | 0/1 | 1/1 | 2.1 | 30 | 15,129 | 5,904 | |
G02django__django-16333 | 1 | solved | 1/1 | 87/87 | 5.2 | 44 | 35,161 | 14,439 |
| 2 | solved | 1/1 | 87/87 | 3.4 | 25 | 29,043 | 9,888 | |
G03django__django-15277 | 1 | solved | 2/2 | 158/158 | 11.0 | 18 | 26,356 | 2,857 |
| 2 | solved | 2/2 | 158/158 | 13.4 | 25 | 69,157 | 9,172 | |
G04django__django-15930 | 1 | solved | 1/1 | 88/88 | 24.3 | 142 | 140,268 | 70,021 |
| 2 | solved | 1/1 | 88/88 | 59.7 | 88 | 132,000 | 53,937 | |
G05django__django-16595 | 1 | solved | 1/1 | 37/37 | 10.7 | 52 | 52,645 | 30,559 |
| 2 | solved | 1/1 | 37/37 | 7.2 | 32 | 40,770 | 19,971 | |
G06django__django-17029 | 1 | solved | 1/1 | 43/43 | 3.3 | 25 | 18,111 | 8,891 |
| 2 | solved | 1/1 | 43/43 | 1.6 | 16 | 11,705 | 4,781 | |
G07django__django-16569 | 1 | solved | 2/2 | 111/111 | 2.2 | 24 | 15,622 | 6,281 |
| 2 | solved | 2/2 | 111/111 | 2.1 | 25 | 15,495 | 6,060 | |
G08django__django-15572 | 1 | solved | 1/1 | 10/10 | 4.3 | 32 | 27,246 | 12,423 |
| 2 | solved | 1/1 | 10/10 | 2.2 | 20 | 17,043 | 5,984 | |
G09django__django-15987 | 1 | solved | 1/1 | 52/52 | 3.5 | 29 | 22,200 | 10,402 |
| 2 | solved | 1/1 | 52/52 | 3.9 | 26 | 22,369 | 11,724 | |
G10django__django-16429 | 1 | solved | 4/4 | 21/21 | 2.9 | 21 | 49,914 | 7,575 |
| 2 | solved | 4/4 | 21/21 | 3.9 | 32 | 40,994 | 10,638 | |
G11django__django-16139 | 1 | solved | 1/1 | 86/86 | 13.7 | 68 | 77,877 | 37,559 |
| 2 | solved | 1/1 | 86/86 | 9.7 | 45 | 46,764 | 27,033 | |
G12django__django-15380 | 1 | solved | 1/1 | 133/133 | 3.4 | 20 | 25,812 | 10,210 |
| 2 | solved | 1/1 | 133/133 | 16.5 | 47 | 80,043 | 55,114 | |
G13django__django-15467 | 1 | solved | 1/1 | 62/62 | 4.8 | 39 | 31,889 | 13,077 |
| 2 | solved | 1/1 | 62/62 | 3.3 | 23 | 20,463 | 8,164 | |
G14django__django-15851 | 1 | solved | 1/1 | 8/8 | 1.4 | 14 | 12,657 | 3,907 |
| 2 | solved | 1/1 | 8/8 | 1.8 | 25 | 15,211 | 5,170 | |
G15django__django-15569 | 1 | solved | 2/2 | 242/242 | 6.0 | 29 | 35,581 | 17,584 |
| 2 | solved | 2/2 | 242/242 | 8.0 | 43 | 47,567 | 23,426 | |
G16sympy__sympy-16886 | 1 | solved | 1/1 | 42/42 | 0.8 | 10 | 8,934 | 2,157 |
| 2 | solved | 1/1 | 42/42 | 1.1 | 13 | 10,137 | 2,975 | |
G17sympy__sympy-24562 | 1 | solved | 1/1 | 105/105 | 6.3 | 23 | 26,796 | 15,075 |
| 2 | solved | 1/1 | 105/105 | 4.2 | 20 | 23,936 | 11,474 | |
G18sympy__sympy-15875 | 1 | not solved | 0/1 | 80/80 | 27.8 | 68 | 71,248 | 44,558 |
| 2 | not solved | 0/1 | 80/80 | 39.8 | 90 | 110,034 | 82,105 | |
G19sympy__sympy-24539 | 1 | solved | 1/1 | 62/62 | 5.7 | 22 | 16,022 | 5,820 |
| 2 | solved | 1/1 | 62/62 | 1.8 | 14 | 12,062 | 3,578 | |
G20sympy__sympy-16450 | 1 | solved, time limit | 1/1 | 38/38 | 120.0 | 49 | 35,030 | 17,782 |
| 2 | solved | 1/1 | 38/38 | 14.3 | 35 | 50,338 | 34,858 | |
G21sympy__sympy-12481 | 1 | solved | 1/1 | 7/7 | 4.0 | 31 | 25,809 | 9,429 |
| 2 | solved | 1/1 | 7/7 | 4.3 | 22 | 25,979 | 12,329 | |
G22sympy__sympy-23534 | 1 | solved | 1/1 | 11/11 | 4.5 | 41 | 28,785 | 12,179 |
| 2 | solved | 1/1 | 11/11 | 2.9 | 34 | 19,220 | 7,536 | |
G23sympy__sympy-21847 | 1 | solved | 1/1 | 9/9 | 5.2 | 27 | 31,387 | 13,748 |
| 2 | solved | 1/1 | 9/9 | 2.7 | 17 | 20,391 | 6,867 | |
G24sympy__sympy-13372 | 1 | solved | 1/1 | 44/44 | 3.9 | 19 | 21,041 | 8,773 |
| 2 | solved | 1/1 | 44/44 | 3.8 | 24 | 23,396 | 8,449 | |
G25sympy__sympy-12096 | 1 | solved | 1/1 | 43/43 | 24.0 | 44 | 41,821 | 26,349 |
| 2 | solved | 1/1 | 43/43 | 29.9 | 58 | 56,292 | 35,769 | |
G26sympy__sympy-14711 | 1 | solved | 1/1 | 2/2 | 3.8 | 23 | 18,675 | 7,150 |
| 2 | solved | 1/1 | 2/2 | 4.5 | 18 | 20,089 | 7,392 | |
M01sphinx-doc__sphinx-9698 | 1 | solved | 1/1 | 45/45 | 4.9 | 31 | 22,290 | 7,581 |
| 2 | solved | 1/1 | 45/45 | 1.7 | 19 | 15,538 | 4,965 | |
M02sphinx-doc__sphinx-8269 | 1 | solved | 1/1 | 5/5 | 4.8 | 23 | 31,462 | 14,988 |
| 2 | solved | 1/1 | 5/5 | 6.7 | 37 | 41,891 | 20,792 | |
M03sphinx-doc__sphinx-7910 | 1 | solved | 1/1 | 16/16 | 8.8 | 34 | 39,804 | 27,993 |
| 2 | solved | 1/1 | 16/16 | 13.4 | 56 | 53,540 | 34,201 | |
M04sphinx-doc__sphinx-8595 | 1 | not solved, test patch not applicable | – | – | 2.3 | 31 | 17,572 | 6,542 |
| 2 | not solved, test patch not applicable | – | – | 8.2 | 45 | 31,446 | 11,828 | |
M05sphinx-doc__sphinx-10435 | 1 | solved | 1/1 | 74/74 | 4.8 | 25 | 27,438 | 13,627 |
| 2 | solved | 1/1 | 74/74 | 15.1 | 54 | 64,009 | 40,907 | |
M06sphinx-doc__sphinx-8475 | 1 | solved | 1/1 | 17/17 | 3.9 | 30 | 26,692 | 11,664 |
| 2 | solved | 1/1 | 17/17 | 3.6 | 24 | 26,765 | 10,740 | |
M07sphinx-doc__sphinx-8459 | 1 | solved | 1/1 | 17/17 | 5.8 | 54 | 50,903 | 15,936 |
| 2 | solved | 1/1 | 17/17 | 4.3 | 51 | 41,529 | 11,548 | |
M08sphinx-doc__sphinx-7462 | 1 | not solved | 0/2 | 49/49 | 15.2 | 43 | 60,699 | 39,410 |
| 2 | not solved | 1/2 | 49/49 | 11.4 | 53 | 47,728 | 25,778 | |
M09sphinx-doc__sphinx-7440 | 1 | solved | 1/1 | 12/12 | 16.2 | 71 | 75,983 | 35,674 |
| 2 | solved | 1/1 | 12/12 | 18.8 | 80 | 118,921 | 44,390 | |
M10sphinx-doc__sphinx-9367 | 1 | solved | 1/1 | 25/25 | 1.5 | 23 | 15,296 | 4,243 |
| 2 | solved | 1/1 | 25/25 | 4.0 | 22 | 17,016 | 4,903 | |
M11pytest-dev__pytest-7205 | 1 | solved | 10/10 | 16/16 | 2.8 | 30 | 21,718 | 8,098 |
| 2 | solved | 10/10 | 16/16 | 13.7 | 57 | 45,942 | 29,874 | |
M12pytest-dev__pytest-7982 | 1 | solved | 1/1 | 78/78 | 8.4 | 25 | 20,119 | 10,964 |
| 2 | solved | 1/1 | 78/78 | 2.7 | 17 | 18,540 | 8,178 | |
M13pytest-dev__pytest-7432 | 1 | solved | 1/1 | 77/77 | 13.1 | 19 | 44,471 | 33,862 |
| 2 | solved | 1/1 | 77/77 | 1.6 | 12 | 14,345 | 4,537 | |
M14pytest-dev__pytest-6202 | 1 | solved | 1/1 | 72/72 | 6.1 | 21 | 14,701 | 6,068 |
| 2 | solved | 1/1 | 72/72 | 8.9 | 33 | 26,025 | 13,017 |
07 · Limits
What this measurement does not show
Easy tasks only. The rate holds for the 87 tasks of the “<15 min fix” level from four projects, not for SWE-bench Verified as a whole and not for harder issues. It cannot be set beside published Verified scores.
Known tasks. The issues and fixes of SWE-bench Verified are public. Whether Qwen3.8-Flash-Next knows them from training cannot be checked here.
Replicated scoring. Scoring ran without SWE-bench's Docker images, in an environment built to the harness 4.1.0 specifications.
Passing tests only. Scoring does not say whether a solved patch addresses the root cause or only the tested case. This report contains no review of the patches.
Two passes. At temperature 1.0 a third pass may end differently. The range of the rate reflects variation across tasks, not within a task.
Agent limits. Context (262,144 tokens) and time are limited: 120 minutes for Django and sympy, 60 for Sphinx and pytest. The number of steps limits nothing: 79 passes ran with a 150-step limit that none reached and that OpenCode does not apply before. The one pass that reached it ran again without a limit; chapter 06 shows that pass.