PR #22888 takeover verification head: 59f4779e1169b2f327723c07d30de871bc75674c base: d6fb62ac3f2ab54a100202f5aea1428cfda977cd Main regression: 2 fail, 2 policy/launch guard cases pass. No changes detected, skipping sync (6ms) No changes detected, skipping sync (9ms) note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead. RUN v5.0.5 /home/runner/_work/maria-blacksmith/maria-blacksmith-source stdout | src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts > initializes bypass before accepting prompts: { …(3) } [14:32:30.346] ERROR (#1): Error [AssertionError]: expected 'open' to equal 'restore' at /home/runner/_work/maria-blacksmith/maria-blacksmith-source/apps/server/src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:180:14 { actual: 'open', expected: 'restore', showDiff: true, operator: 'strictEqual', [cause]: undefined } stdout | src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts > initializes bypass before accepting prompts: { …(3) } [14:32:30.354] ERROR (#16): Error [AssertionError]: expected 'open' to equal 'restore' at /home/runner/_work/maria-blacksmith/maria-blacksmith-source/apps/server/src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:180:14 { actual: 'open', expected: 'restore', showDiff: true, operator: 'strictEqual', [cause]: undefined } ❯ t3 src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts (13 tests | 2 failed | 9 skipped) 33ms ↓ forks a session stored under the instance's own CLAUDE_CONFIG_DIR × initializes bypass before accepting prompts: { …(3) } 21ms × initializes bypass before accepting prompts: { …(3) } 5ms ✓ initializes bypass before accepting prompts: { permissionMode: 'default', …(2) } 4ms ✓ initializes bypass before accepting prompts: { …(3) } 2ms ↓ reopens a stalled MCP registration before delivering the resumed prompt ↓ only retries after confirmed process exit: true ↓ only retries after confirmed process exit: false ↓ stops retrying MCP registration after two timeouts and reports the cause ↓ cancels a stalled registration without retrying or retaining its prompt queue ↓ does not reuse a fresh session ID after MCP registration times out ↓ Claude CLI process (2) ↓ stops what the CLI left running when the session closes ↓ stops the CLI when the server that started it goes away ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯ FAIL t3 src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts > initializes bypass before accepting prompts: { …(3) } FAIL t3 src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts > initializes bypass before accepting prompts: { …(3) } AssertionError: expected 'open' to equal 'restore' Expected: "restore" Received: "open" ❯ src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts:180:14 178| const bypass = 179| options.permissionMode === "bypassPermissions" && options.allo… 180| assert.equal(first, bypass ? "restore" : "open"); | ^ 181| acknowledge.resolve(); 182| const session = yield* Fiber.join(opening); ❯ ~effect/Effect/successCont ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ~effect/Effect/evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 Test Files 1 failed (1) Tests 2 failed | 2 passed | 9 skipped (13) Start at 14:32:19 Duration 11.29s (transform 65%, setup 24%, import 10%) ❯ FiberImpl.evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ Array. ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1697:11 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯ Final adapter/runner/replay suites: claudeAgent through OrchestratorV2 using deterministic replay 796ms ✓ runs claude_idle_resume/claudeAgent through OrchestratorV2 using deterministic replay 1482ms ✓ runs claude_result_is_error/claudeAgent through OrchestratorV2 using deterministic replay 981ms ✓ runs simple/claudeAgent through OrchestratorV2 using deterministic replay 976ms ✓ runs tool_call_denied_write/claudeAgent through OrchestratorV2 using deterministic replay 1071ms ✓ runs tool_call_read_only/claudeAgent through OrchestratorV2 using deterministic replay 782ms ✓ runs tool_call_read_only_on_request/claudeAgent through OrchestratorV2 using deterministic replay 766ms ✓ runs tool_call_workspace_never/claudeAgent through OrchestratorV2 using deterministic replay 713ms ✓ runs tool_call_restricted_granular/claudeAgent through OrchestratorV2 using deterministic replay 789ms ✓ runs subagent/claudeAgent through OrchestratorV2 using deterministic replay 780ms ✓ runs multi_turn/claudeAgent through OrchestratorV2 using deterministic replay 1161ms ✓ runs multi_turn_restart/claudeAgent through OrchestratorV2 using deterministic replay 1213ms ✓ runs queued_turn/claudeAgent through OrchestratorV2 using deterministic replay 1198ms ✓ runs web_search/claudeAgent through OrchestratorV2 using deterministic replay 835ms ✓ runs message_steering/claudeAgent through OrchestratorV2 using deterministic replay 900ms ✓ runs turn_interrupt/claudeAgent through OrchestratorV2 using deterministic replay 525ms ✓ runs command_output_streaming/claudeAgent through OrchestratorV2 using deterministic replay 831ms ✓ runs turn_interrupt_mid_tool/claudeAgent through OrchestratorV2 using deterministic replay 696ms ✓ runs turn_interrupt_restart/claudeAgent through OrchestratorV2 using deterministic replay 1404ms ✓ runs thread_rollback/claudeAgent through OrchestratorV2 using deterministic replay 1781ms ✓ refuses messages to a native subagent thread without touching it 5670ms ✓ streams a subagent's foreground Bash output live during the root turn 1294ms ✓ ends a background subagent's open WebFetch (opened while root is idle) when its notification is stopped 1595ms ✓ ends a background subagent's open Write (opened before root settles) when its notification is failed 1594ms Test Files 3 passed (3) Tests 287 passed (287) Start at 14:33:18 Duration 80.88s (tests 77%, transform 13%, import 8%, setup 2%) Final check:changed: ping sync (6ms) $ node scripts/check-changed.ts HEAD ⊘ cache disabled check:changed: 3 files since fef42f2ebafc > vp format pass 1.1s Checking formatting... All matched files use the correct format. Finished in 789ms on 3 files using 4 threads. > vp graphql (apps/server) pass 2.1s ~/apps/server$ graphqlgen --check ⊘ cache disabled > vp lint pass 3.7s Found 0 warnings and 0 errors. Finished in 3.5s on 3 files with 200 rules using 4 threads. > vp knip 1/2 pass 30.1s > vp typecheck (2 packages) pass 31.5s ~/scripts$ tsc --noEmit ~/apps/server$ tsc --noEmit --- vp run: 0/2 cache hit (0%), 2/2 successful. (Run `vp run --last-details` for full details) > vp knip 2/2 pass 49.3s > vp test (2 files) pass 57.1s RUN v5.0.5 /home/runner/_work/maria-blacksmith/maria-blacksmith-source ✓ t3 src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts (236 tests) 13114ms ✓ ClaudeAdapterV2 attachments (12) ✓ preserves later-images with native PDFs, images, and paths on sends and steering 589ms ✓ preserves partial-images with native PDFs, images, and paths on sends and steering 511ms ✓ preserves cancelled-send with native PDFs, images, and paths on sends and steering 593ms ✓ preserves cancelled-steer with native PDFs, images, and paths on sends and steering 448ms ✓ preserves ordinary text with native PDFs, images, and paths on sends and steering 610ms ✓ ClaudeAdapterV2 background wake turns (186) ✓ keeps attachment reservations across compaction: release-after boundary 413ms ✓ keeps attachment reservations across compaction: cancel-after boundary 518ms ✓ keeps attachment reservations across compaction: release-before boundary 390ms ✓ keeps attachment reservations across compaction: resume-pending boundary 544ms ✓ persists a todo_list from inline Claude task-tool frames 2982ms ✓ t3 src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts (13 tests) 456ms ✓ forks a session stored under the instance's own CLAUDE_CONFIG_DIR 376ms Test Files 2 passed (2) Tests 249 passed (249) Start at 14:36:07 Duration 50.15s (transform 43%, tests 29%, setup 16%, import 13%) check:changed summary pass format 1.1s pass lint 3.7s pass knip 1/2 30.1s pass knip 2/2 49.3s pass graphql (apps/server) 2.1s pass typecheck (2 packages) 31.5s pass test (2 files) 57.1s CI also runs: full test suites, build unused patch check skipped: no dependency files changed Real Claude Code 2.1.310, installed SDK, exact production ordering: set_permission_mode bypassPermissions: acknowledged immediately after query(), before any prompt or initializationResult() call Unverified: authenticated real-client tool execution. Client model picker disables Claude because CLI is not authenticated. No UI implementation changed; appearance captures would not prove permission behavior. Review follow-up head: ad878ed499 One-second-free TestClock stall case failed before the timeout, then passed with 10-second timeout. Five cases now cover acknowledgement gating, rejection, policy/launch guards, and stalled initialization. > vp graphql (apps/server) pass 1.8s ~/apps/server$ graphqlgen --check ⊘ cache disabled > vp lint pass 2.0s Found 0 warnings and 0 errors. Finished in 1.8s on 2 files with 200 rules using 4 threads. > vp typecheck (2 packages) pass 32.4s ~/scripts$ tsc --noEmit ~/apps/server$ tsc --noEmit --- vp run: 0/2 cache hit (0%), 2/2 successful. @t3tools/scripts#typecheck not cached because it modified its inputs. (Run `vp run --last-details` for full details) > vp knip 1/2 pass 34.7s > vp knip 2/2 pass 52.7s > vp test (2 files) pass 68.8s RUN v5.0.5 /home/runner/_work/maria-blacksmith/maria-blacksmith-source ✓ t3 src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts (236 tests) 13035ms ✓ ClaudeAdapterV2 attachments (12) ✓ preserves later-images with native PDFs, images, and paths on sends and steering 423ms ✓ preserves partial-images with native PDFs, images, and paths on sends and steering 374ms ✓ preserves cancelled-send with native PDFs, images, and paths on sends and steering 356ms ✓ preserves cancelled-steer with native PDFs, images, and paths on sends and steering 354ms ✓ ClaudeAdapterV2 background wake turns (186) ✓ keeps attachment reservations across compaction: release-after boundary 309ms ✓ keeps attachment reservations across compaction: cancel-after boundary 371ms ✓ persists a todo_list from inline Claude task-tool frames 5666ms ✓ t3 src/orchestration-v2/Adapters/ClaudeAgentSdkQueryRunner.test.ts (14 tests) 502ms ✓ forks a session stored under the instance's own CLAUDE_CONFIG_DIR 406ms Test Files 2 passed (2) Tests 250 passed (250) Start at 15:00:25 Duration 63.54s (transform 58%, tests 23%, import 11%, setup 7%) check:changed summary pass format 0.8s pass lint 2.0s pass knip 1/2 34.7s pass knip 2/2 52.7s pass graphql (apps/server) 1.8s pass typecheck (2 packages) 32.4s pass test (2 files) 68.8s CI also runs: full test suites, build unused patch check skipped: no dependency files changed pass not cached: files changed during the run