Qwen3.8-Flash-Next at IQ3_XXS on DeepSWE v1.1

One agent, one attempt per task, the model quantized to about 3.43 bits per weight and served on local GPUs. Run 2026-10-07 13:52:45 UTC to 2026-10-12 07:20:26 UTC.

The quantized model resolved 71 of 113 tasks (62.8%). Scored the way Datacurve scores its public board, that is 63.4% (71 of 112 graded attempts), with a 95% interval of 54.2–71.7%.

71/113tasks resolved [counted]
63.4%Pass@1 by the board's rule [counted]
54.2–71.7%95% interval, one attempt per task [computed]
75.84 GBmodel files on disk, versus 353.89 GB at 16 bits [recorded / arithmetic]

Labels in square brackets say where a figure comes from: counted from our run ledger and task evidence, computed from those counts or from Datacurve's public trial data, recorded from configs, logs and file records, and arithmetic from recorded figures. Nothing on this page is estimated.

Three ways to count, and the one that matches the board

ConventionResolvedRate95% interval
All 113 tasks, retries counted
A task counts as resolved if any attempt resolved it; the one task never graded counts as not resolved.
71/11362.8%53.6–71.2%
First attempts, harness failures excluded
Drops the tasks whose first attempt hit a harness failure.
69/11062.7%53.4–71.2%
First attempts only, all 113 tasks
Harness failures count as not resolved.
69/11361.1%51.8–69.5%
Every graded attempt (Datacurve's rule)
Timeouts count as failures; attempts lost to a harness failure are dropped, as Datacurve drops trials that error.
71/11263.4%54.2–71.7%

The first three rows confirm the counts noted at the run's finish (71/113 (62.8%), 69/110 (62.7%), 69/113 (61.1%)). Datacurve keeps every trial that ran in its score, including those stopped at the agent time limit (116 such trials), and drops trials that hit an infrastructure error (155 dropped). The matching rule for our run is the last row: our 2 timeouts count as failures, the 4 attempts lost to harness failures are dropped, and the two retries that ran cleanly count. Restricted to first attempts, the same rule gives the second row. The rows differ by less than the width of any one interval.

Pass@1
The share of single attempts that resolve their task. Datacurve ran 4.0 scored attempts per task for each configuration on average and pools them; we ran one.
Resolved
Every hidden test passes on the agent's committed change, run in a fresh verifier container.
f2p and p2p
Fail-to-pass tests fail before the change and must pass after it; pass-to-pass tests already pass and must keep passing.
Quantization, bits per weight
Storing each weight in fewer bits than a standard 16-bit number. Fewer bits means smaller files and less memory traffic, at some cost in accuracy.
IQ3_XXS, IQ2_XS, IQ4_NL, Q2_0 …
GGUF weight formats, as used by llama.cpp. The number is roughly the bits per weight; "IQ" formats store groups of weights as entries of a small codebook, chosen with the help of an importance matrix. The file is labelled IQ3_XXS, but it mixes several formats (table below).
MTP draft
A small multi-token-prediction head that proposes the next few tokens; the full model checks every proposed token in one pass. It is there for speed.
Compaction
When the conversation nears the context window, the agent summarizes earlier turns to make room.

The setup

The model and the quant

Qwen3.8-Flash-Next GSQ-RCO, a mixture-of-experts model: 48 layers, 512 routed experts per layer with 10 used per token, a 262,144-token native context [recorded, file metadata]. The quantization is GSQ-RCO by ISTA DASLab, with an importance matrix from 1,000 calibration chunks [recorded].

FileSize on diskWeightsBits/weight
Qwen3.8-Flash-Next-GSQ-RCO-IQ3_XXS-00001-of-00002.gguf
main weights
47.04 GB125.7 B2.99
Qwen3.8-Flash-Next-GSQ-RCO-IQ3_XXS-00002-of-00002.gguf
per-layer embedding table
28.80 GB51.2 B4.50
Model, both parts75.84 GB176.9 B3.43

Sizes are recorded file sizes; weight counts and bits per weight are arithmetic over the recorded tensor list (shape and bytes of every tensor). File hashes are not recorded.

Part of the modelWeightsGBBits/weight
Routed experts (512 per layer)120.8 B42.912.84
Per-layer embedding table51.2 B28.804.50
Everything else (attention, embeddings, head, norms)4.7 B3.996.78
Shared expert0.2 B0.124.10
Formats in the file, by bytes
FormatWeightsGBBits/weightShare of bytes
IQ4_NL66.4 B37.334.5049.2%
IQ3_S22.7 B9.773.4412.9%
Q2_025.2 B7.082.259.3%
IQ2_S16.8 B5.372.567.1%
IQ2_XS16.8 B4.852.316.4%
IQ2_XXS15.1 B3.892.065.1%
IQ3_XXS10.1 B3.853.065.1%
BF160.8 B1.5316.002.0%
Q6_K1.1 B0.866.561.1%
Q5_K0.8 B0.585.500.8%
IQ4_XS0.7 B0.394.250.5%
Q4_K0.5 B0.304.500.4%

Formats holding fewer than 0.1 billion weights (norms and small vectors) are left out of this table but counted above.

Against the vendor's weights. At 16 bits per weight the same 176.9 billion weights would take 353.89 GB [arithmetic]; this quant is 4.7× smaller. The routed experts, most of the model, average 2.84 bits per weight. Every result on this page is for this quant, not for the vendor's release, whose format is not recorded here.

The MTP draft. The engine loads its own multi-token-prediction draft layer (835 MiB of VRAM [recorded, engine log]); its format is not recorded.

Hardware and engine

The model was served from the GGUF files above plus the engine's own repacked copy of the experts. The agent and the task containers ran on a separate host, and the model server answered over the local network.

GPUNVIDIA GeForce RTX 4080
CPUIntel Core i9-13900K (no AVX-512; the engine's CPU expert kernels use AVX2)
EngineStrata 0.1.40, revision 82f46a8
Where the weights liverouted experts in system RAM (39.97 GiB), with a GPU cache of the most-used experts (8.94 GiB of VRAM)
KV cacheint8, 32,768 of 204,800 cells resident on the GPU
Draft tokens per roundup to 4 (the engine's own MTP layer)
Server context204,800
Agent compaction at172,032 tokens (window − 32,768)

The harness

Against the public board

Datacurve publishes every trial behind its leaderboard: 31,462 scored trials over 70 configurations of 28 models, all run with mini-swe-agent [public data, fetched 2026-10-09]. We scored each configuration as passed trials over scored trials, and took each model's best configuration. Method check: against the leaderboard page as read on 2026-10-13 (marked updated September 22, 2026), this reproduces the published Pass@1 of all 21 models the page lists, and for every one of them also the page's choice of best effort level, its average output tokens and its average steps. Average cost matches for 15; the page prices the other 6 differently from the cost field in the trial data. The one cost on this page, the public median in the effort table, comes from that field.

At 63.4%, 29 public configurations score higher, 1 the same and 40 lower; by each model's best configuration, 12 of 28 models score higher. Our 95% interval (54.2–71.7%) contains 31 of the 70 public scores, so the ranking within that band is not settled by one attempt per task. The board's own Qwen entry, qwen3.8-max at xhigh effort, computes to 57.5% under its harness.

Pass@1 for every public configuration, with ours

Public configurationOurs (one attempt per task)Vendor-reportedVendor-reported 58.7%Each row: model · reasoning effort020406080gpt-6-astra · xhigh74.1gemini-3.8-flash · high73.8claude-opus-5 · max73.6gpt-6-astra · high73.2gpt-6-astra · max73.2claude-opus-5 · xhigh73.2claude-opus-5 · high72.8gpt-6-astra · medium72.8gpt-5.6-sol · max72.7gemini-3.8-flash · medium71.0gpt-5.6-sol · xhigh70.7claude-fable-5 · xhigh69.9claude-fable-5 · max69.7gpt-5.6-terra · max69.6gpt-5.6-sol · high69.4glm-5.3 · max69.0claude-opus-5 · medium68.9claude-fable-5 · high68.6kimi-k3 · max68.5grok-4.6 · medium67.5gpt-5.6-luna · max67.2gpt-5.5 · xhigh67.0gpt-6-astra · low67.0grok-4.6 · xhigh66.7gemini-3.7-flash · medium65.5claude-fable-5 · medium65.4gemini-3.7-flash · high65.3grok-4.6 · high65.2gpt-5.5 · high64.4Flash-Next IQ3_XXS (ours)63.4glm-5.3-flash · max63.4deepseek-v4-pro · max62.8gpt-5.6-sol · medium61.1gpt-5.6-terra · xhigh60.2claude-fable-5 · low59.6claude-opus-4.8 · max59.0claude-opus-5 · low58.1qwen3.8-max · xhigh57.5gpt-5.6-luna · xhigh56.9muse-spark-1.2 · xhigh54.9claude-opus-4.8 · xhigh54.4gpt-5.5 · medium54.0claude-sonnet-5 · max53.8gemini-3.7-flash · low53.8gpt-5.6-terra · high53.8grok-4.5 · high53.8deepseek-v4-flash · max53.3muse-spark-1.1 · xhigh53.3claude-opus-4.8 · high51.8gpt-5.4 · xhigh51.8claude-sonnet-5 · xhigh49.7claude-opus-4.8 · medium48.7claude-sonnet-5 · high48.2gemini-3.6-flash · high46.7gpt-5.6-sol · low45.4gpt-5.6-luna · high44.2glm-5.2 · max43.8grok-4.6 · low41.6claude-opus-4.8 · low40.8claude-sonnet-5 · medium39.8glm-5.2 · high36.3gemini-3.5-flash · high36.1gpt-5.6-terra · medium35.1kimi-k2.7-code · None30.5claude-sonnet-5 · low30.5claude-sonnet-4.6 · high29.9gpt-5.5 · low27.0gpt-5.6-terra · low24.1gemini-3.1-pro-preview · high11.7gpt-5.6-luna · medium11.3gpt-5.6-luna · low1.5Pass@1 (% of attempts that resolve their task)
Each bar is one public configuration's Pass@1 computed from Datacurve's trials; ours (orange, with its 95% interval) is one attempt per task in a different harness, and the dashed line marks the vendor-reported 58.7%.

Difficulty

For each task, Datacurve's data gives every model's pass rate; the task's average public pass rate is the mean over the 28 models [computed; it matches the published per-task difficulty file to within 0.0005]. The tasks we resolved average 62.1% on that scale; the ones we missed average 36.7%.

Resolve rate by difficulty

OursAverage public model02550751001722Q13–31%4/236140Q231–47%14/236156Q348–63%14/239068Q464–73%19/219181Q573–92%20/22Fifth of tasks by public pass rate (Q1 hardest)Under each: rate range; our resolved/gradedResolve rate (%)
The 113 tasks split into five groups by average public pass rate, hardest first, with our resolve rate beside the average public model's in each group.

Every task, by how often public models solve it

0255075100Resolved71 tasksNot resolved41 tasksNot graded1 tasksAverage public pass rate of the task (%)
Each dot is one task placed at its average public pass rate, in the row of our outcome; the task never graded is shown hollow.

Hard tasks we solved

In the hardest fifth (Q1, average public pass rate 3–31%), our run resolved 4 of 23. No task under 26% was resolved.

TaskPublic pass rateModels that ever solved it
quill-shared-toolbar-focus25.9%19 of 28
superjson-error-stack-serialization27.6%18 of 28
oxvg-structural-selector-preservation29.6%20 of 28
vulture-persistent-analysis-cache30.9%19 of 28

Easy tasks we missed

In the easiest fifth (Q5, average public pass rate 73–92%), our run missed 2 of 22.

TaskPublic pass rateModels that ever solved itOurs
wasmi-trap-coredumps74.0%26 of 28not resolved
vitest-duration-sharding78.2%27 of 28not resolved
All 113 tasks
TaskLanguagePublicOurs
gql-incremental-graphql-deliveryPython3%not resolved
obsidian-linter-auto-table-of-contentsTypeScript4%not resolved
bandit-structured-nosec-directivesPython8%not resolved
termenv-preserve-ansi-resetsGo10%not resolved
updo-policy-alertingGo13%not resolved
effect-sse-httpapi-streamingTypeScript17%not resolved
sqlfmt-create-table-ddl-formattingPython20%not resolved
koota-pair-relation-trackingTypeScript22%not resolved
pest-character-class-coalescingRust23%not resolved
meriyah-explicit-resource-declarationsTypeScript23%not resolved
koota-query-predicatesTypeScript25%not resolved
testem-bail-on-test-failureJavaScript25%not resolved
quill-shared-toolbar-focusTypeScript26%resolved
helm-array-merge-strategiesGo26%not resolved
prometheus-transactional-reload-statusTypeScript26%not resolved
ink-grid-box-layoutTypeScript26%not resolved
obsidian-linter-link-format-conversionTypeScript27%not resolved
superjson-error-stack-serializationTypeScript28%resolved attempt 2
koota-deferred-mutation-bufferTypeScript30%not resolved
oxvg-structural-selector-preservationRust30%resolved
kea-atomic-signal-selectorsTypeScript30%not resolved
kombu-virtual-queue-dead-letteringPython30%not resolved
vulture-persistent-analysis-cachePython31%resolved
csstree-shorthand-expansion-compressionJavaScript31%resolved
happy-dom-deterministic-intersectionobserverTypeScript31%not resolved
awilix-async-container-initializationTypeScript31%not resolved
koota-composite-trait-aspectsTypeScript35%resolved
textual-kitty-key-phasesPython36%not resolved
expr-try-catch-errorsGo36%not resolved
katex-multicolumn-array-spansJavaScript38%resolved
clack-async-autocomplete-optionsTypeScript39%resolved
onedump-dump-encryption-pipelineGo39%resolved
kgateway-consistent-hash-policyGo39%resolved
langchain-request-coalescingPython40%timeout
arktype-json-schema-refs-dependenciesTypeScript41%resolved
go-critic-doc-link-checkerGo41%not resolved
pwntools-tube-multiplexingPython41%not resolved
python-statemachine-state-data-scopingPython41%not resolved
httpx-streaming-json-iterationPython42%not resolved
igel-persist-feature-schemaPython43%resolved
optique-conditional-option-dependenciesTypeScript43%resolved
participle-grammar-conflict-analysisGo44%resolved
dateutil-rfc5545-timezone-interopPython45%resolved
bandit-incremental-cache-controlPython45%resolved
fastapi-deprecation-response-headersPython47%resolved
bandit-interprocedural-taint-checksPython47%resolved
pebble-durability-wait-apisGo48%not resolved
boa-hierarchical-evaluation-cancellationRust48%resolved
eicrud-keyset-pagination-cursorTypeScript49%not resolved
dasel-html-document-formatGo50%resolved
mashumaro-flattened-dataclass-fieldsPython50%not resolved
fastapi-implicit-head-optionsPython50%not resolved
cliffy-config-file-parsingTypeScript52%resolved
skrub-duration-encodingPython53%resolved
anko-typed-variable-bindingsGo54%resolved
opa-rego-rule-profilingGo55%resolved
httpx-multipart-response-parsingPython55%not resolved
prometheus-typed-label-sortingGo56%resolved
kombu-single-active-consumer-priorityPython56%resolved
tengo-destructuring-bindingsGo57%not resolved
claude-code-by-agents-recursive-delegationTypeScript58%not resolved
scriggo-method-declarationsGo60%not resolved
ipython-session-bundle-replayPython60%resolved
mnamer-daemon-watch-lifecyclePython60%resolved
valibot-recursive-schema-compositionTypeScript61%resolved
scc-bounded-memory-spillingGo61%resolved
mobly-grouped-test-barriersPython62%resolved
sqlite-utils-safe-import-checkpointsPython62%timeout
adaptix-name-mapping-aliasesPython63%resolved
kysely-window-grouping-helpersTypeScript64%resolved
textual-richlog-follow-statePython65%not resolved
fd-deterministic-multi-key-sortingRust65%resolved
tengo-callable-instance-isolationGo65%resolved
ts-pattern-match-eachTypeScript66%resolved
tomlkit-toml-table-convertersPython66%resolved
etree-xml-diff-patchGo66%resolved
numba-stencil-boundary-modesPython66%not graded 2 attempts
yaegi-go-embed-directivesGo67%resolved
opa-template-string-reconstructionGo67%resolved attempt 2
abs-stepped-slicesGo68%resolved
cattrs-partial-structuring-recoveryPython68%not resolved
dynamodb-toolbox-lazy-recursive-schemasTypeScript68%resolved
koota-entity-snapshot-rollbackPython68%resolved
obsidian-linter-scoped-ignore-markersTypeScript68%resolved
arcane-drift-detection-baselinesGo68%resolved
query-persist-restored-query-stateTypeScript71%resolved
anko-default-function-argumentsGo71%resolved
go-git-worktree-merge-conflictsGo72%resolved
geo-shapeindex-serializationGo72%resolved
kcp-go-multiplexed-kcp-streamsGo72%resolved
testem-per-launcher-reportsJavaScript73%resolved
dynamodb-toolbox-conditional-attribute-requirementsTypeScript73%resolved
wasmi-trap-coredumpsRust74%not resolved
task-task-graph-exportGo75%resolved
aiomonitor-task-snapshots-diffPython76%resolved
abs-module-cache-flagsGo77%resolved
vitest-duration-shardingTypeScript78%not resolved
ytt-jsonpath-query-apiGo78%resolved
wazero-multi-module-snapshotsGo79%resolved
goreleaser-retry-publish-auditingGo79%resolved
psd-tools-blend-range-apiPython80%resolved
yjs-map-conflict-detectionJavaScript82%resolved
httpx-deterministic-cookie-storeTypeScript83%resolved
returns-validated-error-accumulationPython83%resolved
ofetch-per-origin-circuit-breakerTypeScript83%resolved
go-genai-streamed-function-argsGo84%resolved
actionlint-action-pinning-lintGo84%resolved
happy-dom-abort-pending-body-readsTypeScript84%resolved
helm-unified-manifest-streamGo84%resolved
sql-formatter-bigquery-pipe-formattingTypeScript84%resolved
drizzle-orm-window-function-buildersTypeScript86%resolved
narwhals-rolling-window-suitePython89%resolved
true-myth-iterable-collection-combinatorsTypeScript92%resolved

By language

Resolve rate by language

OursAverage public model0255075100TypeScript20/35 solved5749Go26/34 solved7659Python18/33 solved5552JavaScript4/5 solved8050Rust3/5 solved6048Resolve rate (%)
Our resolve rate in each of the five languages beside the average public model's rate on the same tasks; the counts are small, so single tasks move our bars a lot.

Effort per task

Over our 112 graded attempts [counted from each task's summary]: 77.6 agent-hours in all. The public figures are medians over 31,462 trials run with mini-swe-agent on other hardware; they show the scale of a typical public attempt, not a like-for-like comparison.

Median per attemptOurs (Pi)Public (mini-swe-agent)
Agent wall time33.8 min16.0 min
Model turns (ours) / agent steps (public)13766
Output tokens117,27251,772
Largest context171,923126,159
Costnot recorded (local hardware)$2.74

Tool calls per attempt had a median of 148. 67 of our 112 attempts compacted at least once (at most 4 times); wall times ran from 14.7 to 180.0 minutes. Our output tokens are as the agent recorded them per turn; the public counts come from each provider and may count reasoning differently. Wall time depends on the serving hardware as much as on the model, so no speed comparison is made here.

Agent wall time per attempt

OursPublic trials (mini-swe-agent)01020304000–101110–203020–303930–451545–601260–90390–1200120–1802180+Agent wall time (minutes)Numbers over our bars: attempts% of attempts
The share of our attempts and of public trials in each wall-time band; the public trials ran on other hardware in another harness.

Model turns per attempt

OursPublic trials (mini-swe-agent)0102030405010–25025–50650–751175–10045100–15027150–20016200–3006300+Model turns (ours) / agent steps (public)Numbers over our bars: attempts% of attempts
The share of our attempts and of public trials by the number of model turns or agent steps.

Output tokens per attempt

OursPublic trials (mini-swe-agent)01020304010–25k025–50k3750–100k43100–150k21150–200k6200–300k4300k+Output tokens (thousands)Numbers over our bars: attempts% of attempts
The share of our attempts and of public trials by output tokens, as each harness or provider counted them.

Caveats and considerations

Harness problems, and the tasks each touched

ProblemTasks touched [counted]
Engine crashes. The server process crashed twice on the first day (2026-10-07 14:26:09 UTC; 2026-10-07, about 14:36 UTC). The log shows the engine starting again at 2026-10-07 14:26:21 UTC, 2026-10-07 14:36:21 UTC, 2026-10-07 19:44:05 UTC (while the run was paused), and no later start through the end of the run, so no crash after the first day.opa-template-string-reconstruction: attempt 1 lost (dropped), attempt 2 resolved; superjson-error-stack-serialization: attempt 1 lost (dropped), attempt 2 resolved. Also go-genai-streamed-function-args (5 connection errors, each recovered on retry, resolved).
Verifier container not at the pristine base. The fresh grading container was not at the task's clean base commit, so the attempt could not be graded.numba-stencil-boundary-modes (both of its 2 attempts; the only task never graded).
No per-command timeout. A shell command could run until the 10,800 s task limit. Commands of 900 s or more, found in the task logs:sqlite-utils-safe-import-checkpoints (10,501 s, timeout); langchain-request-coalescing (8,746 s, timeout); tengo-destructuring-bindings (1,417 s, not resolved); kysely-window-grouping-helpers (1,201 s, resolved); boa-hierarchical-evaluation-cancellation (900 s, resolved).
The agent shell's PATH. The agent's shell could not find cargo, the Rust toolchain, in these Rust tasks (a text search of the task logs). In a few TypeScript tasks deno or tsx was missing as well; whether those tools are in the images at all is not recorded.boa-hierarchical-evaluation-cancellation (resolved); fd-deterministic-multi-key-sorting (resolved); oxvg-structural-selector-preservation (resolved); pest-character-class-coalescing (not resolved). Missing deno/tsx: effect-sse-httpapi-streaming (not resolved); optique-conditional-option-dependencies (resolved); valibot-recursive-schema-composition (resolved).
Agent killed mid-command. The agent process exited with code 137 while a command ran, each time with its largest context near the agent's compaction point of 172,032 tokens; the cause is not recorded. Both were graded as they stood.pebble-durability-wait-apis (largest context 171,806, not resolved); tengo-destructuring-bindings (largest context 172,226, not resolved).

Reproduction

Not recorded

DeepSWE is Datacurve's benchmark; the public figures are computed from its published trial data. Our run used its public v1.1 tasks unchanged.