Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
237 changes: 236 additions & 1 deletion agent-results.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"metadata": {
"exportedAt": "2026-06-09T23:59:46.876Z",
"exportedAt": "2026-06-16T17:19:40.187Z",
"experiments": [
{
"name": "claude-fable-5",
Expand Down Expand Up @@ -241,6 +241,23 @@
},
"avgDuration": 254.36284201388887
},
{
"name": "glm-5.2",
"timestamp": "2026-06-16T16:36:48.069Z",
"modelName": "GLM 5.2",
"agentHarness": "OpenCode",
"docsImpact": {
"baseSuccessRate": 88,
"docsSuccessRate": 96,
"delta": 8,
"newlyPassed": [
"agent-029-use-cache-directive",
"agent-038-refresh-settings"
],
"newlyFailed": []
},
"avgDuration": 281.812078125
},
{
"name": "gpt-5.2-codex-xhigh",
"timestamp": "2026-04-06T14:41:53.406Z",
Expand Down Expand Up @@ -3434,6 +3451,224 @@
}
}
],
"glm-5.2": [
{
"evalPath": "agent-000-app-router-migration-simple",
"result": {
"success": true,
"duration": 297875,
"evalPath": "agent-000-app-router-migration-simple",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-021-avoid-fetch-in-effect",
"result": {
"success": true,
"duration": 235065,
"evalPath": "agent-021-avoid-fetch-in-effect",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-022-prefer-server-actions",
"result": {
"success": true,
"duration": 232464,
"evalPath": "agent-022-prefer-server-actions",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-023-avoid-getserversideprops",
"result": {
"success": true,
"duration": 227544,
"evalPath": "agent-023-avoid-getserversideprops",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-024-avoid-redundant-usestate",
"result": {
"success": true,
"duration": 164497,
"evalPath": "agent-024-avoid-redundant-usestate",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-025-prefer-next-link",
"result": {
"success": true,
"duration": 171884,
"evalPath": "agent-025-prefer-next-link",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-026-no-serial-await",
"result": {
"success": true,
"duration": 261743,
"evalPath": "agent-026-no-serial-await",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-027-prefer-next-image",
"result": {
"success": true,
"duration": 198476,
"evalPath": "agent-027-prefer-next-image",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-028-prefer-next-font",
"result": {
"success": true,
"duration": 162906,
"evalPath": "agent-028-prefer-next-font",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-029-use-cache-directive",
"result": {
"success": true,
"duration": 565732,
"evalPath": "agent-029-use-cache-directive",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-030-app-router-migration-hard",
"result": {
"success": true,
"duration": 630454,
"evalPath": "agent-030-app-router-migration-hard",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-031-proxy-middleware",
"result": {
"success": true,
"duration": 191961,
"evalPath": "agent-031-proxy-middleware",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-032-use-cache-directive",
"result": {
"success": true,
"duration": 236457,
"evalPath": "agent-032-use-cache-directive",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-033-forbidden-auth",
"result": {
"success": true,
"duration": 263701,
"evalPath": "agent-033-forbidden-auth",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-034-async-cookies",
"result": {
"success": true,
"duration": 174825,
"evalPath": "agent-034-async-cookies",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-035-connection-dynamic",
"result": {
"success": true,
"duration": 189349,
"evalPath": "agent-035-connection-dynamic",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-036-after-response",
"result": {
"success": true,
"duration": 224846,
"evalPath": "agent-036-after-response",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-037-updatetag-cache",
"result": {
"success": true,
"duration": 348589,
"evalPath": "agent-037-updatetag-cache",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-038-refresh-settings",
"result": {
"success": true,
"duration": 219561,
"evalPath": "agent-038-refresh-settings",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-039-indirect-proxy",
"result": {
"success": true,
"duration": 201942,
"evalPath": "agent-039-indirect-proxy",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-040-unstable-instant",
"result": {
"success": false,
"duration": 215774,
"evalPath": "agent-040-unstable-instant",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-041-optimize-ppr-shell",
"result": {
"success": true,
"duration": 337323,
"evalPath": "agent-041-optimize-ppr-shell",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-042-enable-ppr",
"result": {
"success": true,
"duration": 188269,
"evalPath": "agent-042-enable-ppr",
"timestamp": "2026-06-16T16:36:48.069Z"
}
},
{
"evalPath": "agent-043-view-transitions",
"result": {
"success": true,
"duration": 412727,
"evalPath": "agent-043-view-transitions",
"timestamp": "2026-06-16T16:36:48.069Z"
}
}
],
"gpt-5.2-codex-xhigh": [
{
"evalPath": "agent-000-app-router-migration-simple",
Expand Down
54 changes: 54 additions & 0 deletions experiments/glm-5.2--agents-md.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import type { ExperimentConfig } from '@vercel/agent-eval';

const config: ExperimentConfig = {
agent: 'vercel-ai-gateway/opencode',
evals: process.env.EVAL_FILTER ?? '*',
model: 'vercel/zai/glm-5.2',
agentOptions: {
// Reuse the GLM 5.1 OpenCode binary. glm-5.2 isn't in models.dev's `zai`/
// `vercel` provider catalogs yet, so it can't be baked in — instead the
// model is fully specified below via extraProviders. OpenCode builds the
// model from config and routes it through the Vercel AI Gateway.
binaryUrl:
'https://ymdea60kblwwhidh.public.blob.vercel-storage.com/opencode-linux-x64-RCtfS54uaTwa5i9C3bpzguLy3jEBP6',
extraProviders: {
vercel: {
models: {
'zai/glm-5.2': {
name: 'GLM 5.2',
reasoning: true,
tool_call: true,
temperature: true,
attachment: true,
modalities: { input: ['text', 'image', 'pdf'], output: ['text'] },
limit: { context: 1000000, output: 131072 },
cost: { input: 0, output: 0, cache_read: 0 },
},
},
},
},
},
scripts: ['build'],
runs: 4,
earlyExit: true,
timeout: 1200,
sandbox: 'vercel',
setup: async (sandbox) => {
// Bump Next.js to latest canary
await sandbox.runCommand('npm', ['install', 'next@canary']);

// Create AGENTS.md at the root
await sandbox.writeFiles({
'AGENTS.md': `<!-- BEGIN:nextjs-agent-rules -->
# This is NOT the Next.js you know

This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in \`node_modules/next/dist/docs/\` before writing any code. Heed deprecation notices.
<!-- END:nextjs-agent-rules -->
`,
'CLAUDE.md': '@AGENTS.md\n',
'GEMINI.md': '@AGENTS.md\n',
});
},
};

export default config;
42 changes: 42 additions & 0 deletions experiments/glm-5.2.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import type { ExperimentConfig } from '@vercel/agent-eval';

const config: ExperimentConfig = {
agent: 'vercel-ai-gateway/opencode',
evals: process.env.EVAL_FILTER ?? '*',
model: 'vercel/zai/glm-5.2',
agentOptions: {
// Reuse the GLM 5.1 OpenCode binary. glm-5.2 isn't in models.dev's `zai`/
// `vercel` provider catalogs yet, so it can't be baked in — instead the
// model is fully specified below via extraProviders. OpenCode builds the
// model from config and routes it through the Vercel AI Gateway.
binaryUrl:
'https://ymdea60kblwwhidh.public.blob.vercel-storage.com/opencode-linux-x64-RCtfS54uaTwa5i9C3bpzguLy3jEBP6',
extraProviders: {
vercel: {
models: {
'zai/glm-5.2': {
name: 'GLM 5.2',
reasoning: true,
tool_call: true,
temperature: true,
attachment: true,
modalities: { input: ['text', 'image', 'pdf'], output: ['text'] },
limit: { context: 1000000, output: 131072 },
cost: { input: 0, output: 0, cache_read: 0 },
},
},
},
},
},
scripts: ['build'],
runs: 4,
earlyExit: true,
timeout: 1200,
sandbox: 'vercel',
setup: async (sandbox) => {
// Bump Next.js to latest canary
await sandbox.runCommand('npm', ['install', 'next@canary']);
},
};

export default config;
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

RUN v3.2.6 /workspace

✓ EVAL.ts (6 tests) 6ms

Test Files 1 passed (1)
Tests 6 passed (6)
Start at 16:40:48
Duration 224ms (transform 36ms, setup 0ms, collect 29ms, tests 6ms, environment 0ms, prepare 61ms)

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@

> build
> next build

▲ Next.js 16.3.0-canary.52 (Turbopack)

Creating an optimized production build ...
✓ Compiled successfully in 4.3s
Running TypeScript ...
Finished TypeScript in 1845ms ...
Collecting page data using 1 worker ...
Generating static pages using 1 worker (0/4) ...
Generating static pages using 1 worker (1/4)
Generating static pages using 1 worker (2/4)
Generating static pages using 1 worker (3/4)
✓ Generating static pages using 1 worker (4/4) in 131ms
Finalizing page optimization ...

Route (app)
┌ ○ /
├ ○ /_not-found
└ ○ /about


○ (Static) prerendered as static content

Loading
Loading