$ npx vitest run tests/ambience.test.ts -t 원본 계획 RUN v5.0.4 /home/hermes/worktrees/find-word-v0.2.3 ❯ tests/ambience.test.ts (2 tests | 1 failed | 1 skipped) 117ms × 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 112ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'street', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/street.ogg" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'street', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 264.254694 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be '0ddb0be7eb3427f781c8268bcbc74b8ad7e1f…' // Object.is equality - Expected: "0ddb0be7eb3427f781c8268bcbc74b8ad7e1fbf75b9f6966e65274dbe85f3d9d" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 3414104 // Object.is equality - Expected: 3414104 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 264.254694 // Object.is equality - Expected: 264.254694 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to deeply equal { status: 'verified', …(3) } - Expected: { "dateUtc": "2026-10-14", "evidence": ".agent/evidence-v0.2.3/source-integrity.json", "method": "SHA-256, byte count, ffprobe format.duration, full FFmpeg decode", "status": "verified", } + Received: undefined ❯ tests/ambience.test.ts:90:43 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'street', …(19) } to match object { environmentId: 'street', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "street", "license": "Public domain (PD-author)", "licenseUrl": "https://commons.wikimedia.org/wiki/Template:PD-author", "pageUrl": "https://commons.wikimedia.org/wiki/File:Sunday_in_the_city_street_noise2.ogg", "sourceDurationSeconds": 264.254694, - "verifiedLocalSource": "/tmp/findword-ambience-sources/street.ogg", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected '0ddb0be7eb3427f781c8268bcbc74b8ad7e1f…' to be undefined // Object.is equality - Expected: undefined + Received: "0ddb0be7eb3427f781c8268bcbc74b8ad7e1fbf75b9f6966e65274dbe85f3d9d" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'mall', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/mall.ogg" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'mall', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 60.05551 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 'bb066e130e5d665db57cb5f88e820d053c724…' // Object.is equality - Expected: "bb066e130e5d665db57cb5f88e820d053c724d8f777b275213998d2074c6529a" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 1666896 // Object.is equality - Expected: 1666896 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 60.05551 // Object.is equality - Expected: 60.05551 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'mall', …(19) } to match object { environmentId: 'mall', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "mall", "license": "Public domain (PD-author)", "licenseUrl": "https://commons.wikimedia.org/wiki/Template:PD-author", "pageUrl": "https://commons.wikimedia.org/wiki/File:1_minute_at_the_alexa_mall_in_berlin.ogg", "sourceDurationSeconds": 60.05551, - "verifiedLocalSource": "/tmp/findword-ambience-sources/mall.ogg", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[14/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected 'bb066e130e5d665db57cb5f88e820d053c724…' to be undefined // Object.is equality - Expected: undefined + Received: "bb066e130e5d665db57cb5f88e820d053c724d8f777b275213998d2074c6529a" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'theater', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/theater.mp3" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'theater', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 176.901224 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be '05c3ece7c088f34700b7610f791c0ad848a24…' // Object.is equality - Expected: "05c3ece7c088f34700b7610f791c0ad848a24c77be2c32fd1503a78356739a43" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 1485015 // Object.is equality - Expected: 1485015 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[19/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 176.901224 // Object.is equality - Expected: 176.901224 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[20/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'theater', …(19) } to match object { environmentId: 'theater', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "theater", "license": "CC0 1.0 Universal", "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/", "pageUrl": "https://freesound.org/people/ElevatorFan2020/sounds/853576/", "sourceDurationSeconds": 176.901224, - "verifiedLocalSource": "/tmp/findword-ambience-sources/theater.mp3", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[21/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected '05c3ece7c088f34700b7610f791c0ad848a24…' to be undefined // Object.is equality - Expected: undefined + Received: "05c3ece7c088f34700b7610f791c0ad848a24c77be2c32fd1503a78356739a43" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[22/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'department', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/department.mp3" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[23/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'department', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 292.872 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[24/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be '261fda28722fba623483a90b32e7a2ec388c5…' // Object.is equality - Expected: "261fda28722fba623483a90b32e7a2ec388c59887f56a5247156b53f1ffb6ccd" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[25/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 2445024 // Object.is equality - Expected: 2445024 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[26/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 292.872 // Object.is equality - Expected: 292.872 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[27/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'department', …(19) } to match object { environmentId: 'department', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "department", "license": "CC0 1.0 Universal", "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/", "pageUrl": "https://freesound.org/people/icmusic/sounds/268941/", "sourceDurationSeconds": 292.872, - "verifiedLocalSource": "/tmp/findword-ambience-sources/department.mp3", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[28/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected '261fda28722fba623483a90b32e7a2ec388c5…' to be undefined // Object.is equality - Expected: undefined + Received: "261fda28722fba623483a90b32e7a2ec388c59887f56a5247156b53f1ffb6ccd" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[29/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'market', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/market.ogg" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[30/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'market', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 76.696961 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[31/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 'fc0075dce8ad05b56460c9f18754c27b2021f…' // Object.is equality - Expected: "fc0075dce8ad05b56460c9f18754c27b2021f21f1c780a595ccda648d33c941d" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[32/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 622200 // Object.is equality - Expected: 622200 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[33/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 76.696961 // Object.is equality - Expected: 76.696961 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[34/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'market', …(19) } to match object { environmentId: 'market', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "market", "license": "CC BY-SA 4.0", "licenseUrl": "https://creativecommons.org/licenses/by-sa/4.0/", "pageUrl": "https://commons.wikimedia.org/wiki/File:Italia_Palermo_mercato-Ballaro_20161225_122421.ogg", "sourceDurationSeconds": 76.696961, - "verifiedLocalSource": "/tmp/findword-ambience-sources/market.ogg", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[35/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected 'fc0075dce8ad05b56460c9f18754c27b2021f…' to be undefined // Object.is equality - Expected: undefined + Received: "fc0075dce8ad05b56460c9f18754c27b2021f21f1c780a595ccda648d33c941d" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[36/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'subway', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: "/tmp/findword-ambience-sources/subway.ogg" ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[37/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'subway', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 425.024 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[38/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be '41fcf064cde53cef1528fe98721347851e60c…' // Object.is equality - Expected: "41fcf064cde53cef1528fe98721347851e60c070d8ff9f213f354025cf272d4c" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[39/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 3343901 // Object.is equality - Expected: 3343901 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[40/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 425.024 // Object.is equality - Expected: 425.024 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[41/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'subway', …(19) } to match object { environmentId: 'subway', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "subway", "license": "CC BY 4.0", "licenseUrl": "https://creativecommons.org/licenses/by/4.0/", "pageUrl": "https://commons.wikimedia.org/wiki/File:TTC_Subway_Line_1_Ambience_-_Museum_to_Union_(Freesound).ogg", "sourceDurationSeconds": 425.024, - "verifiedLocalSource": "/tmp/findword-ambience-sources/subway.ogg", } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[42/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected '41fcf064cde53cef1528fe98721347851e60c…' to be undefined // Object.is equality - Expected: undefined + Received: "41fcf064cde53cef1528fe98721347851e60c070d8ff9f213f354025cf272d4c" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[43/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'cafe', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: null ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[44/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'cafe', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 1200.001 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[45/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be '6360791fdcee1f64638f0fc9abd6d2c7a1aa7…' // Object.is equality - Expected: "6360791fdcee1f64638f0fc9abd6d2c7a1aa75fd3d2b80033170a02d025099dc" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[46/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 19947952 // Object.is equality - Expected: 19947952 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[47/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 1200.000998 // Object.is equality - Expected: 1200.000998 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[48/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'cafe', …(19) } to match object { environmentId: 'cafe', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "cafe", "license": "CC0 1.0 Universal", "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/", "pageUrl": "https://commons.wikimedia.org/wiki/File:Cafe_ambiance.ogg", "sourceDurationSeconds": 1200.001, - "verifiedLocalSource": null, } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[49/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected '6360791fdcee1f64638f0fc9abd6d2c7a1aa7…' to be undefined // Object.is equality - Expected: undefined + Received: "6360791fdcee1f64638f0fc9abd6d2c7a1aa75fd3d2b80033170a02d025099dc" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[50/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'rain', …(9) } to not have property "verifiedLocalSource" - Expected: undefined + Received: null ❯ tests/ambience.test.ts:85:28 83| for (const [index, asset] of plan.assets.entries()) { 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); | ^ 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[51/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'rain', …(9) } to not have property "sourceDurationSeconds" - Expected: undefined + Received: 1800 ❯ tests/ambience.test.ts:86:28 84| const original = evidence.find((e: { file: string }) => e.file.spl… 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); | ^ 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); 88| expect.soft(asset.sourceBytes).toBe(original.bytes); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[52/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 'ef0511593b1bb0ba47d5c5dafd83eb07ba854…' // Object.is equality - Expected: "ef0511593b1bb0ba47d5c5dafd83eb07ba854b5a65fd5d41b8c76a1b3ff2c22a" + Received: undefined ❯ tests/ambience.test.ts:87:45 85| expect.soft(asset).not.toHaveProperty("verifiedLocalSource"); 86| expect.soft(asset).not.toHaveProperty("sourceDurationSeconds"); 87| expect.soft(asset.expectedSourceSha256).toBe(original.sha256); | ^ 88| expect.soft(asset.sourceBytes).toBe(original.bytes); 89| expect.soft(asset.directMediaDurationSeconds).toBe(Number(original… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[53/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 91187572 // Object.is equality - Expected: 91187572 + Received: undefined ❯ tests/ambience.test.ts:88:36 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[54/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected undefined to be 1800 // Object.is equality - Expected: 1800 + Received: undefined ❯ tests/ambience.test.ts:89:51 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[55/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected { environmentId: 'rain', …(19) } to match object { environmentId: 'rain', …(9) } (22 matching properties omitted from actual) - Expected + Received @@ -6,7 +6,6 @@ "environmentId": "rain", "license": "CC0 1.0 Universal", "licenseUrl": "https://creativecommons.org/publicdomain/zero/1.0/", "pageUrl": "https://commons.wikimedia.org/wiki/File:Urban_Street_on_a_Rainy_Afternoon.flac", "sourceDurationSeconds": 1800, - "verifiedLocalSource": null, } ❯ tests/ambience.test.ts:91:40 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[56/64]⎯ FAIL tests/ambience.test.ts > 원본 계획은 임시 경로 대신 검증된 해시·바이트·직접 미디어 길이를 고정한다 AssertionError: expected 'ef0511593b1bb0ba47d5c5dafd83eb07ba854…' to be undefined // Object.is equality - Expected: undefined + Received: "ef0511593b1bb0ba47d5c5dafd83eb07ba854b5a65fd5d41b8c76a1b3ff2c22a" ❯ tests/ambience.test.ts:92:53 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[57/64]⎯ Test Files 1 failed (1) Tests 1 failed | 1 skipped (2) Start at 08:48:48 Duration 1.44s (setup 51%, transform 26%, tests 18%, import 4%, worker 1%) EXIT_CODE=1