Public

vercel/next.js

Updated: 8/15/2026

Languages

JavaScript52.2%TypeScript32.1%Rust14%MDX0.8%CSS0.8%Other0.1%
14 Models74 Tasks

The React Framework

Harness

1

Mini-SWE-agent
55 / 74

$2.51

8m28s

2

Mini-SWE-agent
54 / 74

$11.73

16m44s

3

Mini-SWE-agent
51 / 74

$8.80

17m24s

4

Mini-SWE-agent
50 / 74

$0.99

5m22s

5

Mini-SWE-agent
44 / 74

$5.02

18m05s

6

Mini-SWE-agent
43 / 74

$0.92

19m31s

7

Mini-SWE-agent
43 / 74

$4.78

20m06s

8

Mini-SWE-agent
40 / 74

$1.27

5m40s

9

Mini-SWE-agent
39 / 74

$0.15

6m08s

10

Mini-SWE-agent
38 / 74

$2.32

6m04s

11

Mini-SWE-agent
38 / 74

$4.38

11m34s

12

Mini-SWE-agent
34 / 74

$0.48

3m07s

13

Mini-SWE-agent
34 / 74

$0.75

4m18s

14

Mini-SWE-agent
32 / 74

$0.39

5m09s

Key Takeaways

  • Kimi K3 with Mini-SWE-agent resolves 54 of 74 tasks, one fewer than GPT-5.6 Sol with Mini-SWE-agent, at $11.73 per test.
  • Grok 4.5 with Mini-SWE-agent is the fastest result at 321.86 seconds, resolving 50 of 74 tasks for $0.99 per test.
  • Claude Haiku 4.5 (Nonthinking) with Mini-SWE-agent records the lowest score, resolving 32 of 74 tasks at $0.39 per test.

Model Comparison

Accuracy

74.32%

GPT-5.6 Sol

72.97%

Kimi K3

Task outcomes

74 tasks

Both
GPT-5.6 Sol only
Kimi K3 only
Neither
Not attempted

Cost / test

$2.51

GPT-5.6 Sol

$11.73

Kimi K3

Cost distribution

$0.00$22.16$44.31

Latency

8m 28s

GPT-5.6 Sol

16m 44s

Kimi K3

Latency distribution

0s31m 39s63m 19s

Cost Analysis

Cost / Test vs. Accuracy
ACCURACYCOST

Average Token Use / Test

Token Usage
InputOutputReasoningCache readCache write
Claude Sonnet 5
10.8M
Claude Opus 4.7
6.0M
Claude Opus 4.8
5.8M
Claude Fable 5
5.3M
GLM 5.2
4.4M
Kimi K3
3.8M
GPT-5.6 Luna
3.6M
Gemini 3.5 Flash
2.9M
Claude Haiku 4.5 (Nonthinking)
2.3M
GPT 5.5
2.3M
GPT-5.6 Sol
2.2M
Grok 4.5
1.4M
Gemini 3.1 Pro Preview (02/26)
1.1M
GPT-5.6 Terra
772K

Cost is the clearest tradeoff in this comparison. GPT-5.6 Sol leads at 74.32% for $2.51 per test. No other model in this comparison is cheaper.

Latency Analysis

Latency vs. Accuracy
ACCURACYLATENCY

Average Response Time / Test

Response Time
Claude Sonnet 5
20m 6s
GLM 5.2
19m 31s
Claude Opus 4.8
18m 5s
Claude Fable 5
17m 24s
Kimi K3
16m 44s
Claude Opus 4.7
11m 34s
GPT-5.6 Sol
8m 28s
GPT-5.6 Luna
6m 8s
GPT 5.5
6m 4s
Gemini 3.5 Flash
5m 40s
Grok 4.5
5m 22s
Claude Haiku 4.5 (Nonthinking)
5m 9s
Gemini 3.1 Pro Preview (02/26)
4m 18s
GPT-5.6 Terra
3m 7s

Latency separates several models with similarly strong scores. GPT-5.6 Sol leads at 74.32%, while GPT-5.6 Terra is fastest at 3m 7s with 45.95% accuracy.

Tasks with failures

Models
GPT-5.6 Sol
Kimi K3
Claude Fable 5
Grok 4.5
Claude Opus 4.8
GLM 5.2
Claude Sonnet 5
Gemini 3.5 Flash
GPT-5.6 Luna
GPT 5.5
Claude Opus 4.7
GPT-5.6 Terra
Gemini 3.1 Pro Preview (02/26)
Claude Haiku 4.5 (Nonthinking)

Task detail

66182eb

Issue statement

When a Next.js project sets output: 'export' (or output: 'standalone') and also enables the experimental supportsImmutableAssets flag, the flag is incorrectly left enabled in the resolved configuration.

supportsImmutableAssets is designed to work together with the adapter code path, which controls how static assets are emitted (e.g. under a versioned _next/static/immutable/ directory). The output: 'export' and output: 'standalone' modes currently use a non-adapter code path, so honoring supportsImmutableAssets there produces incorrect output.

Expected behavior: while resolving/normalizing the Next.js configuration, if experimental.supportsImmutableAssets is enabled but output is set to 'export' or 'standalone', the flag must be force-disabled (experimental.supportsImmutableAssets === false) in the final resolved config, even when the user explicitly requested true. When output is not one of those values, an explicitly enabled supportsImmutableAssets must remain enabled.

This resolution should happen as part of the same config finalization that applies other framework defaults, so it is reflected in the config returned by loading the configuration.

View Hidden Tests
diff --git a/test/unit/isolated/supports-immutable-assets-output.test.ts b/test/unit/isolated/supports-immutable-assets-output.test.tsnew file mode 100644index 00000000..e80a1c84--- /dev/null+++ b/test/unit/isolated/supports-immutable-assets-output.test.ts@@ -0,0 +1,45 @@+/* eslint-env jest */+import { PHASE_PRODUCTION_BUILD } from 'next/constants'++// force require usage instead of dynamic import in jest+// x-ref: https://github.com/nodejs/node/issues/35889+process.env.__NEXT_TEST_MODE = 'jest'++describe('config - supportsImmutableAssets with output', () => {+  let loadConfig: typeof import('next/dist/server/config').default++  beforeEach(async () => {+    jest.resetModules()+    const configModule = await import('next/dist/server/config')+    loadConfig = configModule.default+  })++  it('force-disables supportsImmutableAssets when output is "export"', async () => {+    const config = await loadConfig(PHASE_PRODUCTION_BUILD, '<rootDir>', {+      customConfig: {+        output: 'export',+        experimental: { supportsImmutableAssets: true },+      },+    })+    expect(config.experimental.supportsImmutableAssets).toBe(false)+  })++  it('force-disables supportsImmutableAssets when output is "standalone"', async () => {+    const config = await loadConfig(PHASE_PRODUCTION_BUILD, '<rootDir>', {+      customConfig: {+        output: 'standalone',+        experimental: { supportsImmutableAssets: true },+      },+    })+    expect(config.experimental.supportsImmutableAssets).toBe(false)+  })++  it('keeps supportsImmutableAssets enabled when output is not set', async () => {+    const config = await loadConfig(PHASE_PRODUCTION_BUILD, '<rootDir>', {+      customConfig: {+        experimental: { supportsImmutableAssets: true },+      },+    })+    expect(config.experimental.supportsImmutableAssets).toBe(true)+  })+})