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.1 /home/ubuntu/wt/worktree-git-11/apps/server ·································stdout | src/storageCleanup.test.ts > removes clean submodules recursively, including deinitialized repositories [08:49:49.363] INFO (#45): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > keeps nested submodule files protected by the current keep rule [08:49:50.315] INFO (#270): storage cleanup removed worktree { threadId: 'thread-1' } stdout | src/storageCleanup.test.ts > keeps nested submodule files protected by the current keep rule [08:49:50.332] ERROR (#226): Error [AssertionError]: expected { outcome: 'removed', contents: null } to deeply equal { outcome: 'kept', …(1) } at /home/ubuntu/wt/worktree-git-11/apps/server/src/storageCleanup.test.ts:562:10 { actual: { outcome: 'removed', contents: null }, expected: { outcome: 'kept', contents: 'secret after deinit\n' }, showDiff: true, operator: 'deepStrictEqual', [cause]: undefined } x··stdout | src/storageCleanup.test.ts > preserves late tracked edits when submodules were never initialized [08:49:52.308] WARN (#1136): storage cleanup failed for worktree { threadId: 'thread-1', error: { _tag: 'GitCommandError', operation: 'StorageCleanup.cleanupGit', command: 'git worktree remove', cwd: '/tmp/cleanup-repo-2XsrZ8', detail: "fatal: '/tmp/storage-cleanup-FkBxFW/worktrees/feature' contains modified or untracked files, use --force to delete it" } } ···························································stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > measures nested regular files without following symlinks [08:49:58.873] INFO (#5906): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > still removes a worktree when measuring its size fails [08:49:59.039] INFO (#6016): storage cleanup removed worktree { threadId: 'thread-1' } ·····stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > reads the thread snapshot once per sweep, not per worktree [08:49:59.613] INFO (#6425): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > session updates to running or ready during a sweep make 1 sweep(s) in total [08:49:59.777] INFO (#6530): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > session updates to stopped or error during a sweep make 2 sweep(s) in total [08:49:59.923] INFO (#6635): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > does not measure a worktree kept for an open provider session [08:50:00.105] INFO (#6740): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > compares the checked-out branch without a full status [08:50:00.285] WARN (#6865): storage cleanup failed for worktree { threadId: 'thread-1', error: { _tag: 'GitCommandError', operation: 'StorageCleanup.branchChanged', command: 'git', cwd: '/tmp/storage-cleanup-mq8RpY/worktrees/feature', detail: 'Git index is locked. Status will resume when the index lock is removed.' } } stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > compares the checked-out branch without a full status [08:50:00.371] INFO (#6865): storage cleanup removed worktree { threadId: 'thread-1' } ···stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "uncommitted-changes" [08:50:00.643] INFO (#7118): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "tracked-changes" [08:50:00.804] INFO (#7223): storage cleanup removed worktree { threadId: 'thread-1' } ···stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "tracked-changes" [08:50:01.140] INFO (#7469): storage cleanup removed worktree { threadId: 'thread-1' } ···stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > preserves tracked edits written after the final status check [08:50:01.592] WARN (#7783): storage cleanup failed for worktree { threadId: 'thread-1', error: { _tag: 'GitCommandError', operation: 'StorageCleanup.cleanupGit', command: 'git worktree remove', cwd: '/tmp/cleanup-repo-4OeSar', detail: "fatal: '/tmp/storage-cleanup-mxf20u/worktrees/feature' contains modified or untracked files, use --force to delete it" } } ··stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > streams the current report and subsequent runs [08:50:01.752] INFO (#7893): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > caps entries while preserving totals and prioritizing removals [08:50:01.935] INFO (#7998): storage cleanup removed worktree { threadId: 'thread-1' } ···stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > serializes concurrent requests and returns each run's report [08:50:02.332] INFO (#8229): storage cleanup removed worktree { threadId: 'thread-1' } ··stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > reports git failures without aborting the remaining categories [08:50:02.577] WARN (#8389): storage cleanup failed for worktree { threadId: 'thread-1', error: { _tag: 'GitCommandError', operation: 'StorageCleanup.cleanupGit', command: 'git worktree remove', cwd: '/tmp/cleanup-repo-jKojgh', detail: 'fatal: cannot remove a locked working tree;' } } ··············stdout | src/storageCleanup.test.ts > keeps saved usage data when removing a settled checkout [08:50:04.203] INFO (#9652): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > leaves settled cleanup to the regular sweeps after thread.settled [08:50:04.355] INFO (#9757): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > leaves settled cleanup to the regular sweeps after stopped [08:50:04.489] INFO (#9862): storage cleanup removed worktree { threadId: 'thread-1' } ·stdout | src/storageCleanup.test.ts > leaves settled cleanup to the regular sweeps after ready [08:50:04.624] INFO (#9967): storage cleanup removed worktree { threadId: 'thread-1' } · ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ FAIL src/storageCleanup.test.ts > keeps nested submodule files protected by the current keep rule AssertionError: expected { outcome: 'removed', contents: null } to deeply equal { outcome: 'kept', …(1) } - Expected + Received { - "contents": "secret after deinit - ", - "outcome": "kept", + "contents": null, + "outcome": "removed", } ❯ src/storageCleanup.test.ts:562:10 560| ? yield* fs.readFileString(`${child}/.env`) 561| : null, 562| }).toEqual({ outcome: "kept", contents: "secret after deinit\n" … | ^ 563| }), 564| ), ❯ IteratorImpl.~effect/Effect/successCont ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~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 ❯ 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 ❯ ../../node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/Effect.ts:26055:13 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed (1) Tests 1 failed | 141 passed (142) Start at 08:49:37 Duration 26.85s (tests 61%, transform 27%, import 12%) Transform transforming modules took 7.24s · 27% of tracked time, re-done on every run persist transforms across runs with fsModuleCache: true learn more: https://vitest.dev/guide/improving-performance#caching-between-reruns JSON report written to /tmp/worktree-git-11/20368-tests-r2-full.json