diff --git a/docs-internal/registry-parity-worklist.md b/docs-internal/registry-parity-worklist.md index ae9db9ef25..e80daf37c1 100644 --- a/docs-internal/registry-parity-worklist.md +++ b/docs-internal/registry-parity-worklist.md @@ -683,6 +683,14 @@ real e2e tests that prove Linux-parity behavior — not smoke tests. `2026-07-08T13-12-51-0700-item12-jq-check-types-final.log`; `2026-07-08T13-12-51-0700-item12-jq-cargo-fmt-check-final.log`. Rev: `slnmvuqz`. + - **pi — DONE.** Enabled the existing real `createSession('pi')` headless + suite in default core Vitest coverage and unskipped the upstream Pi SDK bash + tool path. The suite proves initialization over the native sidecar + transport plus real ACP write-tool and bash-tool flows inside the VM. Proof: + `2026-07-08T14-37-00-0700-item12-cc-cache-restored-target-files.log`; + `2026-07-08T14-37-00-0700-item12-sidecar-build-after-manual-cc-restore.log`; + `2026-07-08T14-38-00-0700-item12-pi-headless-final-after-cc-restore.log`. + Rev: `mzuuypsm`. - **Objective:** write real e2e tests proving each behaves like its Linux counterpart (jq processes real JSON, sed edits streams, tar round-trips archives, gzip round-trips, etc.); agents exercise the real ACP diff --git a/packages/core/tests/pi-headless.test.ts b/packages/core/tests/pi-headless.test.ts index b1cd922223..66246c810d 100644 --- a/packages/core/tests/pi-headless.test.ts +++ b/packages/core/tests/pi-headless.test.ts @@ -1,8 +1,7 @@ import { resolve } from "node:path"; -import type { Fixture, ToolCall } from "@copilotkit/llmock"; -import { moduleAccessMounts } from "./helpers/node-modules-mount.js"; import common from "@agentos-software/common"; import pi from "@agentos-software/pi"; +import type { Fixture, ToolCall } from "@copilotkit/llmock"; import { describe, expect, test } from "vitest"; import type { AgentCapabilities, AgentInfo } from "../src/agent-os.js"; import { AgentOs } from "../src/agent-os.js"; @@ -11,6 +10,7 @@ import { startLlmock, stopLlmock, } from "./helpers/llmock-helper.js"; +import { moduleAccessMounts } from "./helpers/node-modules-mount.js"; const MODULE_ACCESS_CWD = resolve(import.meta.dirname, ".."); @@ -206,15 +206,7 @@ describe("full createSession('pi') inside the VM", () => { } }, 120_000); - // Blocked on shell `>` redirect output being visible to `vm.readFile()`. - // The vanilla Pi SDK bash backend spawns the shell directly and the redirect - // runs inside the guest shell, but the written bytes do not reconcile to the - // host read path yet. Before the adapter dropped its custom bash operations - // override this case passed because the override routed the command through - // the rpc-client `sh -c` path that the host can observe; the vanilla backend - // surfaces the underlying runtime gap. Tracked in - // ~/.agents/todo/agentos-runtime-fixes.md (shell-exec redirect visibility). - test.skip("runs the real Pi SDK ACP flow end-to-end for bash tool calls", async () => { + test("runs the real Pi SDK ACP flow end-to-end for bash tool calls", async () => { const fixtures = createToolFixtures( { name: "bash", diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index 96c473e2c7..f9881d112c 100644 --- a/packages/core/vitest.config.ts +++ b/packages/core/vitest.config.ts @@ -20,7 +20,6 @@ const SLOW_E2E_FILES = [ "tests/batch-file-ops.test.ts", "tests/agentos-base-filesystem.test.ts", "tests/pi-sdk-boot-probe.test.ts", - "tests/pi-headless.test.ts", "tests/pi-tool-llmock.test.ts", "tests/native-sidecar-process-permissions.test.ts", "tests/pi-extensions.test.ts",