$ npx vitest run tests/ambience.test.ts tests/build.test.ts Started UTC: 2026-10-14T09:08:40.941366+00:00 RUN v5.0.4 /home/hermes/worktrees/find-word-v0.2.3 ❯ tests/ambience.test.ts (3 tests | 1 failed) 484ms × 선택 구간은 승인 계획의 불변 provenance이며 manifest와 고지에 동일하게 남는다 12ms ❯ tests/build.test.ts (30 tests | 3 failed) 18875ms × 현장음 manifest 사본을 함께 바꿔도 승인 selectedSegmentStartSeconds 계약 위반을 거부한다 449ms × 현장음 manifest 사본을 함께 바꿔도 승인 startSeconds 계약 위반을 거부한다 436ms × 현장음 manifest 사본을 함께 바꿔도 승인 durationSeconds 계약 위반을 거부한다 443ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 4 ⎯⎯⎯⎯⎯⎯⎯ FAIL tests/ambience.test.ts > 선택 구간은 승인 계획의 불변 provenance이며 manifest와 고지에 동일하게 남는다 AssertionError: expected { street: undefined, …(7) } to deeply equal { street: 35, mall: 36, …(6) } - Expected + Received { - "cafe": 180, - "department": 90, - "mall": 36, - "market": 60, - "rain": 180, - "street": 35, - "subway": 65, - "theater": 45, + "cafe": undefined, + "department": undefined, + "mall": undefined, + "market": undefined, + "rain": undefined, + "street": undefined, + "subway": undefined, + "theater": undefined, } ❯ tests/ambience.test.ts:141:65 139| market: 60, subway: 65, cafe: 180, rain: 180 }; 140| expect(Object.fromEntries(plan.assets.map((asset: { environmentId: s… 141| [asset.environmentId, asset.selectedSegmentStartSeconds]))).toEqua… | ^ 142| for (const asset of plan.assets) { 143| const start = asset.selectedSegmentStartSeconds; ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/4]⎯ FAIL tests/build.test.ts > 현장음 manifest 사본을 함께 바꿔도 승인 selectedSegmentStartSeconds 계약 위반을 거부한다 FAIL tests/build.test.ts > 현장음 manifest 사본을 함께 바꿔도 승인 startSeconds 계약 위반을 거부한다 FAIL tests/build.test.ts > 현장음 manifest 사본을 함께 바꿔도 승인 durationSeconds 계약 위반을 거부한다 AssertionError: expected [Function verify] to throw an error ❯ tests/build.test.ts:316:22 314| JSON.stringify(manifest), 315| ); 316| expect(verify).toThrow(); | ^ 317| } finally { 318| rmSync(temporary, { recursive: true, force: true }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/4]⎯ Test Files 2 failed (2) Tests 4 failed | 29 passed (33) Start at 09:08:41 Duration 19.25s (tests 98%, setup 2%) Exit code: 1 Finished UTC: 2026-10-14T09:09:00.972768+00:00