diff --git a/doc/plans/2026-10-06-default-agent-runner.md b/doc/plans/2026-10-06-default-agent-runner.md index 65583ee507a..d64f4c44eb8 100644 --- a/doc/plans/2026-10-06-default-agent-runner.md +++ b/doc/plans/2026-10-06-default-agent-runner.md @@ -2,6 +2,24 @@ Updated 2026-10-12. +## Fixture closure checkpoint + +The runtime prerequisite advances to `093b97aa12` with 54 files. The Codex +review remains 99 files. Existing managed fixtures now run the saved environment +probe before native-generation Codex creation and inspect server defaults only +for automatic requests. The owned setup probe lease joins the existing runtime +estimator, with unrelated leases excluded from task attribution. The fixture +contract records one setup lease per eligible cell, zero provider turns, zero +retries, a 330-second HTTP deadline and a 10-second platform command deadline. +Archive/release, expiry and failure-cost holds remain unchanged. + +Both worktrees pass 36 existing fixture/billing controls and canonical E2E +no-emit. Existing catalog/report controls pass 46 cases, and core compatibility +discovery succeeds. Affected adapter discovery/setup routes pass 69 controls. +Unknown sandbox facts now expect Legacy; measured GNU2.39 ARM64 expects native. +All checks use fixtures, not paid provider proof. Exact-head hosted CI/review and +real managed onboarding/task/follow-up remain pending. No merge has occurred. + ## Corrective source checkpoint: ready for fresh CI and review Runtime prerequisite source is `cf19e086ae4a0142c8b4314771c55f73b294805b` diff --git a/server/src/__tests__/adapter-routes.test.ts b/server/src/__tests__/adapter-routes.test.ts index b042705a9b9..9ccc123a859 100644 --- a/server/src/__tests__/adapter-routes.test.ts +++ b/server/src/__tests__/adapter-routes.test.ts @@ -173,6 +173,7 @@ describe("adapter routes", () => { [{ driver: "ssh", platform: "linux", architecture: "arm64" }, "paperclip"], [{ driver: "ssh", platform: "linux", architecture: "arm" }, "legacy"], [{ driver: "local", platform: "win32", architecture: "x64" }, "legacy"], + [{ driver: "sandbox", platform: "linux", architecture: "arm64", libc: "glibc", glibcVersion: "2.39" }, "paperclip"], ])("projects the selected environment once for the whole adapter inventory (%s)", async (target, defaultRunner) => { const resolveRunnerTarget = vi.fn(async () => target); const response = await request(createApp({}, { resolveRunnerTarget })).get("/api/adapters?companyId=company-1&environmentId=selected"); @@ -187,7 +188,7 @@ describe("adapter routes", () => { const response = await request(createApp({}, { resolveRunnerTarget })).get("/api/adapters?companyId=company-1"); expect(response.status).toBe(200); expect(resolveRunnerTarget).toHaveBeenCalledExactlyOnceWith("company-1", undefined); - expect(response.body.find((adapter: any) => adapter.type === "codex_local")).toMatchObject({ defaultRunner: "paperclip" }); + expect(response.body.find((adapter: any) => adapter.type === "codex_local")).toMatchObject({ defaultRunner: "legacy" }); }); it("keeps unscoped inventory independent of company target discovery", async () => {