Skip to content

Evaluate security upgrades through completed local commits - #98566

Draft
devjiwonchoi wants to merge 3 commits into
jiwon/agent-upgrade/setupfrom
jiwon/agent-upgrade/evals
Draft

Evaluate security upgrades through completed local commits#98566
devjiwonchoi wants to merge 3 commits into
jiwon/agent-upgrade/setupfrom
jiwon/agent-upgrade/evals

Conversation

@devjiwonchoi

@devjiwonchoi devjiwonchoi commented Sep 11, 2026

Copy link
Copy Markdown
Member

Stacked on #98562.

Why?

A successful handoff or dependency installation does not prove that an agent completed an upgrade. The workflow needs behavioral coverage for migration repairs, complete local commits and prerequisites that should prevent changes.

How?

Add an independent Vercel Sandbox eval suite for same-major upgrades, major migrations, existing upgrade PRs and failed PR lookup. Run the candidate CLI and codemod with real Codex or Claude agents, ordinary user prompts, controlled advisory/provider responses and withheld behavioral assertions.

Check completed commits, async request isolation, image-quality compatibility, compatible React dependencies and local-only delivery with --experimental-agent-dry-run. Retain transcripts and evidence separately for Luna, Terra, Haiku and Sonnet experiments. Keep the public documentation benchmark unchanged.

The suite uses a manual runner; it adds no CI workflow or test-skipping rules.

@github-actions

github-actions Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Failing test suites

Commit: 9dfaa8c | About building and testing Next.js

pnpm test-start-turbo test/production/next-server-nft/next-server-nft.test.ts (turbopack) (job)

  • next-server-nft > with output:standalone > should not trace too many files in next-server.js.nft.json (DD)
Expand output

● next-server-nft › with output:standalone › should not trace too many files in next-server.js.nft.json

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `next-server-nft with output:standalone should not trace too many files in next-server.js.nft.json 1`

- Snapshot  - 0
+ Received  + 7

@@ -227,10 +227,17 @@
    "/node_modules/next/dist/lib/typescript/runTypeCheckCli.js",
    "/node_modules/next/dist/lib/typescript/runTypeScriptCli.js",
    "/node_modules/next/dist/lib/typescript/type-paths.js",
    "/node_modules/next/dist/lib/typescript/writeAppTypeDeclarations.js",
    "/node_modules/next/dist/lib/typescript/writeConfigurationDefaults.js",
+   "/node_modules/next/dist/lib/upgrade/codex.js",
+   "/node_modules/next/dist/lib/upgrade/harness.js",
+   "/node_modules/next/dist/lib/upgrade/models.js",
+   "/node_modules/next/dist/lib/upgrade/receipt.js",
+   "/node_modules/next/dist/lib/upgrade/resolve.js",
+   "/node_modules/next/dist/lib/upgrade/resources.js",
+   "/node_modules/next/dist/lib/upgrade/security.js",
    "/node_modules/next/dist/lib/url.js",
    "/node_modules/next/dist/lib/verify-partytown-setup.js",
    "/node_modules/next/dist/lib/verify-root-layout.js",
    "/node_modules/next/dist/lib/verify-typescript-setup.js",
    "/node_modules/next/dist/lib/wait.js",

  130 |         ]
  131 |
> 132 |         expect(traceGrouped).toMatchInlineSnapshot(`
      |                              ^
  133 |          [
  134 |            "/node_modules/@img/colour/*",
  135 |            "/node_modules/@img/sharp-<PLATFORM>-<ARCH>/*",

  at Object.toMatchInlineSnapshot (production/next-server-nft/next-server-nft.test.ts:132:30)

Other failing CI jobs

@devjiwonchoi
devjiwonchoi added this pull request to stack #98567 September 11, 2026 13:31
@devjiwonchoi
devjiwonchoi force-pushed the jiwon/agent-upgrade/workflow branch from 3a464f7 to 4502a77 Compare September 11, 2026 14:16
@devjiwonchoi
devjiwonchoi force-pushed the jiwon/agent-upgrade/evals branch from a43c8e1 to 0cbcbaa Compare September 11, 2026 14:16
@devjiwonchoi
devjiwonchoi removed this pull request from stack #98567 September 11, 2026 14:32
@devjiwonchoi
devjiwonchoi changed the base branch from jiwon/agent-upgrade/workflow to jiwon/agent-upgrade/evals-base September 11, 2026 14:33
Installing a safe version does not complete a migration, and replacing Next can erase its installed guides. Turn the resolved target into retained context and a handoff to the current agent.

Copy bundled workflow files and download relevant canonical guides, using Pages Router paths for versions through 13. Retain evidence outside app dependencies. The workflow requires codemods, contextual repairs, verification and commit checkpoints; experimental dry-run stops at local commits. Introduce the dry-run flag with its first execution consumer; terminal background launch follows in the next checkpoint.
Terminal users need upgrades to proceed without occupying the terminal, while an existing agent should retain its session. Detect installed harnesses, offer the CLI picker and launch detached Codex exec or native Claude background mode only when needed.

Show session, logs, stop and continuation instructions, distinguishing Codex resume from live attachment. Read final startup events after observing process exit so a fast successful task still produces a receipt; preserve nonzero-exit failures and never relaunch automatically. New workers select Luna or Haiku, and existing sessions retain their model and permissions.
@devjiwonchoi
devjiwonchoi force-pushed the jiwon/agent-upgrade/evals branch from 0cbcbaa to f54bbba Compare September 11, 2026 23:38
@devjiwonchoi
devjiwonchoi changed the base branch from jiwon/agent-upgrade/evals-base to jiwon/agent-upgrade/setup September 11, 2026 23:38
Installing the target version or printing a handoff does not establish that an
agent finished the migration. The workflow needs behavioral coverage of its
terminal and existing-agent entrypoints, required repairs and stop conditions.

Add an isolated Vercel Sandbox suite for same-major upgrades, major migrations,
existing upgrade PRs and failed PR lookup. Run all four scenarios with
Codex/Luna, Codex/Terra, Claude/Haiku and Claude/Sonnet. Use real candidate tools,
controlled advisory/provider responses, ordinary user prompts, withheld runtime
assertions and retained transcripts and commit evidence. Observe background
completion and publication attempts rather than treating launcher exit as success.

Keep the public documentation benchmark unchanged and give each experiment its
own result archive. Pin Next's existing lru-cache build dependency so adding the
Sandbox SDK cannot change its precompiled runtime through transitive hoisting.
Live provider publication, desktop attachment and eval CI automation remain
outside this suite's local-commit acceptance boundary.
@devjiwonchoi
devjiwonchoi force-pushed the jiwon/agent-upgrade/evals branch from f54bbba to 9dfaa8c Compare September 11, 2026 23:43
@devjiwonchoi
devjiwonchoi force-pushed the jiwon/agent-upgrade/setup branch from 22b79bd to 4723ad0 Compare September 12, 2026 07:19
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