From e44be6105362175689f792d73c5fdeec71e1cc1e Mon Sep 17 00:00:00 2001 From: SnapOtter Date: Sat, 20 Jun 2026 02:15:50 +0800 Subject: [PATCH] test: add real device-emulated mobile and tablet testing (phase 3) Replace the fake resized-desktop mobile specs with real Playwright device projects (Pixel 7, iPhone 14, iPad gen 7, Galaxy Tab S9) that exercise real touch, mobile UA, DPR, and WebKit engine. Device projects in playwright.config.ts: - mobile-chromium (Pixel 7, 412x839, Chromium) - mobile-webkit (iPhone 14, 390x664, WebKit) - tablet-webkit (iPad gen 7, 810x1080, WebKit) - tablet-chromium (Galaxy Tab S9, 640x1024, Chromium) Device specs (16 mobile, 10 tablet): - Core flow: navigate to tool, upload, process, download - Responsive chrome: bottom-nav, sidebar hidden, search, overflow - Touch interactions: before-after slider, crop canvas - Editor gate: phone asserts "Desktop Recommended" message - Editor tablet: iPad (810px) renders canvas, Galaxy Tab (640px) shows gate - SSE visibility-recovery regression guard - RTL Arabic locale responsive check Key finding: Galaxy Tab S9 viewport (640px) is below the 768px mobile breakpoint, so useMobile() returns true and the editor shows the mobile gate. Only iPad gen 7 (810px) is classified as non-mobile. Component tests (17 tests, Vitest/jsdom): - use-mobile hook: breakpoint behavior across all 4 device widths - mobile-bottom-nav: render, navigation links, settings callback, icons CI wiring: - ci.yml: mobile-chromium smoke job (PR gate) - nightly.yml: full device matrix with webkit - update-visual-baselines.yml: webkit + device projects for goldens Parity: 13218 passed, 0 dropped (PARITY OK) --- .github/workflows/ci.yml | 54 +- .github/workflows/nightly.yml | 54 + .github/workflows/update-visual-baselines.yml | 8 +- playwright.config.ts | 48 +- tests/baseline/phase3.json | 26664 ++++++++++++++++ tests/e2e/device-mobile.spec.ts | 296 + tests/e2e/device-tablet.spec.ts | 235 + tests/unit/web/mobile-bottom-nav.test.tsx | 93 + tests/unit/web/use-mobile.test.ts | 162 + 9 files changed, 27608 insertions(+), 6 deletions(-) create mode 100644 tests/baseline/phase3.json create mode 100644 tests/e2e/device-mobile.spec.ts create mode 100644 tests/e2e/device-tablet.spec.ts create mode 100644 tests/unit/web/mobile-bottom-nav.test.tsx create mode 100644 tests/unit/web/use-mobile.test.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e922c2a7..deb698b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -148,6 +148,58 @@ jobs: path: playwright-report/ retention-days: 7 + test-e2e-mobile-smoke: + name: E2E Mobile Smoke (Chromium) + runs-on: ubuntu-latest + timeout-minutes: 15 + services: + postgres: + image: postgres:17-alpine + env: + POSTGRES_USER: snapotter + POSTGRES_PASSWORD: snapotter + POSTGRES_DB: snapotter + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U snapotter" + --health-interval 5s + --health-timeout 3s + --health-retries 10 + redis: + image: redis:8-alpine + ports: + - 6379:6379 + options: >- + --health-cmd "redis-cli ping" + --health-interval 5s + --health-timeout 3s + --health-retries 10 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - uses: ./.github/actions/setup + - name: Get Playwright version + id: pw-version + run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> "$GITHUB_OUTPUT" + - name: Cache Playwright browsers + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: ~/.cache/ms-playwright + key: playwright-${{ runner.os }}-${{ steps.pw-version.outputs.version }} + - name: Install Playwright Chromium + run: pnpm playwright install --with-deps chromium + - name: Run mobile device specs (Pixel 7) + run: pnpm playwright test --project=mobile-chromium --grep @mobile + env: + PW_WORKERS: "2" + - name: Upload report on failure + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + if: failure() + with: + name: e2e-mobile-smoke-report + path: playwright-report/ + retention-days: 7 + pip-audit: name: Python Dependency Audit runs-on: ubuntu-latest @@ -189,7 +241,7 @@ jobs: build: name: Build runs-on: ubuntu-latest - needs: [lint, typecheck, test-unit, test-integration, test-e2e-smoke] + needs: [lint, typecheck, test-unit, test-integration, test-e2e-smoke, test-e2e-mobile-smoke] steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - uses: ./.github/actions/setup diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index f470be6f..bda00dc7 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -174,6 +174,60 @@ jobs: path: playwright-report/ retention-days: 7 + e2e-device-matrix: + name: E2E Device Matrix (mobile + tablet) + runs-on: ubuntu-latest + timeout-minutes: 30 + services: + postgres: + image: postgres:17-alpine + env: + POSTGRES_USER: snapotter + POSTGRES_PASSWORD: snapotter + POSTGRES_DB: snapotter + ports: + - 5432:5432 + options: >- + --health-cmd "pg_isready -U snapotter" + --health-interval 5s + --health-timeout 3s + --health-retries 10 + redis: + image: redis:8-alpine + ports: + - 6379:6379 + options: >- + --health-cmd "redis-cli ping" + --health-interval 5s + --health-timeout 3s + --health-retries 10 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - name: Install system dependencies + run: sudo apt-get update -qq && sudo apt-get install -y --no-install-recommends $SYSTEM_DEPS + - uses: ./.github/actions/setup + - name: Get Playwright version + id: pw-version + run: echo "version=$(node -p "require('@playwright/test/package.json').version")" >> "$GITHUB_OUTPUT" + - name: Cache Playwright browsers + uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 + with: + path: ~/.cache/ms-playwright + key: playwright-all-${{ runner.os }}-${{ steps.pw-version.outputs.version }} + - name: Install Playwright browsers (chromium + webkit) + run: pnpm playwright install --with-deps chromium webkit + - name: Run all device projects + run: pnpm playwright test --project=mobile-chromium --project=mobile-webkit --project=tablet-webkit --project=tablet-chromium + env: + PW_WORKERS: "2" + - name: Upload report on failure + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + if: failure() + with: + name: e2e-device-matrix-report + path: playwright-report/ + retention-days: 7 + docker-e2e: name: Docker Container E2E runs-on: ubuntu-latest diff --git a/.github/workflows/update-visual-baselines.yml b/.github/workflows/update-visual-baselines.yml index 1796c450..78dea3c2 100644 --- a/.github/workflows/update-visual-baselines.yml +++ b/.github/workflows/update-visual-baselines.yml @@ -23,10 +23,10 @@ jobs: with: path: ~/.cache/ms-playwright key: playwright-${{ runner.os }}-${{ steps.pw-version.outputs.version }} - - name: Install Playwright Chromium - run: pnpm playwright install --with-deps chromium - - name: Regenerate baselines - run: pnpm playwright test --project=chromium-visual --update-snapshots + - name: Install Playwright browsers (chromium + webkit for device projects) + run: pnpm playwright install --with-deps chromium webkit + - name: Regenerate baselines (desktop + device projects) + run: pnpm playwright test --project=chromium-visual --project=mobile-chromium --project=mobile-webkit --project=tablet-webkit --project=tablet-chromium --update-snapshots env: PW_WORKERS: "2" - name: Open PR with refreshed baselines diff --git a/playwright.config.ts b/playwright.config.ts index 9489071c..11453bcc 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -30,6 +30,10 @@ const SERIAL_SPECS = // linux baselines are committed. const VISUAL_SPECS = /visual-regression|gui-visual-/; +// Device-emulated specs (real touch, UA, DPR). Tagged @mobile or @tablet +// and routed to the dedicated device projects below. +const DEVICE_SPECS = /device-mobile|device-tablet/; + export default defineConfig({ testDir: "./tests/e2e", timeout: 30_000, @@ -68,7 +72,7 @@ export default defineConfig({ ...devices["Desktop Chrome"], storageState: authFile, }, - testIgnore: [SERIAL_SPECS, VISUAL_SPECS], + testIgnore: [SERIAL_SPECS, VISUAL_SPECS, DEVICE_SPECS], dependencies: ["setup"], }, { @@ -107,6 +111,48 @@ export default defineConfig({ testMatch: /gui-cross-browser\.spec\.ts/, dependencies: ["setup"], }, + + // ---- Real device-emulated projects (touch, UA, DPR, engine) ---- + { + name: "mobile-chromium", + use: { + ...devices["Pixel 7"], + storageState: authFile, + }, + testMatch: DEVICE_SPECS, + grep: /@mobile/, + dependencies: ["setup"], + }, + { + name: "mobile-webkit", + use: { + ...devices["iPhone 14"], + storageState: authFile, + }, + testMatch: DEVICE_SPECS, + grep: /@mobile/, + dependencies: ["setup"], + }, + { + name: "tablet-webkit", + use: { + ...devices["iPad (gen 7)"], + storageState: authFile, + }, + testMatch: DEVICE_SPECS, + grep: /@tablet/, + dependencies: ["setup"], + }, + { + name: "tablet-chromium", + use: { + ...devices["Galaxy Tab S9"], + storageState: authFile, + }, + testMatch: DEVICE_SPECS, + grep: /@tablet/, + dependencies: ["setup"], + }, ], webServer: [ { diff --git a/tests/baseline/phase3.json b/tests/baseline/phase3.json new file mode 100644 index 00000000..28748265 --- /dev/null +++ b/tests/baseline/phase3.json @@ -0,0 +1,26664 @@ +{ + "testIds": [ + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Batch with mixed image formats (PNG + JPEG + WebP) handles batch compress with mixed formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Batch with mixed image formats (PNG + JPEG + WebP) handles batch resize with PNG, JPEG, and WebP files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Batch with mixed image formats (PNG + JPEG + WebP) handles batch rotate with mixed formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Concurrent adversarial + extreme aspect ratio + valid requests fires narrow image, wide image, garbage, and valid simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Concurrent pipelines with varied steps runs 5 concurrent pipelines with different tool chains", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Double-processing idempotency compresses same image twice -- same output size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Double-processing idempotency resizes same image twice sequentially -- produces consistent results", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Double-processing idempotency strips metadata twice from same image -- second is no-op", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Extreme aspect ratios through pipeline processes 1000x1 image through rotate + border pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Extreme aspect ratios through pipeline processes 1x1000 image through resize + compress pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) compresses a 1x1000 image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) converts a 1x1000 PNG to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) crops a 1x1000 image to 1x10 region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) resizes a 1x1000 image by height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) resizes a 1x1000 image by width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very narrow image (1x1000) rotates a 1x1000 image by 90 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very wide image (1000x1) adds border to a 1000x1 image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very wide image (1000x1) crops a 1000x1 image to a 10x1 region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very wide image (1000x1) resizes a 1000x1 image by height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very wide image (1000x1) resizes a 1000x1 image by width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme aspect ratio images Very wide image (1000x1) rotates a 1000x1 image by 90 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme crop regions on extreme images rejects crop taller than a wide image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Extreme crop regions on extreme images rejects crop wider than a narrow image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > HTTP method mismatches on tool endpoints returns 404 for DELETE request to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > HTTP method mismatches on tool endpoints returns 404 for GET request to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > HTTP method mismatches on tool endpoints returns 404 for PATCH request to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > HTTP method mismatches on tool endpoints returns 404 for PUT request to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Info tool with extreme images returns info for a 1000x1 wide image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Info tool with extreme images returns info for a 1x1000 narrow image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Info tool with extreme images returns info for a WebP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Non-multipart content types to tool endpoint rejects JSON body sent to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Non-multipart content types to tool endpoint rejects plain text body sent to tool endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Pipeline with extreme aspect ratio and format conversion narrow image: convert to JPEG then resize then compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Pipeline with extreme aspect ratio and format conversion wide image: resize then convert to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Pipeline with format conversion mid-chain converts PNG to JPEG to WebP -- double format change", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Pipeline with format conversion mid-chain converts PNG to WebP mid-chain then resizes -- format is carried", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Pipeline with format conversion mid-chain converts to AVIF then adds border -- AVIF intermediate handling", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Rapid upload-process-reupload -- no state bleed alternates between resize and compress with no state leak", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Rapid upload-process-reupload -- no state bleed processes PNG then JPEG on resize endpoint -- sizes differ correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Rapid upload-process-reupload -- no state bleed processes different widths rapidly -- output sizes differ", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster converts a valid SVG to raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster handles SVG with external image reference (SSRF attempt)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster handles SVG with extremely large dimensions attribute", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster handles an empty SVG document", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster sanitizes SVG with embedded script tag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > SVG-specific attacks through svg-to-raster sanitizes SVG with onload event handler", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Server stability -- health check after comprehensive adversarial tests server remains responsive after entire test suite", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings applies all sliders at maximum values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings applies all sliders at minimum values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings applies grayscale effect to a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings applies invert effect to a narrow image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings rejects invalid effect name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs adjust-colors with extreme settings rejects out-of-range brightness value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs color-palette with adversarial inputs extracts palette from a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs color-palette with adversarial inputs extracts palette from an extreme narrow image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs color-palette with adversarial inputs rejects garbage data through color-palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs favicon with adversarial inputs generates favicons from a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs favicon with adversarial inputs generates favicons from an extreme narrow image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs image-to-base64 with adversarial inputs converts a 1x1 pixel image to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs image-to-base64 with adversarial inputs converts a valid PNG to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs strip-metadata with adversarial inputs handles garbage data through strip-metadata gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs strip-metadata with adversarial inputs rejects zero-byte file through strip-metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-comprehensive.test.ts > Under-tested tools -- adversarial inputs strip-metadata with adversarial inputs strips metadata from a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools applies adjust-colors to 1x1 image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools converts 1x1 PNG to AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools converts 1x1 PNG to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools extracts color palette from 1x1 image (single color)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools generates favicon from 1x1 image (upscales)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > 1x1 pixel image through remaining tools strips metadata from 1x1 image (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Batch limits -- large file counts beyond MAX_BATCH_SIZE batch + simultaneous single request -- no corruption when batch is rejected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Batch limits -- large file counts beyond MAX_BATCH_SIZE rejects batch with 20 images (double the MAX_BATCH_SIZE=10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Batch limits -- large file counts beyond MAX_BATCH_SIZE rejects batch with 50 images (5x the limit)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Concurrent batch + single request -- extended scenarios runs batch compress + single resize + single rotate simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Concurrent response content integrity -- download verification 10 simultaneous resize requests produce correctly-sized output files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Concurrent response content integrity -- download verification 10 simultaneous uploads to DIFFERENT tools all produce correct tool-specific outputs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Corrupted file data -- additional formats handles GIF magic bytes (GIF89a) followed by garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Corrupted file data -- additional formats handles TIFF magic bytes followed by garbage (little-endian)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Corrupted file data -- additional formats handles a file that is all 0xFF bytes with .png extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Corrupted file data -- additional formats handles a valid PNG truncated at exactly the IHDR chunk", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Corrupted file data -- additional formats handles random binary data with .jpg extension (content sniffing rejects it)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Extreme output dimensions -- resize to extreme aspect ratios resizes 1x1 image to 10000x10000 (massive upscale)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Extreme output dimensions -- resize to extreme aspect ratios resizes 200x150 image to 10000x1 (very wide output)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Extreme output dimensions -- resize to extreme aspect ratios resizes 200x150 image to 1x10000 (very tall output)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Extreme output dimensions -- resize to extreme aspect ratios resizes to height=1 only (auto width)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Extreme output dimensions -- resize to extreme aspect ratios resizes to width=1 only (auto height)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling compresses an animated GIF without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling gets info for an animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling handles GIF data uploaded with .jpg extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling handles GIF data uploaded with .webp extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling handles JPEG data uploaded with .gif extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling handles WebP data uploaded with .gif extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Format mismatch -- GIF data and animated GIF handling resizes an animated GIF without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Memory stress -- 50 sequential large-file uploads processes stress-large.jpg 50 times sequentially without memory blowup or degradation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart edge cases -- malformed requests rejects request with content-type multipart/form-data but no boundary", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart edge cases -- malformed requests rejects request with empty body and multipart content-type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart edge cases -- malformed requests rejects request with form-urlencoded content-type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart edge cases -- malformed requests rejects request with no content-type header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart with extra unexpected fields ignores duplicate settings fields (first one wins)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart with extra unexpected fields ignores extra text fields alongside valid file and settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Multipart with extra unexpected fields rejects extra file-like field with non-standard name (treated as second file)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Pipeline -- format-dependent step chains convert PNG to AVIF then rotate -- AVIF intermediate works", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Pipeline -- format-dependent step chains convert to JPEG (lossy) then compress -- compression applies to JPEG data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Pipeline -- format-dependent step chains resize to 10x10 then crop 100x100 -- fails at crop step", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Pipeline -- format-dependent step chains resize to 10x10 then crop 5x5 from center -- succeeds with small output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Pipeline -- format-dependent step chains triple format conversion: PNG -> JPEG -> WebP -> AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Server stability -- health check after all coverage gap tests server remains responsive and healthy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values handles settings with unicode key names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values rejects compress quality as empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values rejects convert with truly unsupported format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values rejects resize with width as array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values rejects resize with width as object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Settings with type mismatches and edge values rejects rotate with angle as boolean", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles 'my test image.jpg' with spaces through compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles RTL-only filename: صورة.jpg (Arabic for 'image')", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles filename with 300+ chars through compress (beyond 255 limit)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles filename with mixed scripts: テスト画像.jpg (Japanese for 'test image')", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles image@#$%.jpg filename with special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Unicode filenames -- final coverage handles picture frame emoji filename: 🖼️_test.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file to color-palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file to favicon", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file to text-overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file with image/avif MIME to compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file with image/gif MIME to resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-coverage-gaps.test.ts > Zero-byte files with various MIME types through additional tools rejects zero-byte file with image/tiff MIME to convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools applies border to a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools applies crop to a 1x1 pixel image (1x1 crop region)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools applies sharpening to a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools applies text-overlay to a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools applies watermark-text to a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools converts a 1x1 pixel image from PNG to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image through additional tools upscales a 1x1 pixel image to 100x100 via resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image — crop larger than image rejects crop of 100x100 on a 1x1 image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > 1x1 pixel image — crop larger than image rejects crop with offset beyond 1x1 bounds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch edge cases — extended handles batch with duplicate filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch edge cases — extended handles batch with mix of valid and invalid files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch edge cases — extended handles batch with zero-byte files (skipped as empty)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch edge cases — extended rejects batch where ALL files are invalid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch edge cases — extended rejects batch with 0 images uploaded to resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch limits — boundary tests handles batch at MAX_BATCH_SIZE limit (10 images)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch limits — boundary tests handles batch with exactly 1 image (minimum valid batch)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch limits — boundary tests rejects batch exceeding MAX_BATCH_SIZE (11 images, limit is 10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch with large files processes 2 large files in batch resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Batch with only zero-byte files rejects batch where all files are zero-byte", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Concurrent adversarial and valid requests processes valid requests correctly even when invalid ones are fired simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Concurrent stress — 10 simultaneous resize requests fires 10 simultaneous resize requests with the same image — all return 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Concurrent stress — 5 different tools simultaneously fires resize, crop, rotate, compress, and border simultaneously — all return 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Content-type header mismatches processes image when content-type is application/octet-stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Content-type header mismatches processes image when content-type is completely wrong", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Corrupted headers and wrong magic bytes handles JPEG SOI marker followed by truncated data gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Corrupted headers and wrong magic bytes handles PNG magic bytes followed by garbage gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Corrupted headers and wrong magic bytes handles a .jpg file containing actual PNG data (format mismatch)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Corrupted headers and wrong magic bytes rejects a BMP header followed by garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Corrupted headers and wrong magic bytes rejects a WebP RIFF header followed by garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Injection attacks in settings fields handles NaN and Infinity in numeric settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Injection attacks in settings fields handles boolean where number expected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Injection attacks in settings fields handles command injection attempt in border color field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Injection attacks in settings fields handles extremely long string in watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Injection attacks in settings fields handles prototype pollution attempt in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Memory pressure — large file (6.7MB) sequential uploads processes 5 sequential resize requests with stress-large.jpg — all succeed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Memory pressure — large file (6.7MB) sequential uploads processes stress-large.jpg through compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Memory pressure — large file (6.7MB) sequential uploads processes stress-large.jpg through convert (JPEG to WebP)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Memory pressure — large file (6.7MB) sequential uploads processes stress-large.jpg through info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Memory pressure — large file (6.7MB) sequential uploads processes stress-large.jpg through rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Non-existent tool and route handling returns 404 for completely non-existent tool route", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Non-existent tool and route handling returns 404 for tool endpoint with SQL injection in URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended handles pipeline that outputs to a different format mid-chain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended handles pipeline with conflicting resize then crop larger than result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended handles pipeline with resize then border then compress chain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended rejects pipeline step with unknown tool name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended rejects pipeline with 0 steps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline edge cases — extended rejects pipeline with empty settings object for a required-field tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with 1x1 pixel image processes 1x1 image through resize + border + compress pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with large file (6.7MB) processes stress-large.jpg through resize + compress pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with many repeated steps handles pipeline where middle step fails — returns partial step info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with many repeated steps handles pipeline with 10 resize steps (repeated operation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with many repeated steps handles pipeline with alternating resize and compress (circular-like)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with many repeated steps handles pipeline with duplicate consecutive steps (same tool, same settings)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Pipeline with many repeated steps rejects pipeline with only non-existent tool IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Rapid sequential requests across tools handles 8 sequential requests to alternating tools without errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values accepts compress quality at maximum boundary (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values accepts compress quality at minimum boundary (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values accepts rotate at 0 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values accepts rotate at 359 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values handles border width at maximum (2000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values rejects border width above maximum (2001)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values rejects compress quality above maximum (101)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Settings boundary values rejects compress quality below minimum (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with CJK characters: 写真.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with double extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with emoji: photo_🎉.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with mixed RTL and LTR characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with null bytes stripped", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with only an extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial handles filename with spaces and special chars: my photo (final).png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — extended adversarial sanitizes path traversal: ../../../etc/passwd.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with Japanese katakana: テスト.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with URL-encoded characters: %20photo%2F.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with ampersand and equals: file&name=special.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with backslashes: path\\to\\image.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Unicode filenames — specific requested patterns handles filename with picture frame emoji: 🖼️.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/border with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/compress with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/convert with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/crop with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/resize with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-extended.test.ts > Zero-byte file uploads across tools rejects a 0-byte file to /api/v1/tools/rotate with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools adds text overlay to 1x1 pixel image without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools beautifies a 1x1 pixel image without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools converts 1x1 pixel PNG to JPEG without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools gets info for a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools optimizes a 1x1 pixel image for web without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools processes 1x1 pixel through pipeline of 3 steps without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > 1x1 pixel image through previously untested tools replaces color in a 1x1 pixel image without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Batch limits: additional edge cases batch through convert tool with mixed formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Batch limits: additional edge cases batch with mix of 1x1 pixel + large stress file processes both", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Batch limits: additional edge cases batch with only corrupted files returns 422 with all errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Batch limits: additional edge cases batch with single valid file among 2 zero-byte files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Concurrent: 10 simultaneous uploads to compress with output integrity 10 concurrent compress requests with different quality levels produce distinct file sizes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Concurrent: 10 simultaneous uploads to compress with output integrity 10 concurrent rotate requests with different angles produce valid rotated outputs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Corrupted magic bytes: cross-format header injection handles GIF magic followed by real PNG data gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Corrupted magic bytes: cross-format header injection handles JPEG SOI marker prepended to real PNG data gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Corrupted magic bytes: cross-format header injection handles PNG magic bytes prepended to real JPEG data gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Corrupted magic bytes: cross-format header injection handles WebP RIFF header prepended to real JPEG data gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Corrupted magic bytes: cross-format header injection handles truncated PNG signature (only 4 of 8 bytes) with real image after", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Memory pressure: 10 sequential stress-large.jpg with strict timing checks processes stress-large.jpg through border without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Memory pressure: 10 sequential stress-large.jpg with strict timing checks processes stress-large.jpg through compress 10 times with bounded response time growth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases handles pipeline with 50 compress steps (deep chain)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases pipeline fails at step 3 (unknown tool) after 2 valid steps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases pipeline where step 2 expects impossibly small crop after resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases pipeline with all border steps (10 consecutive borders)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases pipeline with alternating format conversions: PNG -> WebP -> PNG -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Pipeline edge cases: deep chains and degenerate cases pipeline with single step that is an empty settings object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Server stability after final gap-closing tests server remains healthy after all tests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Simultaneous batch + single + pipeline with output verification fires 3 batches + 3 singles + 2 pipelines simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Simultaneous batch + single + pipeline with output verification runs all three concurrently and verifies each output independently", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with Cyrillic script: фото.png (foto)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with Thai script: ภาพ.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with Unicode BOM prefix: \\uFEFFphoto.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with combining diacritical marks: café.png (e + acute)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with mixed RTL and LTR with numbers: img_123_ملف.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Unicode filenames: remaining untested patterns handles filename with supplementary plane characters: 𝄞.png (musical symbol)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Wrong extension: format detection verified through download processes .gif file containing WebP data through compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Wrong extension: format detection verified through download processes .jpg file containing PNG data and output has correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Wrong extension: format detection verified through download processes .png file containing JPEG data and output has correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools handles zero-byte file to image-to-base64 gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools rejects zero-byte file to beautify with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools rejects zero-byte file to info with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools rejects zero-byte file to optimize-for-web with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools rejects zero-byte file to rotate with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-final-gaps.test.ts > Zero-byte files through previously untested tools rejects zero-byte file to sharpening with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Batch -- all identical files handles batch with 5 identical PNG files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Batch -- all identical files handles batch with all identical files and same filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Batch -- mixed valid/invalid through compress and rotate handles batch compress with mix of valid images and garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Batch -- mixed valid/invalid through compress and rotate handles batch rotate with mix of valid images and empty files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Concurrent -- 10 simultaneous resize with large file fires 10 simultaneous resize requests with stress-large.jpg -- all return 200 with valid data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Concurrent -- parallel batch, pipeline, and single requests runs batch, pipeline, and single resize simultaneously without corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Concurrent -- rapid sequential requests with zero delay fires 15 resize requests sequentially with no delay between them", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools handles .jpg extension with PNG magic bytes through compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools handles .png extension with JPEG content through rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools handles .png extension with JPEG magic bytes through crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools rejects random binary garbage through compress gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools rejects random binary garbage through convert gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Corrupted headers through non-resize tools rejects random binary garbage through crop gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Empty file (0 bytes) with valid extension through various tools rejects empty .jpg file through text-overlay with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Empty file (0 bytes) with valid extension through various tools rejects empty .webp file through watermark-text with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- crop edge cases crops a 1x1 region from a normal image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- crop edge cases rejects crop with 0 height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- crop edge cases rejects crop with 0 width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- crop edge cases rejects crop with negative left offset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- crop edge cases rejects crop with negative width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- resize to 1x1 output resizes a 200x150 image down to 1x1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- resize to 1x1 output resizes a JPEG image down to 1x1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- rotate 1x1 by non-orthogonal angles rotates a 1x1 image by 1 degree", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- rotate 1x1 by non-orthogonal angles rotates a 1x1 image by 359 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Extreme dimensions -- rotate 1x1 by non-orthogonal angles rotates a 1x1 image by 45 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Memory pressure -- 10 sequential large-file resize uploads processes stress-large.jpg 10 times sequentially without degradation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Memory pressure -- large file through resize, compress, rotate back-to-back processes stress-large.jpg through resize then compress then rotate sequentially", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- compress quality values accepts quality at 99", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- compress quality values accepts quality at exact minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- compress quality values accepts quality at midpoint (50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- compress quality values rejects quality of -1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- compress quality values rejects quality of 999", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- resize width/height values accepts width of 1 (minimum positive integer)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- resize width/height values handles width of 99999 without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- resize width/height values rejects height as string 'NaN'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- resize width/height values rejects width as string 'abc'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- resize width/height values rejects width of -1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values handles angle of -1 (slight counter-clockwise rotation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values handles angle of -360 (full negative rotation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values handles angle of 360 (full rotation, equivalent to 0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values handles angle of 720 (double full rotation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values handles angle of 999 without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Parameter boundary -- rotation angle values rejects angle as string 'abc'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- conflicting operations handles convert to webp, then convert to jpeg (format ping-pong)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- conflicting operations handles resize down (10px) then resize up (1000px)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- conflicting operations handles resize up (500px) then resize down (50px)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- exceeding step limits handles pipeline with 20 steps (many repeated resize operations)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- exceeding step limits handles pipeline with 25 steps (deep chain)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- same step repeated 10 times with identical settings handles 10 identical compress steps (quality=80) in a pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Pipeline -- same step repeated 10 times with identical settings handles 10 identical rotate steps (angle=90) -- net result 2.5 full rotations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Server stability -- health check after adversarial barrage server remains responsive after processing all preceding tests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Unicode filenames -- additional adversarial patterns handles emoji-only filename: 🎨.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Unicode filenames -- additional adversarial patterns handles filename with tab and newline characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Unicode filenames -- additional adversarial patterns handles filename with unicode zero-width characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Unicode filenames -- additional adversarial patterns handles multiple emoji in filename: 📷🌍✨.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Unicode filenames -- additional adversarial patterns handles very long filename (250+ chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Wrong content-type header -- application/json with binary data processes image when part content-type is application/json", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Wrong content-type header -- application/json with binary data processes image when part content-type is image/png but data is JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-matrix.test.ts > Wrong content-type header -- application/json with binary data processes image when part content-type is video/mp4 (completely wrong)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Concurrent requests -- data integrity verification fires 10 simultaneous requests across 5 different tools -- all isolated", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Concurrent requests -- data integrity verification fires 10 simultaneous resize requests with different widths -- all return correct results", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Concurrent requests -- data integrity verification fires adversarial filename requests concurrently with valid requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Concurrent requests -- data integrity verification fires batch and single request simultaneously -- no cross-contamination", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extreme filename lengths handles a 1000-character filename without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extreme filename lengths handles a 5000-character filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extreme filename lengths handles a filename made entirely of special characters: !@#$%^&()+=.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extreme filename lengths handles a filename with only spaces: ' .png'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extreme filename lengths handles a filename with repeated dots: ....test....png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extremely long parameter values rejects text-overlay with 10000-char text (max 500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Extremely long parameter values rejects watermark-text with 10000-char text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Null byte injection handles filename that is only null bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Null byte injection handles filename with embedded null bytes: te\\x00st\\x00.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Null byte injection handles filename with null byte before extension: image\\x00.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Null byte injection handles null byte combined with path traversal: ../\\x00../../etc/passwd.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes ../../etc/passwd as filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes URL-encoded traversal: %2e%2e%2f%2e%2e%2fetc%2fpasswd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes Windows-style traversal: ..\\..\\windows\\system32\\config\\sam", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes double-encoded traversal: ....//....//etc/passwd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes embedded traversal: test/../../../etc/passwd.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes path traversal through compress tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Path traversal attacks sanitizes path traversal through rotate tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Race conditions -- concurrent identical filename requests 10 concurrent requests with identical filename produce unique outputs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Race conditions -- concurrent identical filename requests concurrent pipeline and single request with same filename -- no collision", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Request body size limits -- settings payload accepts settings payload at exactly 65536 bytes (64KB limit)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Request body size limits -- settings payload rejects settings payload at exactly 65537 bytes (64KB + 1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SQL injection in settings values -- additional vectors handles SQL injection in border color field without DB corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SQL injection in settings values -- additional vectors handles SQL injection in convert format field without DB corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SQL injection in settings values -- additional vectors handles SQL injection in crop settings without DB corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SVG XXE attacks through svg-to-raster endpoint strips DOCTYPE with SSRF XXE entity from svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SVG XXE attacks through svg-to-raster endpoint strips DOCTYPE with file-read XXE entity from svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > SVG XXE attacks through svg-to-raster endpoint strips DOCTYPE with parameter entity expansion from inline SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Server stability -- health check after security tests server remains responsive after all security tests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with Arabic (RTL) text only: صورة.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with Devanagari script: चित्र.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with Korean hangul: 사진.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with mixed emoji sequence: 🇺🇸📸🏞️.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with right-to-left override character (U+202E)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with tab characters: file\\tname\\t.png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial-security.test.ts > Unicode filenames -- additional security edge cases handles filename with zero-width joiner and variation selectors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Binary data in settings field rejects random bytes as settings with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Binary garbage data at various sizes rejects 1 byte of garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Binary garbage data at various sizes rejects 64KB of random data without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Corrupted and truncated images rejects JPEG magic bytes followed by garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Corrupted and truncated images rejects a truncated PNG (first 100 bytes only)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Corrupted and truncated images rejects random binary garbage as an image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Duplicate file fields in multipart rejects a request with multiple file parts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Extreme dimension requests handles resize to extremely large dimensions without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Extreme dimension requests rejects crop region larger than image dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Extreme dimension requests rejects crop with offset beyond image bounds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Extreme dimension requests rejects resize to 0x0 dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Extreme dimension requests rejects resize to negative dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Image exceeding MAX_MEGAPIXELS rejects an image exceeding the 100MP limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Injection attacks in text fields SQL injection in text-overlay does not affect database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Injection attacks in text fields XSS payload in text-overlay is treated as literal text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Invalid dimensions in settings handles float dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Invalid dimensions in settings handles large width without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Invalid dimensions in settings rejects negative height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Invalid dimensions in settings rejects negative width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Invalid dimensions in settings rejects zero width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Malformed settings field rejects non-JSON settings string with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Malformed settings field rejects settings as JSON array with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Malformed settings field rejects settings as JSON number with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Malformed settings field rejects settings as JSON string with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Truncated files handles first 50 bytes of a valid JPEG gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Truncated files handles first 8 bytes (just the PNG signature) gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Unauthenticated tool access rejects tool requests with invalid auth token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Unauthenticated tool access rejects tool requests without auth token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Wrong magic bytes — format mismatch handles PNG data uploaded as JPEG content type gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Wrong magic bytes — format mismatch rejects a text file renamed to .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Zero-byte and empty file uploads (adversarial) rejects a single null byte as an image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/adversarial.test.ts > Zero-byte and empty file uploads (adversarial) rejects an empty file with a clear 400 error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand accepts valid request format (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand accepts valid tier values in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand defaults to balanced tier when tier is omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 400 when all extensions are zero", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 400 when no image is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 400 when no settings are provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 400 with invalid tier value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 400 with negative extension values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ai-canvas-expand.test.ts > AI Canvas Expand returns 501 when AI sidecar is not installed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > 7-day reminder lifecycle accept -> toggle off -> toggle on preserves consent history", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > 7-day reminder lifecycle fresh -> remindLater -> accept clears remindAt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > 7-day reminder lifecycle fresh -> remindLater -> decline clears remindAt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > 7-day reminder lifecycle multiple remindLater calls update the remindAt timestamp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > GET /api/v1/config/analytics instanceId is consistent across requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > GET /api/v1/config/analytics returns 200 without auth (public endpoint)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > GET /api/v1/config/analytics returns correct AnalyticsConfig shape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics accepts consent with enabled: true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics accepts empty body without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics declines consent with enabled: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics rejects non-boolean enabled value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics rejects non-boolean remindLater value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics remindLater sets analyticsEnabled to null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > PUT /api/v1/user/analytics returns 401 without auth token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > Session includes analytics fields after accept, session shows analyticsEnabled=true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > Session includes analytics fields after decline, session shows analyticsEnabled=false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/analytics.test.ts > Session includes analytics fields after remindLater, session shows null + future remindAt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > FK constraint with anonymous userId can insert a pipeline with userId 'anonymous'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > FK constraint with anonymous userId can insert a user file with userId 'anonymous'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > FK constraint with anonymous userId can insert an API key with userId 'anonymous'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > FK constraint with anonymous userId rejects FK violation for nonexistent userId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > admin API key operations admin can create and list API keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > admin pipeline operations admin can save and list pipelines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > admin settings save (issue #135 regression guard) admin can GET /api/v1/settings with saved value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > admin settings save (issue #135 regression guard) admin can PUT /api/v1/settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > admin settings save (issue #135 regression guard) user role cannot PUT /api/v1/settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > ensureAnonymousUser creates anonymous row in the users table", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/anonymous-mode.test.ts > ensureAnonymousUser is idempotent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key creation validation rejects invalid expiresAt format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key creation validation rejects name longer than 100 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key creation validation returns raw key starting with si_ only on creation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key creation validation trims whitespace from name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key creation validation uses default name when body is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key delete behavior delete non-existent key returns 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key delete behavior deleted key stops working immediately", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key delete behavior user can delete own key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-edge-cases.test.ts > API key delete behavior user cannot delete another user's key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key expiration GET returns expiresAt field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key expiration creates key with expiration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key expiration expired key returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key expiration rejects past expiration date", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key permission scoping GET /api/v1/api-keys returns permissions field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key permission scoping creates a key with scoped permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key permission scoping null permissions inherits all from user role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key permission scoping rejects permissions the user does not have", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api-key-scoping.test.ts > API key permission scoping scoped API key is restricted to its permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys DELETE /api/v1/api-keys/:id deletes own API key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys DELETE /api/v1/api-keys/:id returns 404 for non-existent key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys GET /api/v1/api-keys lists user's API keys (without exposing raw keys)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys POST /api/v1/api-keys generates a new API key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys POST /api/v1/api-keys rejects name longer than 100 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys POST /api/v1/api-keys requires auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > API Keys POST /api/v1/api-keys uses default name when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints DELETE /api/auth/users/:id admin can delete another user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints DELETE /api/auth/users/:id admin can't delete themselves", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints DELETE /api/auth/users/:id non-admin cannot delete users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints DELETE /api/auth/users/:id returns 404 for non-existent user ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints GET /api/auth/session returns 401 with a malformed Authorization header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints GET /api/auth/session returns 401 with an invalid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints GET /api/auth/session returns 401 with empty Bearer token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints GET /api/auth/session returns 401 with no token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints GET /api/auth/session returns user info with a valid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/change-password changes password with valid current password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/change-password rejects new password shorter than 8 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/change-password rejects wrong current password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/change-password returns 400 when fields are missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/change-password returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login handles SQL injection attempt in username gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login handles extremely long username", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login handles unicode in credentials", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 400 when body is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 400 when body is null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 400 when password is missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 400 when username is missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 401 for non-existent user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns 401 for wrong password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/login returns a token for valid credentials", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/logout invalidates the session token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/logout succeeds even without a token (idempotent)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register admin can create a new user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register defaults role to 'user' when invalid role provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register non-admin cannot register users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register rejects password shorter than 8 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register returns 400 when username is missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth endpoints POST /api/auth/register returns 409 for duplicate username", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware expired token is rejected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware protected route with valid token succeeds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware protected route without token returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware public route /api/v1/config/auth works without token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware public route /api/v1/health works without token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware settings routes require auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware tool routes require auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Auth middleware upload route requires auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing Batch rejects incompatible tools returns 404 for batch \"erase-object\" (custom-route tool)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing Batch rejects incompatible tools returns 404 for batch \"ocr\" (custom-route tool)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch X-File-Results entries contain original filename stems in order", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch compresses images with quality setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch converts multiple images to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch handles mixed file formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch includes X-File-Results header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch returns X-File-Results header with index-to-filename mapping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch rotates images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch strips metadata from images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch uses default settings when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch with clientJobId uses provided ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch batch with single file works", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch processes multiple images in a batch and returns ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch returns 400 for batch with invalid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch returns 400 for batch with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch returns 404 for non-existent batch tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Batch processing POST /api/v1/tools/:toolId/batch returns ZIP with content-disposition attachment header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Color adjustments format preservation preserves JPEG format for JPEG input via adjust-colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Color adjustments format preservation preserves PNG format for PNG input via adjust-colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Crop format preservation preserves JPEG format for JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Crop format preservation preserves PNG format for PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles NaN/Infinity in numeric settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles a file with only null bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles array where object expected in login body", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles concurrent requests without corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles deeply nested JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles extremely long tool settings values gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs handles type confusion in settings (string where number expected)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a JSON body on multipart-only endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects a zero-byte file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edge cases & adversarial inputs rejects double-encoded path traversal in download", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata preserves metadata with empty settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata strips specific fields via fieldsToRemove", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata writes metadata and returns downloadable file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect rejects request with no file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns no exif for metadata-free PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Edit metadata POST /api/v1/tools/edit-metadata/inspect returns parsed EXIF for JPEG with metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename download is public (no auth required)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename downloads an uploaded file successfully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 for null bytes in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 for path traversal in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 for path traversal in jobId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 400 or 401 for backslash traversal in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 404 for non-existent file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download GET /api/v1/download/:jobId/:filename returns 404 for non-existent jobId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload accepts a file with image extension but non-image content (validated at process time)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload accepts a non-image file upload (content validated per-tool at process time)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload returns 400 for empty multipart (no files)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload sanitizes path traversal in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload uploads a valid PNG and returns a jobId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > File upload/download POST /api/v1/upload uploads multiple files at once", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/admin/health rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/admin/health returns 403 for authenticated non-admin user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/admin/health returns full diagnostics for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/config/auth returns authEnabled flag without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health also works with auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Health & Config GET /api/v1/health returns only status and version without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement processes an image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement POST /api/v1/tools/image-enhancement/analyze returns analysis data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement preserves JPEG format through enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Image Enhancement rejects empty file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal POST /api/v1/tools/noise-removal processes with quick tier", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal accepts JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 for empty file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Noise Removal uses default settings when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts language auto and enhance params", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr accepts quality param and returns text without engine field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr backward compat: old engine param is still accepted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 for invalid quality value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > OCR API POST /api/v1/tools/ocr returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch accepts gap and backgroundColor settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies alignment setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch applies border and cornerRadius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch handles resizeMode stretch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch outputs jpeg when requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch respects quality setting for jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with no images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch returns 400 with only one image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches in grid mode with 2 columns", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches two images horizontally with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > POST /api/v1/tools/stitch stitches vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools excludes tools that are not pipeline-compatible", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes AI tools registered for pipeline use", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools includes factory-registered tools (resize, crop, convert)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline GET /api/v1/pipeline/tools returns the list of pipeline-compatible tool IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute accepts pipeline with more than 20 steps when limit is unlimited", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes Privacy Clean template pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes Profile Picture template pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes Social Media Ready template pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes Watermark Batch template pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes Web Optimization template pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes a multi-step pipeline (resize then rotate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes a pipeline with border + rotate combo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes a single-step pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute executes pipeline with 5 steps chained", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute handles pipeline with WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute handles pipeline with different image formats (JPG input)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute processes result file is downloadable", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 for invalid JSON pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 when a step has invalid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 when pipeline has no steps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 when pipeline references non-existent tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 with mixed valid and invalid tool IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns 400 without pipeline definition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline POST /api/v1/pipeline/execute returns full step details in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD accepts saving pipeline with more than 20 steps when limit is unlimited", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD can save and delete multiple pipelines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD deletes a saved pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD lists saved pipelines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD rejects pipeline description exceeding 500 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD rejects pipeline name exceeding 100 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD rejects pipeline save with empty name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD rejects pipeline save with invalid tool ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD returns 404 deleting non-existent pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD saves a pipeline definition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD saves and retrieves pipeline with correct step data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline CRUD saves pipeline without description", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline rejects incompatible tools returns 400 when pipeline uses \"erase-object\" (custom-route tool)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Pipeline Pipeline rejects incompatible tools returns 400 when pipeline uses \"ocr\" (custom-route tool)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings GET /api/v1/settings returns 401 without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings GET /api/v1/settings returns settings object (requires auth)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings GET /api/v1/settings/:key returns 404 for non-existent key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings admin can save settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings allows normal setting values without HTML", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings does not partially write entries when a later entry contains HTML tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings non-admin cannot save settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings rejects HTML tags in setting keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings rejects HTML tags in setting values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings returns 400 for non-object body", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings saved settings are retrievable", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Settings PUT /api/v1/settings settings upsert works (update existing key)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation accepts quality setting without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation defaults to subject mode when no mode specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation preserves JPEG format for JPEG input in content mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation preserves JPEG format in attention mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation preserves PNG format for PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation preserves WebP format for WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation subject mode with entropy strategy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation subject mode with padding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Smart crop format preservation trim mode with new mode name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing Input format handling processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert converts PNG to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects quality outside valid range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/convert rejects unsupported format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop crops an image successfully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 400 when required crop fields are missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/crop returns 422 when crop exceeds image bounds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/nonexistent returns 404 for a tool that does not exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize download URL from resize result is accessible", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes an image successfully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize resizes by percentage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for invalid settings (negative width)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 for malformed settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/resize returns 400 with empty settings (no dimensions given)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate flips horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate rotates 90 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Tool processing POST /api/v1/tools/rotate works with default settings (no rotation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity each job gets a unique workspace (no cross-contamination)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity tool processing creates both input and output in workspace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/api.test.ts > Workspace integrity upload creates workspace with input dir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/aspect-pad.test.ts > aspect-pad (requires ffmpeg) pads to 1:1 producing a square output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/aspect-pad.test.ts > aspect-pad (requires ffmpeg) pads to 9:16 with dims matching canvasFor output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/aspect-pad.test.ts > aspect-pad (requires ffmpeg) rejects invalid color with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-channels.test.ts > audio-channels (requires ffmpeg) rejects missing mode (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-channels.test.ts > audio-channels (requires ffmpeg) stereo-to-mono on mono input returns 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-channels.test.ts > audio-channels (requires ffmpeg) stereo-to-mono on stereo file produces mono output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-channels.test.ts > audio-channels (requires ffmpeg) swap on stereo file returns 200 with 2 channels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-metadata.test.ts > audio-metadata (requires ffmpeg) rejects title exceeding 500 characters (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-metadata.test.ts > audio-metadata (requires ffmpeg) sets title tag and envelope contains metadata with tags object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-metadata.test.ts > audio-metadata (requires ffmpeg) strips metadata with strip true and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-speed.test.ts > audio-speed (requires ffmpeg) doubles speed and halves duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audio-speed.test.ts > audio-speed (requires ffmpeg) rejects factor out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export accepts from/to ISO datetime query parameters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 401 with expired or invalid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 401 without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 before validating invalid format parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 for CSV format without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 for non-admin user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 for valid csv format without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 for valid json format without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 with default format when format is omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-export.test.ts > audit export returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log entry structure each entry has id, actorUsername, action, createdAt (valid ISO date)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log event recording API_KEY_CREATED recorded after key creation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log event recording LOGIN_SUCCESS recorded after login", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log event recording ROLE_CREATED recorded after role creation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log event recording USER_CREATED recorded after register", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases high page number returns empty entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases limit=0 falls back to default (50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases limit=500 clamped to 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases negative page clamped to 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases non-numeric values use defaults", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log-edge-cases.test.ts > audit log pagination edge cases page=0 clamped to 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log.test.ts > audit log records login events in database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log.test.ts > audit log requires audit:read permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log.test.ts > audit log supports action filter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-log.test.ts > audit log supports pagination", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-tool-operations.test.ts > tool operation audit logging does not log TOOL_EXECUTED when auditToolOperations is disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/audit-tool-operations.test.ts > tool operation audit logging logs TOOL_EXECUTED when auditToolOperations is enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures empty body returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures failed logins generate LOGIN_FAILED audit events", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures missing password returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures missing username returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures unknown username returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Login failures wrong password returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Password change side effects changing password invalidates other sessions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Password change side effects changing password revokes API keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Password reset side effects admin reset invalidates target user sessions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Password reset side effects admin reset revokes target user API keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation delete non-existent user returns 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation invalid username chars returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation non-existent team name returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation unknown role defaults to user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation username too short (2 chars) returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Register validation weak password returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Session edge cases expired session token returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auth-edge-cases.test.ts > Session edge cases no token on session endpoint returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auto-subtitles.test.ts > auto-subtitles rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auto-subtitles.test.ts > auto-subtitles returns 501 FEATURE_NOT_INSTALLED when bundle is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auto-subtitles.test.ts > auto-subtitles returns 501 even with invalid format (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auto-subtitles.test.ts > auto-subtitles with transcription bundle installed generates VTT subtitles from video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/auto-subtitles.test.ts > auto-subtitles with transcription bundle installed generates subtitles from video (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace returns 501 FEATURE_NOT_INSTALLED when bundle is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace returns 501 even with invalid color hex (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace returns 501 with feather and webp format (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace returns 501 with gradient settings (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace with background-removal bundle installed replaces background with color (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/background-replace.test.ts > background-replace with background-removal bundle installed replaces background with gradient (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates a UPC-A barcode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates a code128 barcode from text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates a code39 barcode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates a datamatrix barcode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates a valid ean13 barcode from 13-digit number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate generates an itf14 barcode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate rejects ean13 with non-numeric text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate rejects empty text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate rejects invalid barcode type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate rejects request without text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate respects scale parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate supports includeText toggle", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-generate.test.ts > Barcode Generate uses code128 as default type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read annotated image has barcodes with valid position coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read annotated image has same dimensions as input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read barcode type is reported for QR codes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read detects and decodes a QR code from a generated image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read detects multiple QR codes when composited together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read generates a downloadable annotated image when barcodes are found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read handles a 1x1 pixel image gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read handles a blank white image gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read handles images with no barcodes gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read handles portrait JPEG with no barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code from AVIF content fixture", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code from WebP with tryHarder false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code from high-resolution image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code from lower-resolution version", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code with tryHarder disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads QR code with tryHarder explicitly enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcode from JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcode from SVG-rendered QR code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcode from WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from AVIF content fixtures when detectable", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from AVIF-converted QR code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from EXIF-oriented image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from a HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from a HEIF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from a SVGZ input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from an SVG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from an animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from portrait HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes from portrait HEIC image (additional format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes with explicit empty settings (defaults applied)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read reads barcodes with no settings field (uses defaults)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read rejects an invalid/corrupt image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read rejects invalid settings (wrong type for tryHarder)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read returns correct barcode text for known QR content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/barcode-read.test.ts > Barcode Read returns position data for detected barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch error handling returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch error handling returns 400 for invalid tool settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch error handling returns 400 for no files in batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch error handling returns 404 for non-existent tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch preserves upload order X-File-Results indices match upload order", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Batch with default settings uses default settings when settings field is omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > ClientJobId passthrough generates a job ID when clientJobId is not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > ClientJobId passthrough uses provided clientJobId in response header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes CUR through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes DDS through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes DPX through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes EPS through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes EXR through batch compress (needs ImageMagick delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes FITS through batch compress (needs ImageMagick delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes HDR through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes ICO through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes JP2 through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes PBM through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes PGM through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes PPM through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes PSD through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes QOI through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes SVGZ through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes TGA through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes TIFF through batch compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Exotic format batch processing processes mixed exotic formats (PBM + TIFF + QOI) in one batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Filename deduplication in batch deduplicates identical output filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Legacy batch SSE wire parity terminal SSE frame has completedFiles === totalFiles on mixed batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Mixed format batch processes PNG, JPG, and WebP in a single batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > Non-image modality batch processes multiple video files through a video tool and returns a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > X-File-Results header encodes non-ASCII filenames in header without ERR_INVALID_CHAR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > X-File-Results header handles mixed ASCII and non-ASCII filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > X-File-Results header maps file indices to output filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > X-File-Results header round-trips filenames with special URI characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > ZIP response format includes Content-Disposition header with tool name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/batch.test.ts > ZIP response format returns valid ZIP with correct entry count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify HEIC input with solid background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify JPEG input + opaque settings honors JPEG output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify JPEG input + shadow produces PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify JPEG output forced to PNG when border radius applied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify WebP output forced to PNG when alpha needed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify WebP output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify accepts watermark opacity 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify accepts watermark opacity 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify all features combined: frame + shadow + gradient + watermark + social", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify beautifies 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify beautifies WebP input with frame", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify beautifies stress-large.jpg with shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify border radius 64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify border radius out of range (>64) returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify browser frame with URL title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify custom shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify default settings produce valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify device frame + shadow + solid background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame title with special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: browser-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: browser-light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: ipad", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: ipad-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: iphone", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: iphone-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: macbook", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: macbook-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: macos-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: macos-light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: windows-dark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify frame: windows-light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify gradient angle boundary 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify gradient angle boundary 360", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify gradient stop with invalid hex color returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify gradient with fewer than 2 stops returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify iPhone frame with borderRadius > 0 (radius silently ignored)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify image background with second file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify image backgroundType without bgImage falls back to transparent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify invalid background type returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify invalid frame type returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify invalid parameters return 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify large border radius on small image (clamped to half)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify linear gradient background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify macOS frame with custom title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify malformed JSON settings returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify missing file returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify padding 0 with no shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify padding 256", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify padding out of range (>256) returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify padding=0, no shadow, no radius preserves original dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify radial gradient background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify rejects invalid shadow preset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify rejects invalid social preset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify returns 401 for unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify returns all expected fields in 200 response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow blur out of range (>100) returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow preset: dramatic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow preset: medium", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow preset: none", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow preset: subtle", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify shadow with zero padding (shadow extends beyond image)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: facebook (1200x630)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: instagram-square (1080x1080)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: instagram-story (1080x1920)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: linkedin (1200x627)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: producthunt (1270x760)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify social preset: twitter (1600x900)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify solid background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify solid background pixel color is correct", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify three-stop gradient", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify transparent background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify transparent background has alpha=0 at corners", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark position: bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark position: bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark position: center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark position: top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark position: top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark text bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/beautify.test.ts > Beautify watermark with HTML/SVG special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background returns 501 FEATURE_NOT_INSTALLED when bundle is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background returns 501 even with invalid intensity (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background returns 501 with empty settings (defaults applied by Zod)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background returns 501 with webp format and feather settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-background.test.ts > blur-background with background-removal bundle installed blurs background with full settings (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces accepts explicit blurRadius and sensitivity (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces accepts minimum settings values (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces handles HEIC input (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces processes with default settings (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects blurRadius above 100 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects blurRadius below 1 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects invalid settings JSON (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects sensitivity above 1 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects sensitivity below 0 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-faces.test.ts > blur-faces responds to the route (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-pad.test.ts > blur-pad (requires ffmpeg) pads to 1:1 producing a square output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/blur-pad.test.ts > blur-pad (requires ffmpeg) pads to default 16:9 with dims matching canvasFor output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/booklet-pdf.test.ts > booklet-pdf (requires pdfcpu) creates a booklet and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/booklet-pdf.test.ts > booklet-pdf validation (ungated) rejects perSheet 5 with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border adds a solid black border with default width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border adds padding and border together with correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies border + padding + corner radius + shadow all together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies corner radius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies corner radius with rounded corners and shadow together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies maximum padding (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with max negative offsets (-50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with max opacity (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with max positive offsets (+50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with maximum blur (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with minimum blur (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border applies shadow with zero opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border border + padding + cornerRadius produces correct format with alpha", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border forces PNG output when corner radius is applied to a JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border forces PNG output when shadow is applied to a JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles AVIF input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles BMP input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles HEIF input (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles TIFF input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles WebP input with border only (no alpha needed)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles corner radius larger than image half-dimension (clamps)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles padding only, zero border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles padding with hex alpha in 6-char format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles shadow with negative offsets", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles stress-large.jpg with border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles tiny 1x1 image input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles very large border (max 2000px)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border handles zero-width border (no-op border, dimensions unchanged)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border ignores shadow params when shadow is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border keeps PNG output when corner radius is applied to a PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border keeps WebP format when corner radius is applied to WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border produces correct dimensions with a 20px border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects border width exceeding max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects corner radius exceeding max (>2000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects invalid border color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects invalid padding color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects invalid settings JSON string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects multiple file uploads", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects negative border width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects negative corner radius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects negative padding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects padding exceeding max (>200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects shadow blur exceeding max (>200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects shadow offset exceeding max (+51)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border response includes jobId, downloadUrl, originalSize, processedSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border uses default settings when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/border.test.ts > Border works with JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename batch of 6 files preserves all content and extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename combines {{original}} and {{index}} in one pattern", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles a long pattern name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles files with no extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles large startIndex (1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles many files with padded indices", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles original filenames with spaces using {{original}}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles original filenames with unicode characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles pattern with hyphens and underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename handles startIndex of 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename padded placeholder pads relative to total count plus startIndex", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename pattern with only {{original}} keeps original names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename preserves content integrity for large file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename preserves different file extensions per file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename preserves file content after rename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename preserves only last extension for double-extension filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename rejects pattern exceeding max length (1001 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename rejects requests with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames HEIC files preserving extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames HEIF files preserving extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames SVG files preserving extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames a batch of 5+ mixed format files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames a large stress image preserving content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames a single file correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames animated GIF files preserving extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames files using a custom pattern with {{index}}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames files using the default pattern and returns a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames files using {{original}} placeholder", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames files using {{padded}} placeholder", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames tiny 1x1 image and preserves content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename renames with a static pattern (no placeholders)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename respects custom startIndex", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename returns 400 for invalid settings values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename returns 400 when all files are empty (zero-length)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename returns correct content-disposition header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename returns correct content-type header for ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename single file uses no padding for padded placeholder", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename skips empty file buffers (zero-length files)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename treats unknown placeholders as literal text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename uses all three placeholders in one pattern", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename uses default pattern when settings field is omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/bulk-rename.test.ts > Bulk Rename {{original}} uses full filename when no extension exists", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/burn-subtitles.test.ts > burn-subtitles (requires ffmpeg) burns SRT subtitles onto a video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/burn-subtitles.test.ts > burn-subtitles (requires ffmpeg) burns VTT subtitles onto a video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/burn-subtitles.test.ts > burn-subtitles (requires ffmpeg) rejects a PNG as the second file (subtitle kind rejection)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/change-fps.test.ts > change-fps (requires ffmpeg) changes fps on a webm input and keeps a webm-legal codec (regression: h264-in-webm exit 234)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/change-fps.test.ts > change-fps (requires ffmpeg) changes to 10 fps and verifies via ffprobe", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker escapes SVG-injection labels and produces valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker generates a bar chart from a 4-row CSV", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker generates a chart from JSON array input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker generates a chart from JSON object input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker generates a line chart", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker generates a pie chart", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker rejects CSV with non-numeric column 2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker rejects invalid chart kind", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker respects custom title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/chart-maker.test.ts > Chart Maker uses default kind bar when no kind specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/circle-crop.test.ts > Circle Crop always outputs PNG regardless of input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/circle-crop.test.ts > Circle Crop applies output size, border, and a solid background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/circle-crop.test.ts > Circle Crop center pixel has alpha 255 (opaque)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/circle-crop.test.ts > Circle Crop corner pixel has alpha 0 (transparent)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/circle-crop.test.ts > Circle Crop produces a circular crop as PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > getMaxAgeMs handles fractional hours", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > getMaxAgeMs returns DB value when tempFileMaxAgeHours is set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > getMaxAgeMs returns env fallback for invalid (non-numeric) DB value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > getMaxAgeMs returns env fallback for zero or negative DB value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > getMaxAgeMs returns env fallback when no DB setting exists", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > shouldRunStartupCleanup returns false when setting is 'false'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > shouldRunStartupCleanup returns true for any value other than 'false'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > shouldRunStartupCleanup returns true when setting is 'true'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/cleanup.test.ts > shouldRunStartupCleanup returns true when setting is not set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage accepts jxl output format (succeeds if Sharp supports JXL)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage accepts quality at maximum (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies contain fit with opaque hex background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies contain fit with transparent background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies contain fit with zoom greater than 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies contain object fit via cell settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies corner radius to cells", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies corner radius with transparent background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies custom gap between cells", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies custom hex background color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies maximum zoom (10) via cell settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies pan and zoom via cell settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies pan at max boundary values (-100, 100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage applies zero gap between cells", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage combines all settings: gap, cornerRadius, backgroundColor, cells, webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 2-image horizontal collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 2-image left-large horizontal collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 2-image right-large horizontal collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 2-image vertical collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 3-image horizontal collage (3-h-equal)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 3-image left-large layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 3-image right-large collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 3-image top-large collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 3-image vertical equal collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 4-image bottom-large collage (4-bottom-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 4-image grid collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 4-image left-large collage (4-left-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 4-image top-large collage (4-top-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 5-image center-large collage (5-center-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 5-image collage (5-top2-bottom3)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 5-image left-large collage (5-left-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 5-image top3-bottom2 collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 6-image grid (6-grid-3x2) with mixed formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 6-image grid-2x3 collage (6-grid-2x3)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 6-image top-large collage (6-top-large)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 7-image mosaic collage (7-mosaic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates a 9-image grid collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage creates an 8-image mosaic collage (8-mosaic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles 1x1 pixel input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles AVIF input images in collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles HEIC input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles HEIF input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles SVG input images in collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles SVGZ (compressed SVG) input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles a large content image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles animated GIF input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles portrait HEIC input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage handles single image with a 2-image template (fills first cell only)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage outputs in JPEG format when requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage outputs in avif format when requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage outputs in webp format when requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects an invalid/corrupt image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects cornerRadius above maximum (500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects gap exceeding max (500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects invalid output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects missing templateId in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects quality below minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects requests with no images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects unknown template ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage rejects zoom above maximum (10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage reports originalSize as the sum of all input buffers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage truncates extra images beyond template capacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses 16:9 aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses 3:2 aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses 4:3 aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses 4:5 portrait aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses 9:16 (portrait) aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses a specific aspect ratio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses free aspect ratio (default 4:3)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/collage.test.ts > Collage uses transparent background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > AVIF input processes AVIF input with saturation adjustment", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Animated GIF input processes animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Authentication rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Brightness decreases brightness", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Brightness exact boundaries rejects brightness at +101", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Brightness exact boundaries rejects brightness at -101", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Brightness increases brightness", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel isolation adjusts only blue channel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel isolation adjusts only green channel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel isolation adjusts only red channel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel value validation rejects blue channel exceeding max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel value validation rejects channel value exceeding max (>200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Channel value validation rejects green channel exceeding max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Combined exposure adjustments applies all adjustments simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Combined exposure adjustments applies exposure + brightness + contrast together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Contrast decreases contrast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Contrast increases contrast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Contrast validation rejects contrast out of range (<-100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Contrast validation rejects contrast out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Download verification can download the adjusted image and it has valid dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Edge size inputs processes 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Edge size inputs processes stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Effect combined with adjustments applies grayscale effect with brightness and contrast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Effect combined with adjustments applies invert effect with channel adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Effects applies grayscale effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Effects applies invert effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Effects applies sepia effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Error handling returns 400 for hue out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Error handling returns 400 for invalid channel value (negative)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Error handling returns 400 for invalid effect value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Error handling returns 400 for invalid settings (brightness out of range)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure adjustments applies negative exposure (darkens midtones)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure adjustments applies positive exposure (brightens midtones)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure adjustments handles max negative exposure (-100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure adjustments handles max positive exposure (+100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure adjustments handles zero exposure (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure validation rejects exposure out of range (<-100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure validation rejects exposure out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure with effects applies negative exposure with invert effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Exposure with effects applies positive exposure with grayscale effect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles all zeroes (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles extreme hue rotation (+180)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles extreme hue rotation (-180)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles max brightness (+100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles max channel values (red=200, green=200, blue=200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles max contrast (+100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles min brightness (-100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Extreme values handles min channel values (red=0, green=0, blue=0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Full adjustment pipeline on JPEG applies all non-zero settings on JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Grayscale dimension preservation grayscale output preserves original dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > HEIC input processes HEIC input with brightness adjustment", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > HEIF input processes HEIF input (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Hue exact boundaries rejects hue at +181 (just above max)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Hue exact boundaries rejects hue at -181 (just below min)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Invalid settings JSON rejects malformed settings JSON string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Multiple adjustments applies brightness + contrast + saturation together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Multiple adjustments applies exposure + temperature + tint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Multiple adjustments applies hue shift + sharpness + channel adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Multiple input formats processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Multiple input formats processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > No-op effect applies 'none' effect (no color effect applied)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Output format verification preserves JPEG format with adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Output format verification preserves WebP format with adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Reset to defaults all-zero settings produce output matching dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > SVG input processes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation and hue isolation applies only hue (no saturation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation and hue isolation applies only saturation (no hue)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation exact boundaries applies saturation at exactly +100 (full saturation boost)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation exact boundaries applies saturation at exactly -100 (full desaturation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation validation rejects saturation out of range (<-100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Saturation validation rejects saturation out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Sepia with extreme values applies sepia with max brightness and min contrast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Sharpness exact boundaries rejects negative sharpness", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Sharpness isolation applies max sharpness (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Sharpness isolation applies zero sharpness (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > TIFF input processes TIFF input with saturation adjustment", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature and tint isolation applies max temperature + max tint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature and tint isolation applies negative temperature (cool)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature and tint isolation applies negative tint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature and tint isolation applies only temperature (no tint)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature and tint isolation applies only tint (no temperature)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature/tint exact boundaries applies temperature at -100 (coldest)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature/tint exact boundaries applies tint at -100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature/tint validation rejects sharpness out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature/tint validation rejects temperature out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-adjustments.test.ts > Temperature/tint validation rejects tint out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Achromatopsia output verification achromatopsia produces grayscale-like output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types different types produce different outputs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=achromatopsia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=blueConeMonochromacy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=deuteranomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=deuteranopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=protanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=protanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=tritanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > All 8 simulation types processes with simulationType=tritanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Authentication rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Cross-format inputs from fixtures/formats processes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Cross-format inputs from fixtures/formats processes GIF input from formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Cross-format inputs from fixtures/formats processes TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Default settings processes with default settings (deuteranomaly)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Dimension preservation output has same dimensions as input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Edge cases processes 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Edge cases processes stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Empty and corrupt file handling returns 400 for corrupt image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Empty and corrupt file handling returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Error handling returns 400 for invalid simulationType value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Format preservation preserves JPEG format for JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Format preservation preserves PNG format for PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > HEIF input processes HEIF (sample.heif) input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Invalid settings JSON returns 400 for malformed settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Multiple input formats processes HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Multiple input formats processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Multiple input formats processes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Multiple input formats processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Multiple input formats processes animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-blindness.test.ts > Response structure returns all expected fields in 200 response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > AVIF input extracts palette from AVIF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Animated GIF input extracts palette from animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Authentication rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > BMP input extracts palette from BMP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Color count bounds count field matches colors array length", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Color extraction extracts palette from PNG and returns colors array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Color extraction returns hex color strings in #RRGGBB format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Color uniqueness returns only unique colors (no duplicates)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Cross-format WebP input extracts palette from cross-format-chat.webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Edge size inputs extracts palette from 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Edge size inputs extracts palette from stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Error handling returns 400 for corrupted image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Filename tracking returns the original filename in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Gradient image palette extracts palette from a gradient image (max 8 colors)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > HEIC input extracts palette from HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > HEIF input extracts palette from HEIF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Multi-color extraction extracts multiple colors from a multi-color image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Multipart error handling returns 400 for empty file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Multiple input formats extracts palette from JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Multiple input formats extracts palette from WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > No settings field works when no settings field is provided at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Portrait image palette extracts palette from portrait-bw.jpeg (mostly black/white)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Real photo palette extracts palette from portrait-color.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Response shape: hex array always returns hex array alongside colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > SVG input extracts palette from SVG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > SVG logo input extracts palette from svg-logo.svg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Settings: HSL format returns hsl() strings when format is hsl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Settings: RGB format returns rgb() strings when format is rgb", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Settings: custom count respects count setting and returns at most that many colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Solid black image returns a single dominant color for a solid black image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Solid color image returns a single dominant color for a solid red image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Solid white image returns a single dominant color for a solid white image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > TIFF input extracts palette from TIFF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/color-palette.test.ts > Three-color image extracts 3 colors from a 3-stripe image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize accepts explicit intensity and model=auto (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize accepts minimum intensity of 0 (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize accepts model=ddcolor (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize accepts model=opencv (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize handles HEIC input (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize processes with default settings (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize rejects intensity above 1 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize rejects invalid model value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize rejects invalid settings JSON (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/colorize.test.ts > colorize responds to the route (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares AVIF with PNG (cross-format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares HEIC portrait with standard HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares HEIC vs PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares HEIF image with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares HEIF with AVIF (cross-format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares JPEG vs PNG (cross-format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares SVG image with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares WebP vs JPEG (cross-format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares a 1x1 image with a large image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares a large stress image with a small image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares a portrait JPEG with a landscape PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares an EXIF-oriented image with a standard image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares animated GIF with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares blank image with colored image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares portrait HEIC image with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two 1x1 pixel images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two AVIF images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two HEIC images (same file)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two blank images (100% similarity)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two different SVG images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two identical SVG images (100% similarity)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two large stress images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two portrait images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare compares two very small images (50x50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare diff image is always PNG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare diff image matches the reported dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare generates a downloadable diff image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare handles SVGZ input: rejects as invalid or processes successfully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare originalSize is sum of both input buffers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare processedSize reflects the diff image file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare rejects requests with no images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare rejects requests with only one image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare rejects requests with three or more images (only two allowed)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare reports 100% similarity for same JPEG compared to itself", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare reports 100% similarity when comparing an image with itself", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare reports less than 100% similarity for different images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare returns 400 when both images are corrupt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare returns 400 when corrupt image data fails validation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare similarity is rounded to 2 decimal places", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compare.test.ts > Compare uses the larger dimensions when comparing different-sized images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose applies full opacity (default, 100%)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose applies minimal opacity (1%)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose applies opacity to the overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose applies opacity with HEIC overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose applies zero opacity (completely transparent overlay)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose combines difference blend mode with low opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose combines exclusion blend mode with 10% opacity at edge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose combines hard-light blend mode with 50% opacity at position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose combines position, opacity, and blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles 1x1 pixel overlay image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles AVIF base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles HEIC base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles HEIC overlay image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles HEIF base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles SVG as base image with small overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles SVG as overlay image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles SVGZ overlay: succeeds or returns 422 for unsupported format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles a large content image as base", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles animated GIF as base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose handles portrait HEIC base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose overlays a small image onto a base image at default position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose overlays same-dimension images at origin with multiply blend", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose overlays same-size images successfully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose positions overlay at a specific x,y offset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose positions overlay at bottom-right edge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose positions overlay at extreme right edge of base", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose positions overlay at origin (0,0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose preserves original filename in download URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects invalid blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects negative x position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects negative y position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects opacity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects requests without a base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects requests without an overlay image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects when no files are provided at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose rejects x position exceeding 65535", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose returns 400 for corrupt base image that fails processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose returns 422 for corrupt overlay image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose returns 422 when 1x1 base is smaller than overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose returns 422 when overlay is larger than base image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses WebP overlay on PNG base", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses darken blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses default over blend mode explicitly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses difference blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses exclusion blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses hard-light blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses lighten blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses multiply blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses overlay blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses screen blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compose.test.ts > Compose uses soft-light blend mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress-pdf.test.ts > compress-pdf (requires gs) compresses by quality and returns a valid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress-pdf.test.ts > compress-pdf (requires gs) compresses to a target size (DPI binary search) and returns a valid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress-video.test.ts > compress-video (requires ffmpeg) compresses with 480p resolution", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress-video.test.ts > compress-video (requires ffmpeg) returns 202 and produces a compressed mp4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Error handling returns 400 for invalid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Error handling returns 400 for negative targetSizeKb", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Error handling returns 400 for quality out of range (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Error handling returns 400 for quality out of range (101)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes JP2 input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes PBM input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes PGM input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes PPM input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes QOI input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes SVGZ input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing processes TIFF input without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Exotic format processing rejects PDF files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Format preservation preserves JPEG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Format preservation preserves PNG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Format preservation preserves image dimensions after compression", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Multiple input formats compresses WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Quality mode compression compresses JPEG at quality 10 (very low)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Quality mode compression compresses JPEG at quality 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Quality mode compression lower quality produces smaller output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Quality mode compression uses default quality (80) when quality not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Target size mode compresses to a target file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Target size mode output is at or below target for PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/compress.test.ts > Target size mode output is at or below target for aggressive reduction", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > 10 concurrent compress requests fires 10 simultaneous compress requests — all succeed with unique job IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > 10 simultaneous uploads to the same tool handles 10 concurrent resize requests with distinct widths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Concurrent mix of valid and invalid requests handles a mix of valid and invalid requests without cross-contamination", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Concurrent pipeline executions fires 5 simultaneous pipeline requests — all succeed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Concurrent requests with different image formats processes PNG and JPEG simultaneously without cross-format contamination", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Interleaved uploads processes two resize requests started nearly simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Mixed tool requests in parallel with result verification resize + crop + rotate + compress simultaneously produce correct results", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Parallel uploads to different tools handles resize + rotate + compress simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Parallel uploads to the same tool handles 5 simultaneous resize requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Rapid sequential requests handles 10 requests in quick succession", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Simultaneous batch + single requests — no corruption runs a batch compress and a single rotate at the same time — no cross-contamination", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/concurrent.test.ts > Simultaneous batch + single requests — no corruption runs a batch resize and a single resize at the same time", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export with enterprise license config has configSchemaVersion field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export with enterprise license config has settings object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export with enterprise license redacted keys are not present in export", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export with enterprise license returns 200 with config object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export without enterprise license returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config export without enterprise license returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import with enterprise license dry-run mode returns changes without applying", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import with enterprise license empty config import succeeds with no changes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import with enterprise license import with valid settings applies them", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import with enterprise license rejects future schema versions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import with enterprise license returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import without enterprise license returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config import without enterprise license returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/config-export-import.test.ts > config round-trip export then dry-run import reports 0 changes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize accepts blurRadius and sobelThreshold options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize downloads output and verifies it is a valid image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize handles HEIC input (decodes before processing)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize handles square mode with width also specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes both width and height simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes with default blurRadius and sobelThreshold", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes with only height specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize processes with only width specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects invalid blurRadius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects invalid image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects invalid sobelThreshold", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects negative height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects request without settings field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects requests without width, height, or square", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize rejects width of 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize returns 400 when file is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize returns expected response fields on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize supports enlargement via seam insertion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/content-aware-resize.test.ts > Content-Aware Resize supports square mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-audio.test.ts > convert-audio (requires ffmpeg) converts mp3 to ogg and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-audio.test.ts > convert-audio (requires ffmpeg) converts wav to mp3 and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-document.test.ts > convert-document (requires soffice) converts docx to odt (PK magic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-document.test.ts > convert-document (requires soffice) converts odt to docx (PK magic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-document.test.ts > convert-document (requires soffice) rejects same-format conversion (docx to docx)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-document.test.ts > rejects missing format with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Animated format preservation converts animated GIF to PNG as single frame without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Animated format preservation preserves animation when converting animated GIF to WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts avif -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts gif -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts heic -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts jpg -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts png -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts tiff -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > Format conversion matrix converts webp -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> psd", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via convert tool converts svg -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> avif via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> gif via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> heif via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> jpg via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> png via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> tiff via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint converts svg -> webp via svg-to-raster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint respects DPI setting (72 vs 300 dpi png)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint respects quality setting (low vs high quality jpg)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-formats.test.ts > SVG via dedicated svg-to-raster endpoint returns previewUrl for non-browser format (tiff)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-presentation.test.ts > convert-presentation (requires soffice) converts pptx to odp (PK magic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-presentation.test.ts > rejects missing format with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-spreadsheet.test.ts > convert-spreadsheet (requires soffice) converts csv to xlsx (PK magic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-spreadsheet.test.ts > convert-spreadsheet (requires soffice) converts xlsx to ods (PK magic)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-spreadsheet.test.ts > rejects missing format with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-video.test.ts > convert-video (requires ffmpeg) converts to mp4 (default settings)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-video.test.ts > convert-video (requires ffmpeg) rejects a non-video upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/convert-video.test.ts > convert-video (requires ffmpeg) returns 202 (long hint) and the job completes with a webm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/create-zip.test.ts > create-zip (pure JS, no skipIf) rejects a single file with 400 'at least two'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/create-zip.test.ts > create-zip (pure JS, no skipIf) zips two fixture files into a valid ZIP with PK magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop-pdf.test.ts > crop-pdf (requires pdfcpu) crops a PDF and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop-pdf.test.ts > crop-pdf validation (ungated) rejects margin 9999 with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop-video.test.ts > crop-video (requires ffmpeg) crops to 32x32 and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop-video.test.ts > crop-video (requires ffmpeg) rejects crop rect exceeding video dimensions with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop-video.test.ts > crop-video (requires ffmpeg) rejects missing width with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops a 1-pixel-tall strip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops a 1-pixel-wide strip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops a region from the center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops a region from the top-left corner", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops a small region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops the full image dimensions (no-op crop)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop crops with percent unit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects invalid unit value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects missing required fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects negative left value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/crop.test.ts > Crop works with JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-excel.test.ts > csv-excel (pure JS, no skipIf) converts CSV to XLSX with PK magic and reloadable content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-excel.test.ts > csv-excel (pure JS, no skipIf) converts TSV to XLSX with PK magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-excel.test.ts > csv-excel (pure JS, no skipIf) converts XLSX to CSV containing the fixture content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-json.test.ts > csv-json (pure JS, no skipIf) converts CSV to JSON with the Ada row present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-json.test.ts > csv-json (pure JS, no skipIf) converts JSON to CSV containing name,age header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-json.test.ts > csv-json (pure JS, no skipIf) converts TSV to JSON with the correct keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/csv-json.test.ts > csv-json (pure JS, no skipIf) rejects non-array JSON input for JSON-to-CSV", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > CRUD edge cases DELETE non-existent role returns 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > CRUD edge cases PUT non-existent role returns 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > CRUD edge cases multiple users on deleted role all get reassigned to user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > CRUD edge cases rejects invalid permissions on update", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > CRUD edge cases updates role description", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > functional permissions custom role with only settings:read can read settings but not audit log", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > name validation accepts hyphen and underscore", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > name validation normalizes uppercase to lowercase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > name validation rejects name longer than 30 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > name validation rejects name shorter than 2 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > name validation rejects name with spaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > permission validation rejects invalid permission names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > permission validation rejects missing name field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles-edge-cases.test.ts > permission validation rejects missing permissions field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles can assign custom role to user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles cannot create duplicate role name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles cannot delete built-in roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles cannot modify built-in roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles creates a custom role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles deleting custom role reassigns users to user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles lists built-in roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles requires users:manage to create roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/custom-roles.test.ts > custom roles updates custom role permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine ghostscript compress (requires gs) converts to grayscale (valid pdf out)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine ghostscript compress (requires gs) produces a pdf/a candidate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine ghostscript compress (requires gs) produces a smaller-or-equal valid pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) encrypts and decrypts roundtrip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) linearizes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) merges two pdfs into one with summed pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) qpdfPagesSpecUnchecked accepts specs exceeding 200 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) qpdfPagesSpecUnchecked rejects invalid grammar", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) rejects a wrong password on decrypt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) rejects an invalid range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) reorders pages with an explicit order", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) repairs (rewrites) a valid pdf without loss", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) rotates pages (output stays valid with same page count)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdf-ops.test.ts > doc-engine pdf ops (requires qpdf) splits a range into a new pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > doc-engine pdfcpu (requires pdfcpu binary) booklet produces valid pdf output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > doc-engine pdfcpu (requires pdfcpu binary) crop preserves page count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > doc-engine pdfcpu (requires pdfcpu binary) nup(2) reduces 3 pages to 2 sheets", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > doc-engine pdfcpu (requires pdfcpu binary) textStamp produces valid pdf output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > doc-engine pdfcpu (requires pdfcpu binary) textStamp with page numbers (%p/%P) produces valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects crop margin out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects empty stamp text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects fontSize out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects invalid booklet value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects invalid nup value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects invalid stamp position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects opacity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects oversize stamp text (>200 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine-pdfcpu.test.ts > pdfcpu validation (no binary required) rejects rotation out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine.test.ts > doc-engine libreoffice (requires soffice) converts docx to pdf with an isolated profile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine.test.ts > doc-engine qpdf (requires qpdf) counts pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine.test.ts > doc-engine qpdf (requires qpdf) passes a structural check on a valid pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/doc-engine.test.ts > doc-engine qpdf (requires qpdf) rejects garbage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs-dispatcher.test.ts > docs dispatcher fitz (requires python + PyMuPDF) extracts text with chars > 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs-dispatcher.test.ts > docs dispatcher health probe getDocsDispatcher returns a PythonDispatcher instance", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs-dispatcher.test.ts > docs dispatcher health probe runs doc_health through the docs-profile dispatcher", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs-dispatcher.test.ts > docs dispatcher pikepdf (requires python + pikepdf) counts pdf pages through the docs profile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs-dispatcher.test.ts > docs dispatcher pikepdf (requires python + pikepdf) metadata get/set roundtrip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs.test.ts > API docs includes all tool endpoints in the spec", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs.test.ts > API docs serves the OpenAPI spec as YAML", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/docs.test.ts > API docs serves the Scalar docs page without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) 404s for missing objects and rejects traversal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) 416 omits Content-Disposition and returns JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) bytes=0-0 returns single first byte", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) bytes=10- returns 416 when start equals size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) bytes=9-50 clamps end to file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) bytes=9-9 returns single last byte", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) multi-range bytes=0-1,3-4 returns 416", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) open-ended bytes=5- returns remaining bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) rejects unsatisfiable ranges with 416", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) serves a byte range as 206 with Content-Range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/download-range.test.ts > download endpoint (object storage + Range) serves full content with Accept-Ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/duotone.test.ts > Duotone applies default duotone settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/duotone.test.ts > Duotone blends with original at intensity 40", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/duotone.test.ts > Duotone maps black pixels to shadow color and white pixels to highlight color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/duotone.test.ts > Duotone rejects invalid hex color for shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image handling crops a 1x1 image gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image handling resizes a 1x1 image without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image handling rotates a 1x1 image gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image through additional tools compresses a 1x1 image without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image through additional tools converts a 1x1 PNG to JPEG without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image through additional tools gets info for a 1x1 image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image through rotate with flip rotates and flips a 1x1 image horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > 1x1 pixel image through rotate with flip rotates and flips a 1x1 image vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Extreme filenames handles a 500-character filename without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Extreme filenames handles a Unicode filename without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Extreme filenames handles special characters in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Extreme filenames sanitizes path traversal in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Missing file part in multipart request rejects pipeline execute with only pipeline definition and no file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Missing file part in multipart request rejects resize request with only settings and no file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings field edge cases handles null values in settings gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings field edge cases strips or rejects extra unknown fields in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings field edge cases uses defaults when no settings field is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings field edge cases uses defaults when settings is empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings with extreme values handles deeply nested JSON in settings without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings with extreme values handles resize with Number.MAX_SAFE_INTEGER as width without crashing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Settings with extreme values handles settings with very large JSON string (100KB)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles CJK characters in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles a very long filename (255 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles emoji in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles filename that is only dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles filename with no extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames handles spaces and special chars in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Unicode and special filenames sanitizes path traversal in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Wrong extension — additional format mismatches handles JPEG data uploaded with .webp extension gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Wrong extension — additional format mismatches handles WebP data uploaded with .png extension gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Wrong file extension (magic byte detection) detects actual PNG format when filename says .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a null-byte-only buffer with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte / empty file uploads rejects a zero-byte file with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/info with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edge-cases.test.ts > Zero-byte file to info and border tools rejects a zero-byte file to /api/v1/tools/sharpening with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Author field writes author field (alias for artist)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing handles negative date shift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing removes specific fields and adds new ones simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Comprehensive field writing writes all supported fields at once", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation edge cases combines setAllDates with dateShift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation edge cases writes dateTimeOriginal and dateTime together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation rejects invalid dateShift format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation sets all dates at once with setAllDates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation shifts dates with dateShift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation writes dateTime field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Date manipulation writes dateTimeOriginal field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Different input formats edits metadata on PNG file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Different input formats edits metadata on plain JPG file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Error handling returns 400 for invalid image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Error handling returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Error handling returns 400 for invalid settings values (bad dateShift)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Error handling returns 400 when file is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Field removal edge cases combines clearGps with new GPS coordinates (clear then set)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Field removal edge cases removes multiple fields at once", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Field removal handles empty fieldsToRemove array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Field removal removes specific fields via fieldsToRemove", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > GPS metadata clears GPS data with clearGps=true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > GPS metadata rejects invalid latitude (out of range)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > GPS metadata rejects invalid longitude (out of range)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > GPS metadata writes GPS coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > GPS metadata writes GPS coordinates with altitude", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > HEIC format handling (extended) edits metadata on HEIC and verifies preview generation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > HEIC format handling (extended) edits metadata on HEIC input with GPS coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > HEIC format handling generates preview for HEIC output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > IPTC field combinations writes all IPTC fields together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > IPTC fields writes IPTC headline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > IPTC fields writes IPTC location fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > IPTC fields writes IPTC title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint edge cases inspect handles WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint edge cases inspect handles empty file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint edge cases inspect returns correct filename for HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint rejects inspect with no file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint returns null exif for metadata-free PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Inspect endpoint returns parsed EXIF for JPEG with metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Keywords adds keywords with default mode (add)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Keywords advanced combines keywords with other metadata fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Keywords advanced sets keywords with keywordsMode=add (default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Keywords sets keywords with keywordsMode=set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Large file handling edits metadata on a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > No-op operation returns original file when no edits are requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Tiny file handling edits metadata on a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > WebP format handling edits metadata on WebP file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes artist field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes copyright field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes imageDescription field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes multiple fields at once", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes software field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write metadata fields writes title field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/edit-metadata.test.ts > Write then inspect round-trip writes artist and verifies via inspect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/embed-subtitles.test.ts > embed-subtitles (requires ffmpeg) embeds an SRT subtitle track into an MP4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/embed-subtitles.test.ts > embed-subtitles (requires ffmpeg) rejects invalid language code 'english' with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces accepts minimum setting values (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces accepts model=codeformer (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces accepts model=gfpgan with explicit strength (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces accepts onlyCenterFace=true (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces handles HEIC input (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces processes with default settings (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces rejects invalid model value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces rejects invalid settings JSON (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces rejects strength above 1 (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/enhance-faces.test.ts > enhance-faces responds to the route (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert (requires pandoc) converts an epub with a remote ref without fetching it (no SSRF)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert (requires pandoc) converts epub to DOCX with PK magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert (requires pandoc) converts epub to HTML containing source text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert (requires pandoc) converts epub to Markdown containing source text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert pdf (requires pandoc + weasyprint) converts epub to PDF via the weasyprint chain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > epub-convert pdf (requires pandoc + weasyprint) pdf output rejects remote refs in epub content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/epub-convert.test.ts > rejects missing format with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object accepts explicit format=jpg and quality=80 (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object accepts format=avif (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object accepts format=webp (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object handles 1x1 pixel image input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object handles HEIC image input (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object handles two sequential erase requests (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object processes with default format and quality (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object rejects invalid format value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object rejects quality out of range (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object rejects requests without a mask file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object rejects requests without an image file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/erase-object.test.ts > erase-object responds to the route with image and mask (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 1. admin can create an admin user (201)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 2. admin can create an editor user (201)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 3. admin can create a regular user (201)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 4. editor cannot register anyone (403 — lacks users:manage)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 5. user cannot register anyone (403 — lacks users:manage)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > register route escalation 6. unauthenticated cannot register (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > self-delete prevention 13. admin cannot delete themselves (400 SELF_DELETE)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 10. admin cannot self-demote (400 SELF_DEMOTE)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 11. last admin cannot be demoted (400 LAST_ADMIN)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 12. admin can demote another admin when 2+ admins exist (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 7. admin can promote user -> editor (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 8. admin can promote user -> admin (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/escalation.test.ts > update user role escalation 9. admin can demote editor -> user (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/excel-to-pdf.test.ts > excel-to-pdf (requires soffice) returns 202 (long hint) and the job completes with a PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/excel-to-pdf.test.ts > rejects unsupported file types with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-audio.test.ts > extract-audio (requires ffmpeg) extracts audio from mp4 as mp3 and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-audio.test.ts > extract-audio (requires ffmpeg) extracts audio from mp4 as wav and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-pages.test.ts > extract-pages (requires qpdf) extracts pages 1-2 from a 3-page pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-pages.test.ts > extract-pages (requires qpdf) rejects an invalid page range with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-subtitles.test.ts > extract-subtitles (requires ffmpeg) extracts the subtitle track from an MKV with embedded subs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-subtitles.test.ts > extract-subtitles (requires ffmpeg) rejects a video with no subtitle track (422)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-zip.test.ts > extract-zip (pure JS, no skipIf) extracts a single-entry zip returning the bare file content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-zip.test.ts > extract-zip (pure JS, no skipIf) extracts a two-entry zip into _extracted.zip with PK magic and resultPayload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-zip.test.ts > extract-zip (pure JS, no skipIf) rejects a high-ratio zip bomb with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/extract-zip.test.ts > extract-zip (pure JS, no skipIf) rejects a zip with path traversal (../evil.txt) with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/factory-multi-input.test.ts > Factory multi-input (maxInputs) accepts 3 files for a maxInputs:3 tool, concatenates, and records 3 inputRefs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/factory-multi-input.test.ts > Factory multi-input (maxInputs) prefixes validation error with filename for multi-input tools", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/factory-multi-input.test.ts > Factory multi-input (maxInputs) rejects 2 files on a tool without maxInputs (default 1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/factory-multi-input.test.ts > Factory multi-input (maxInputs) rejects 4 files on a maxInputs:3 tool with the correct limit message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fade-audio.test.ts > fade-audio (requires ffmpeg) applies default fades and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fade-audio.test.ts > fade-audio (requires ffmpeg) rejects when both fades are 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon 512x512 chrome icon is square from large rectangular input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon HTML snippet contains 16, 32, 48, apple-touch, and manifest links", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon HTML snippet contains link tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon ICO output has valid content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon accepts empty settings object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon accepts radius and padding settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon all generated PNG files are valid images with non-zero data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon apple-touch-icon.png has correct 180x180 dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon each subfolder in multi-image has its own manifest and snippet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon favicon PNG entries have non-zero size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon favicon.ico entry has non-zero content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon favicon.ico has correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon favicon.ico is a real multi-size ICO when magick is available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generated ZIP has positive total size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates correct pixel dimensions for each favicon size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicon ZIP from a single image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons for 3 images in subfolders", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons for 5 images in subfolders", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from GIF with empty settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from portrait HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon generates favicons from stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon handles filename with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon manifest icons have correct src, sizes, and type fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon manifest.json is valid JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon manifest.json uses the file stem as app name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon rejects corrupted image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon rejects request without any files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon respects sizes filter and themeColor in manifest", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon response has correct Content-Disposition header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon uses subfolder structure for multiple images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/favicon.test.ts > favicon works when no settings field is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > POST /api/v1/admin/features/import imports a valid bundle via multipart POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > POST /api/v1/admin/features/import returns 400 for invalid archive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > POST /api/v1/admin/features/import returns 409 when lock is held", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive imports a valid bundle archive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive rejects archive containing a SymbolicLink entry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive rejects archive with path traversal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive rejects archive with unknown bundleId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive rejects archive without bundle.json", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive rejects bundle.json with traversal in models array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > importBundleArchive throws ImportLockError when lock is held", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/feature-import.test.ts > site-packages import extracts site-packages into venv site-packages directory", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls accepts non-image content (multimodal)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls deduplicates filenames when multiple URLs resolve to the same name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls download URL serves the actual image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls fetches a valid image URL and returns metadata + download URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls follows redirects to fetch the final image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls generates a preview for non-browser-previewable formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls handles mixed batch with successes and failures", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns 400 for an empty URL array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns 400 for invalid URL format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns 400 for more than 50 URLs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns failure for 500 server error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns failure for a 404 URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns failure for empty response body", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns failure for zero-length content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fetch-urls.test.ts > POST /api/v1/fetch-urls returns failure when fetch throws a network error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates accepts threshold at exact maximum (20) and groups loosely similar images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates accepts threshold at exact minimum (0) and correctly groups identical images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates calculates space saveable across multiple duplicate groups", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates calculates space saveable from duplicate groups", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects 3 identical images in one group", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects duplicates across AVIF, HEIC, and PNG formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects duplicates across SVG and raster formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects duplicates across different formats (PNG vs WebP of same content)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects duplicates among a mix of duplicate and unique images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects duplicates when the same image is uploaded twice", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates detects multiple separate duplicate groups", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates generates thumbnails for various image formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates groups identical images even at threshold 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles 10 images in a single request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles 1x1 pixel images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles 5+ images in a single batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles 6+ images in a single batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles AVIF input images in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles EXIF-oriented images in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles HEIC input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles HEIF input images in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles SVG input in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles SVGZ (compressed SVG) input in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles a large content image in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles animated GIF input in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates handles portrait HEIC images in duplicate detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates includes file metadata in duplicate group entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates includes groupId in duplicate groups", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates marks the higher-resolution image as best in a duplicate group", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates omits skippedFiles from response when all files are valid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects requests with fewer than 2 images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects requests with no files at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects threshold below minimum (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects threshold exceeding max (20)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates reports all images as unique with threshold 0 and different images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates reports no duplicate groups for completely different images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates respects the threshold parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates returns 400 when all files are unsupported", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates returns 422 when image processing fails due to corrupt data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates skips unsupported files and processes valid ones in the same batch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates sorts duplicate groups by highest similarity descending", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates tie-breaks best selection by file size when pixel count is equal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates uses high threshold to group even dissimilar images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates uses threshold 1 for very strict duplicate matching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates uses threshold at max boundary (20)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/find-duplicates.test.ts > Find Duplicates uses threshold via settings JSON field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/ai-depth.test.ts > AI depth: OCR on clean text image recognizes text from ocr-clean.png (200 with text, or 501 skip)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/ai-depth.test.ts > AI depth: blur-faces on multi-face hero processes multi-face image (202 with job, or 501 skip)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/ai-depth.test.ts > AI depth: transcribe-audio on speech hero transcribes speech WAV (200 with transcript, or 501 skip)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/audio-depth.test.ts > Audio depth: convert-audio real speech converts FLAC speech to WAV, output has audio stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/audio-depth.test.ts > Audio depth: convert-audio real speech converts OGG speech to FLAC, output is valid FLAC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/audio-depth.test.ts > Audio depth: convert-audio real speech converts WAV speech to MP3, output has audio stream with duration > 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/audio-depth.test.ts > Audio depth: normalize-audio real speech normalizes WAV speech, output is valid audio with duration > 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/document-depth.test.ts > Document depth: compress-pdf multipage hero compresses 6-page PDF, output is a valid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/document-depth.test.ts > Document depth: merge-pdf real heroes merges 6-page + 2-page PDF into 8-page document", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/document-depth.test.ts > Document depth: pdf-to-image multipage hero converts page 1 of 6-page PDF to PNG, output is a valid image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/document-depth.test.ts > Document depth: pdf-to-image multipage hero reports correct page count for 6-page PDF via /info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/document-depth.test.ts > Document depth: split-pdf multipage hero extracts pages 1-3 from 6-page PDF, output has 3 pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools Sharp decodes /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/multi-face.webp with sane dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools Sharp decodes /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/ocr-clean.png with sane dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools Sharp decodes /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/ocr-japanese.png with sane dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools Sharp decodes /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/portrait-color.jpg with sane dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools Sharp decodes /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/red-eye.jpg with sane dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/audio-with-tags.mp3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/hero.avi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/hero.mkv", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/hero.mov", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/hero.webm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/media-30s.mp4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech-10s.wav", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech.aac", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech.flac", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech.m4a", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech.ogg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools ffprobe reads a positive duration from /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/speech.opus", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools qpdf reports pages for /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/multipage-6.pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/fixture-integrity.test.ts > real fixtures decode through their real tools qpdf reports pages for /Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/fixtures/content/ocr-scanned.pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: compress real heroes compresses PNG, output is a valid decodable image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: compress real heroes compresses portrait JPG, output is valid and smaller", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: convert HEIC hero converts HEIC portrait to JPG, output is a valid JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: convert HEIC hero converts HEIC portrait to PNG, output is a valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: extract metadata from EXIF hero extracts EXIF data from test-with-exif.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: extract metadata from EXIF hero returns dimensions for portrait JPG hero", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: resize real heroes resizes PNG to 50x50 cover, output is exactly 50x50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/image-depth.test.ts > Image depth: resize real heroes resizes portrait JPG to 300px wide, output re-decodes at exact dims", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/video-depth.test.ts > Video depth: convert-video hero converts hero mp4 to mp4 (re-encode), output has h264 video stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/video-depth.test.ts > Video depth: convert-video hero converts hero mp4 to webm, output ffprobes to vp8/vp9 with duration > 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/video-depth.test.ts > Video depth: extract-audio hero extracts audio from hero mp4 as mp3, output has an audio stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fixtures/video-depth.test.ts > Video depth: trim-video hero trims hero to 0-5s, output duration is shorter than input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/flatten-pdf.test.ts > flatten-pdf (requires PyMuPDF) flattens a pdf and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix AVIF input (sample.avif) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix BMP input (sample.bmp) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix DNG input (sample.dng) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix EXR input (sample.exr) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix GIF input (sample.gif) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HDR input (sample.hdr) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIC input (sample.heic) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix HEIF input (sample.heif) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix ICO input (sample.ico) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JPEG input (sample.jpg) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix JXL input (sample.jxl) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PNG input (sample.png) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix PSD input (sample.psd) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix SVG input (sample.svg) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TGA input (sample.tga) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix TIFF input (sample.tiff) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) AI Canvas Expand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Blur Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Content-Aware Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Enhance Faces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Erase Object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Noise Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) OCR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Passport Photo (Analyze)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Red Eye Removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Remove Background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Restore Photo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Smart Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > AI tool cross-format matrix WebP input (sample.webp) Upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Content-aware-resize without dimensions returns 400 content-aware-resize without width/height/square -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Erase-object missing mask returns 400 erase-object without mask file -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 AI Canvas Expand: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Blur Faces: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Colorize: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Content-Aware Resize: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Enhance Faces: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Noise Removal: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 OCR: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Red Eye Removal: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Remove Background: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Restore Photo: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Smart Crop: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Invalid settings return 400 Upscale: invalid settings -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Malformed JSON settings return 400 Blur Faces: malformed JSON settings -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Malformed JSON settings return 400 Enhance Faces: malformed JSON settings -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Malformed JSON settings return 400 OCR: malformed JSON settings -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Malformed JSON settings return 400 Remove Background: malformed JSON settings -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Malformed JSON settings return 400 Upscale: malformed JSON settings -> 400 or 501", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 AI Canvas Expand: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Blur Faces: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Colorize: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Content-Aware Resize: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Enhance Faces: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Erase Object: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Noise Removal: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 OCR: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Passport Photo (Analyze): no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Red Eye Removal: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Remove Background: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Restore Photo: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Smart Crop: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Missing file returns 400 Upscale: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 AI Canvas Expand: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Blur Faces: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Colorize: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Content-Aware Resize: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Enhance Faces: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Erase Object: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Noise Removal: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 OCR: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Passport Photo (Analyze): no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Red Eye Removal: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Remove Background: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Restore Photo: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Smart Crop: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-ai.test.ts > Unauthenticated requests return 401 Upscale: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling adjust-colors: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling border: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling compress: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling convert: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling crop: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling image-enhancement: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling info: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling optimize-for-web: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling resize: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling rotate: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling sharpening: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Animated GIF handling strip-metadata: processes without crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 10px blue WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Border across all 16 primary formats border 5px red WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) AVIF: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) GIF: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) JPEG: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) PNG: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) SVG: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) TIFF: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Chained operations: resize then compress (core formats) WebP: resize 100x100 -> compress q50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness +20, contrast +10 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors brightness -10, saturation -15, contrast +5 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Color adjustments across all 16 primary formats adjust-colors saturation +30 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=30) WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Compress across all 16 primary formats compress quality mode (q=60) WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert round-trip: format -> WebP -> PNG (core formats) AVIF -> WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert round-trip: format -> WebP -> PNG (core formats) GIF -> WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert round-trip: format -> WebP -> PNG (core formats) JPEG -> WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert round-trip: format -> WebP -> PNG (core formats) SVG -> WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert round-trip: format -> WebP -> PNG (core formats) TIFF -> WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG AVIF -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG BMP -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG DNG -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG EXR -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG GIF -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG HDR -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG HEIC -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG HEIF -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG ICO -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG PNG -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG PSD -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG SVG -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG TGA -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG TIFF -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to JPEG WebP -> JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG AVIF -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG BMP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG DNG -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG EXR -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG GIF -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG HDR -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG HEIC -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG HEIF -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG ICO -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG JPEG -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG PSD -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG SVG -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG TGA -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG TIFF -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to PNG WebP -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP AVIF -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP BMP -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP DNG -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP EXR -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP GIF -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP HDR -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP HEIC -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP HEIF -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP ICO -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP JPEG -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP PNG -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP PSD -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP SVG -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP TGA -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Convert: 16 formats -> 3 output targets convert to WebP TIFF -> WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 10x10 px at origin WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Crop across all 16 primary formats crop 50x50 px at 5,5 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification DNG + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification EXR + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification HDR + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification ICO + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification PSD + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + border: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + compress: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + crop: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + image-enhancement: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + resize: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Exotic format error shape verification TGA + sharpening: clean JSON error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif GIF -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif JPEG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif PNG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif SVG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif TIFF -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to avif WebP -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif AVIF -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif JPEG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif PNG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif SVG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif TIFF -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to gif WebP -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff AVIF -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff GIF -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff JPEG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff PNG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff SVG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Extended conversion targets (core formats) convert to tiff WebP -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC adjust-colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC image-enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC optimize-for-web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIC strip-metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF adjust-colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF image-enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF optimize-for-web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > HEIC/HEIF graceful handling HEIF strip-metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > ICO (multi-size format) through tools border: handles ICO input (may need ImageMagick)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > ICO (multi-size format) through tools convert: handles ICO input (may need ImageMagick)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > ICO (multi-size format) through tools image-enhancement: handles ICO input (may need ImageMagick)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > ICO (multi-size format) through tools info: handles ICO input (may need ImageMagick)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > ICO (multi-size format) through tools resize: handles ICO input (may need ImageMagick)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats analyze endpoint analyzes WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement auto mode, intensity 50 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement low-light mode, intensity 40 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Image enhancement across all 16 primary formats enhancement portrait mode, intensity 75 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info (metadata extraction) across all 16 primary formats extracts metadata from WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) AVIF: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) GIF: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) JPEG: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) PNG: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) SVG: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) TIFF: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Info consistency check (core formats) WebP: info dimensions are positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools AVIF Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools BMP Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools DNG Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools EXR Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools GIF Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HDR Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIC Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools HEIF Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools ICO Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools JPEG Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PNG Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools PSD Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools SVG Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TGA Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools TIFF Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Adjust colors: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Border: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Compress: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Convert: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Crop: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Enhancement: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Info: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Optimize for web: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Resize: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Rotate: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Sharpening: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > No-crash matrix: 16 formats x 12 tools WebP Strip metadata: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web avif q60 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Optimize-for-web across all 16 primary formats optimize-for-web webp q75 WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 100 wide (height auto) WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50% percentage WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Resize across all 16 primary formats resize 50x50 contain WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 180 degrees WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 270 degrees WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate 90 degrees WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Rotate across all 16 primary formats rotate horizontal flip WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools adjust-colors: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools border: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools compress: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools convert: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools crop: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools image-enhancement: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools info: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools optimize-for-web: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools resize: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools rotate: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools sharpening: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > SVG through raster tools strip-metadata: handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening adaptive method WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Sharpening across all 16 primary formats sharpening unsharp-mask method WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strip-metadata inspect endpoint inspects WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from DNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from HDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from TGA", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-comprehensive.test.ts > Strip-metadata across all 16 primary formats strips metadata from WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures CUR convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures CUR info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures CUR resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures CUR rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DDS convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DDS info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DDS resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DDS rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DPX convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DPX info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DPX resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures DPX rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures EPS convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures EPS info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures EPS resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures EPS rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures FITS convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures FITS info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures FITS resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures FITS rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures JP2 convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures JP2 info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures JP2 resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures JP2 rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PBM convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PBM info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PBM resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PBM rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PGM convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PGM info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PGM resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PGM rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PPM convert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PPM info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PPM resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Additional uncommon format fixtures PPM rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Chained operations on exotic formats APNG -> resize -> convert to jpg -> compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix AVIF -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix GIF -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix JPEG -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix PNG -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix TIFF -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Core format to extended output format matrix WebP -> qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Edge cases: corrupt and truncated files 1-byte file is rejected with clean error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Edge cases: corrupt and truncated files empty file is rejected with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Edge cases: corrupt and truncated files random bytes are rejected with clean error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Edge cases: corrupt and truncated files truncated JPEG (first 100 bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Edge cases: corrupt and truncated files truncated PNG (first 50 bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG border and color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG convert to gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG convert to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG info extraction", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG resize preserves output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: APNG sharpening and compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: DNG color palette extraction", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: DNG image to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: DNG optimize for web as webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: DNG resize with percentage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: DNG rotate 270 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: EXR border with thick border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: EXR color adjustments - brightness and contrast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: EXR replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: EXR text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: HDR compress quality 30", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: HDR crop region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: HDR sharpening with unsharp-mask", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: HDR watermark text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: JXL image enhancement in low-light mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: JXL resize to exact dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: JXL strip all metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: PSD beautify with solid background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: PSD color-blindness deuteranopia simulation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: PSD resize with contain fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: PSD rotate 180", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: PSD vectorize in bw mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: QOI convert to png and verify", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: QOI info extraction", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: QOI resize and verify output with Sharp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: TGA adjust colors with saturation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: TGA convert to multiple formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format deep-dive: TGA meme generator", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix APNG input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix DNG input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix EXR input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix HDR input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix JXL input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix PSD input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix QOI input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> bmp (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> heic (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> ico (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> jp2 (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> jxl (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> qoi (extended)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic format output conversion matrix TGA input -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: APNG + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: DNG + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: EXR + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: HDR + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: JXL + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: PSD + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: QOI + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools collage: TGA + PNG in 2-image layout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: APNG base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: DNG base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: EXR base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: HDR base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: JXL base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: PSD base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: QOI base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools compose: TGA base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: APNG + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: DNG + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: EXR + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: HDR + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: JXL + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: PSD + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: QOI + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Exotic formats with multi-file tools stitch: TGA + PNG vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension AVIF sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension EXR sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension GIF sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension JPEG sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension JXL sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension PNG sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension PSD sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension QOI sent as .bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension TIFF sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions convert tool processes files despite wrong extension WebP sent as .gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension AVIF sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension EXR sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension GIF sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension JPEG sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension JXL sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension PNG sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension PSD sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension QOI sent as .bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension TIFF sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions info tool detects correct format regardless of extension WebP sent as .gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension AVIF sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension EXR sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension GIF sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension JPEG sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension JXL sent as .webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension PNG sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension PSD sent as .jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension QOI sent as .bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension TIFF sent as .png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Format auto-detection with wrong extensions resize tool processes files despite wrong extension WebP sent as .gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp border on PNG adds pixels to dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp convert AVIF to JPEG produces valid JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp convert GIF to TIFF produces valid TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp convert PNG to WebP produces valid WebP output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp crop AVIF produces exact requested dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp resize JPEG to 64x48 produces correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Output verification with Sharp rotate WebP 90 degrees swaps width and height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases border adds pixels to 1x1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases color palette from 1x1 (single color)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases convert 1x1 PNG to multiple formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases crop 1x1 at origin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases info on 1x1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-exotic.test.ts > Tiny file (1x1 pixel) edge cases resize 1x1 to 100x100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans AVIF input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans BMP input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans DNG input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans EXR input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans GIF input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans HDR input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans HEIC input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans HEIF input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans ICO input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans JPEG input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans JXL input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans PNG input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans PSD input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans SVG input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans TGA input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans TIFF input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Barcode-read cross-format scans WebP input for barcodes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes BMP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes DNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes EXR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes HDR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes ICO input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes JXL input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes PSD input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes TGA input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Beautify cross-format processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format AVIF + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format BMP + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format DNG + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format EXR + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format GIF + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format HDR + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format HEIC + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format HEIF + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format ICO + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format JPEG + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format JXL + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format PSD + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format SVG + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format TGA + PNG collage: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format TIFF + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Collage cross-format WebP + PNG in 2-image collage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes BMP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes DNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes EXR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes HDR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes ICO input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes JXL input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes PSD input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes TGA input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation cross-format processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: achromatopsia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: blueConeMonochromacy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: deuteranomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: deuteranopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: protanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: protanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: tritanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Color-blindness simulation types simulation: tritanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format BMP vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format DNG vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format EXR vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format HDR vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format HEIC vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format HEIF vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format ICO vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format JXL vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format PSD vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format TGA vs PNG: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares AVIF with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares GIF with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares JPEG with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares PNG with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares SVG with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares TIFF with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compare cross-format compares WebP with PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: darken", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: lighten", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: multiply", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: over", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose blend modes blend mode: screen", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) BMP base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) DNG base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) EXR base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) HDR base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) HEIC base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) HEIF base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) ICO base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) JXL base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) PSD base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format exotic format as base (no crash) TGA base + PNG overlay: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) AVIF base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) GIF base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) JPEG base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) PNG base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) SVG base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) TIFF base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as base image (overlay is PNG) WebP base + PNG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + AVIF overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + GIF overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + JPEG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + SVG overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + TIFF overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Compose cross-format format as overlay image (base is PNG) PNG base + WebP overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in BMP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in DNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in EXR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in HDR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in ICO input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in JXL input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in PSD input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in TGA input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format edit endpoint edits metadata in WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects AVIF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects BMP metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects DNG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects EXR metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects GIF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects HDR metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects HEIC metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects HEIF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects ICO metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects JPEG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects JXL metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects PNG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects PSD metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects SVG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects TGA metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects TIFF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Edit-metadata cross-format inspect endpoint inspects WebP metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Favicon cross-format generates favicons from WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format BMP + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format DNG + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format EXR + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format HDR + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format HEIC + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format HEIF + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format ICO + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format JXL + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format PSD + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format TGA + PNG find-duplicates: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects AVIF + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects GIF + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects JPEG + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects PNG + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects SVG + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects TIFF + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Find-duplicates cross-format detects WebP + PNG pair", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from BMP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from DNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from EXR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from HDR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from ICO input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from JXL input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from PSD input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from TGA input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Meme-generator cross-format generates meme from WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools barcode-read: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools beautify: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools collage: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools color-blindness: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools compare: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools compose: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools edit-metadata: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools favicon: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools find-duplicates: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools meme-generator: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools split: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools stitch: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools svg-to-raster: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Missing file returns 400 for expanded tools vectorize: no file -> 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster converts SVG to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster converts SVG to avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster converts SVG to jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster converts SVG to png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster converts SVG to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects AVIF input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects BMP input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects GIF input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects JPEG input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects PNG input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects TIFF input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > SVG-to-raster rejects WebP input with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format BMP: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format DNG: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format EXR: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format HDR: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format HEIC: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format HEIF: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format ICO: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format JXL: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format PSD: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format TGA: no server crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits AVIF into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits GIF into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits JPEG into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits PNG into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits SVG into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits TIFF into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Split cross-format splits WebP into grid tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format BMP + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format DNG + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format EXR + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format HDR + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format HEIC + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format HEIF + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format ICO + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format JXL + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format PSD + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format TGA + PNG stitch: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches AVIF + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches GIF + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches JPEG + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches SVG + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches TIFF + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch cross-format stitches WebP + PNG horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch direction modes direction: grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch direction modes direction: horizontal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Stitch direction modes direction: vertical", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format AVIF: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format BMP: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format DNG: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format EXR: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format GIF: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format HDR: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format HEIC: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format HEIF: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format ICO: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format JPEG: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format JXL: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format PNG: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format PSD: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format SVG: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format TGA: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format TIFF: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Transparency-fixer cross-format WebP: returns 501 or accepts input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools barcode-read: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools beautify: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools collage: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools color-blindness: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools compare: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools compose: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools edit-metadata: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools favicon: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools find-duplicates: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools meme-generator: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools split: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools stitch: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools svg-to-raster: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools transparency-fixer: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Unauthenticated requests return 401 for expanded tools vectorize: no auth -> 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize color modes BW mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize color modes color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes BMP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes DNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes EXR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes HDR input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes HEIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes ICO input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes JXL input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes PSD input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes TGA input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes TIFF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-expanded.test.ts > Vectorize cross-format vectorizes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) adjust-colors handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) ai-canvas-expand handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) aspect-pad handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) audio-channels handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) audio-metadata handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) audio-speed handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) auto-subtitles handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) background-replace handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) barcode-generate handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) barcode-read handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) beautify handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) blur-background handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) blur-faces handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) blur-pad handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) booklet-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) border handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) bulk-rename handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) burn-subtitles handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) change-fps handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) chart-maker handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) circle-crop handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) collage handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) color-blindness handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) color-palette handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) colorize handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) compare handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) compose handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) compress handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) compress-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) compress-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) content-aware-resize handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert-document handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert-presentation handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert-spreadsheet handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) convert-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) create-zip handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) crop handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) crop-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) crop-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) csv-excel handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) csv-json handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) default settings are valid for every registered tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) duotone handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) edit-metadata handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) embed-subtitles handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) enhance-faces handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) epub-convert handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) erase-object handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) excel-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) extract-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) extract-pages handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) extract-subtitles handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) extract-zip handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) fade-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) favicon handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) find-duplicates handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) flatten-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) gif-to-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) gif-tools handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) gif-webp handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) grayscale-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) histogram handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) html-to-image handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) html-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) image-enhancement handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) image-pad handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) image-to-base64 handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) image-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) images-to-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) info handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) json-xml handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) linearize-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) lqip-placeholder handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) markdown-to-docx handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) markdown-to-html handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) markdown-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) meme-generator handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) merge-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) merge-csvs handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) merge-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) merge-videos handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) mute-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) noise-reduction handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) noise-removal handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) normalize-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) nup-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) ocr handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) ocr-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) optimize-for-web handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) organize-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) passport-photo handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdf-metadata handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdf-page-numbers handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdf-to-image handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdf-to-text handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdf-to-word handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pdfa-convert handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pitch-shift handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) pixelate handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) powerpoint-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) protect-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) qr-generate handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) red-eye-removal handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) redact-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) remove-background handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) remove-pages handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) repair-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) replace-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) replace-color handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) resize handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) resize-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) restore-photo handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) reverse-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) reverse-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) ringtone-maker handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) rotate handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) rotate-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) rotate-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) settings overrides only reference registered tools", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) sharpening handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) silence-removal handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) smart-crop handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) split handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) split-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) split-csv handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) split-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) sprite-sheet handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) stabilize-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) stitch handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) strip-metadata handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) svg-to-raster handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) text-overlay handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) to-epub handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) transcribe-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) transparency-fixer handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) trim-audio handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) trim-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) unlock-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) upscale handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) vectorize handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-color handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-loudnorm handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-metadata handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-speed handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-to-frames handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-to-gif handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) video-to-webp handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) vignette handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) volume-adjust handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) watermark-image handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) watermark-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) watermark-text handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) watermark-video handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) waveform-image handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) word-to-pdf handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) xml-to-csv handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-generated.test.ts > tool x format matrix (generated) yaml-json handles every input format cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix aspect-pad tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-channels tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-metadata tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix audio-speed tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix auto-subtitles tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix blur-pad tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix booklet-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix booklet-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.ass -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.srt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.vtt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix burn-subtitles tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix change-fps tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix compress-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-document tiny.doc -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-document tiny.docx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-document tiny.odt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-document tiny.rtf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-document tiny.txt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-presentation tiny.odp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-presentation tiny.ppt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-presentation tiny.pptx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny.ods -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny.xls -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-spreadsheet tiny.xlsx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix convert-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix create-zip tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix crop-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-excel tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-excel tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-excel tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-excel tiny.tsv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-excel tiny.xlsx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-json tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-json tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-json tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-json tiny.json -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix csv-json tiny.tsv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.ass -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.srt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.vtt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix embed-subtitles tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix epub-convert tiny.epub -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny.ods -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny.xls -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix excel-to-pdf tiny.xlsx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-audio tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-pages encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-pages tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-subtitles tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix extract-zip tiny.zip -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix fade-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix flatten-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix flatten-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix gif-to-video -- no matching fixtures for .gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix grayscale-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix grayscale-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix has video, audio, document, and data fixtures", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix html-to-pdf remote-img.html -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix html-to-pdf tiny.htm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix html-to-pdf tiny.html -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix images-to-video -- no matching fixtures for .jpg, .jpeg, .png, .webp, .gif, .bmp, .tiff, .tif, .avif, .heic, .heif, .svg, .svgz, .ico, .jxl, .jp2, .psd, .tga, .exr, .hdr, .dng, .cr2, .nef, .arw, .orf, .rw2, .ppm, .pgm, .pbm, .qoi, .dds, .fits, .dpx, .apng, .cur, .eps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix json-xml tiny.json -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix json-xml tiny.xml -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix linearize-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix linearize-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-docx tiny.markdown -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-docx tiny.md -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-html tiny.markdown -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-html tiny.md -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-pdf tiny.markdown -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix markdown-to-pdf tiny.md -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-csvs tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-csvs tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-csvs tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-csvs tiny.tsv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix merge-videos tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix mute-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix noise-reduction tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix normalize-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix nup-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix nup-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ocr-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ocr-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix organize-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix organize-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-metadata encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-metadata tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-page-numbers encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-page-numbers tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-image encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-image tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-text encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-text tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-word encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdf-to-word tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdfa-convert encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pdfa-convert tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix pitch-shift tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix powerpoint-to-pdf tiny.odp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix powerpoint-to-pdf tiny.ppt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix powerpoint-to-pdf tiny.pptx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix protect-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix protect-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix redact-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix redact-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix remove-pages encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix remove-pages tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix repair-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix repair-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix replace-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix resize-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix reverse-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix ringtone-maker tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix rotate-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix silence-removal tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-csv tiny-a.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-csv tiny-b.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-csv tiny.csv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-csv tiny.tsv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix split-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix stabilize-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix to-epub remote-img.html -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix to-epub tiny.docx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix to-epub tiny.html -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix to-epub tiny.md -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix to-epub tiny.txt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix transcribe-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-audio tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix trim-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix unlock-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix unlock-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-color tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-loudnorm tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-metadata tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-speed tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-frames tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-gif tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix video-to-webp tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix volume-adjust tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-pdf encrypted.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-pdf tiny.pdf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny-subs.mkv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.3gp -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.avi -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.flv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.m2ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.m4v -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.mov -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.mp4 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.mpeg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.mpg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.mts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.ogv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.ts -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.webm -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix watermark-video tiny.wmv -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.aac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.ac3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.aiff -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.amr -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.flac -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.m4a -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.mp3 -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.ogg -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.opus -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tiny.wma -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tone-gap.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix waveform-image tone-stereo.wav -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix word-to-pdf tiny.doc -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix word-to-pdf tiny.docx -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix word-to-pdf tiny.odt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix word-to-pdf tiny.rtf -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix word-to-pdf tiny.txt -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix xml-to-csv tiny.xml -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix yaml-json tiny.json -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix yaml-json tiny.yaml -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix-multimodal.test.ts > multi-modality tool x format matrix yaml-json tiny.yml -> clean status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix APNG -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix AVIF -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix AVIF -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix AVIF -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix AVIF -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix AVIF -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix GIF -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix GIF -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix GIF -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix GIF -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix GIF -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix JPEG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix JPEG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix JPEG -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix JPEG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix JPEG -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix PNG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix PNG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix PNG -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix PNG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix PNG -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix SVG -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix TIFF -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix TIFF -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix TIFF -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix TIFF -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix TIFF -> webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix WebP -> avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix WebP -> gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix WebP -> jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix WebP -> png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format conversion matrix WebP -> tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix APNG input (sample.apng) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix AVIF input (sample.avif) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix BMP input (sample.bmp) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix CUR input (sample.cur) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DDS input (sample.dds) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DNG input (sample.dng) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix DPX input (sample.dpx) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EPS input (sample.eps) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix EXR input (sample.exr) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix FITS input (sample.fits) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix GIF input (sample.gif) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HDR input (sample.hdr) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIC input (sample.heic) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix HEIF input (sample.heif) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix ICO input (sample.ico) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JP2 input (sample.jp2) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JPEG input (sample.jpg) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix JXL input (sample.jxl) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PBM input (sample.pbm) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PGM input (sample.pgm) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PNG input (sample.png) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PPM input (sample.ppm) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix PSD input (sample.psd) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix QOI input (sample.qoi) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVG input (sample.svg) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix SVGZ input (sample.svgz) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TGA input (sample.tga) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix TIFF input (sample.tiff) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Color adjustments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Color palette", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Convert to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Image enhancement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Image to Base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Info (metadata)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Optimize for web", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Replace color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Rotate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Strip metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Cross-format matrix WebP input (sample.webp) Watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience CUR + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DDS + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DNG + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience DPX + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EPS + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience EXR + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience FITS + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience HDR + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience ICO + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JP2 + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience JXL + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PBM + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PGM + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PPM + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience PSD + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience QOI + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Border: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Color adjustments: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Color palette: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Compress: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Convert to PNG: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Crop: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Image enhancement: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Image to PDF: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Optimize for web: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Replace color: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Resize: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Rotate: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Sharpening: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Strip metadata: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Text overlay: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Exotic format error resilience TGA + Watermark text: returns JSON error (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats CUR analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats DDS analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats DNG analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats DPX analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats EPS analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats EXR analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats FITS analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats HDR analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats ICO analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats JP2 analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats JXL analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats PBM analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats PGM analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats PPM analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats PSD analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats QOI analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats TGA analyze: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes APNG and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes AVIF and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes GIF and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes JPEG and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes PNG and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes SVG and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes TIFF and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image enhancement analysis across formats analyzes WebP and returns correction recommendations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf CUR -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf DDS -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf DNG -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf DPX -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf EPS -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf EXR -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf FITS -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf HDR -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf ICO -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf JP2 -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf JXL -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf PBM -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf PGM -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf PPM -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf PSD -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf QOI -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix exotic format error resilience for image-to-pdf TGA -> PDF: returns clean response (no crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) APNG + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) AVIF + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) GIF + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) JPEG + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) SVG + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) TIFF + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multi-format PDF (mixed inputs in one document) WebP + PNG as 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix multipage TIFF to PDF converts multipage TIFF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format APNG -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format APNG -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format APNG -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format APNG -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format APNG -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format AVIF -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format AVIF -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format AVIF -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format AVIF -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format AVIF -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format GIF -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format GIF -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format GIF -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format GIF -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format GIF -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format JPEG -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format JPEG -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format JPEG -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format JPEG -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format JPEG -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format PNG -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format PNG -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format PNG -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format PNG -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format PNG -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format SVG -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format SVG -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format SVG -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format SVG -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format SVG -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format TIFF -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format TIFF -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format TIFF -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format TIFF -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format TIFF -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format WebP -> A3 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format WebP -> A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format WebP -> A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format WebP -> A5 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix page size and orientation variations per core format WebP -> Letter portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts APNG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts AVIF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts BMP to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts CUR to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts DDS to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts DNG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts DPX to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts EPS to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts EXR to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts FITS to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts GIF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts HDR to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts HEIC to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts HEIF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts ICO to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts JP2 to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts JPEG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts JXL to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts PBM to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts PGM to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts PNG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts PPM to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts PSD to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts QOI to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts SVG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts SVGZ to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts TGA to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts TIFF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Image-to-PDF cross-format matrix single image conversion across formats converts WebP to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Border handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Color adjustments handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Color palette handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Compress handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Convert to PNG handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Crop handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Image enhancement handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Image to Base64 handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Image to PDF handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Info (metadata) handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Optimize for web handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Replace color handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Resize handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Rotate handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Sharpening handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Strip metadata handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Text overlay handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Multipage TIFF handling Watermark text handles multipage TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects APNG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects AVIF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects GIF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects JPEG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects PNG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects SVG metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects TIFF metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Strip-metadata inspection across formats inspects WebP metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) APNG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) AVIF main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) BMP main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) CUR main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) DDS main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) DNG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) DPX main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) EPS main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) EXR main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) FITS main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) GIF main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) HDR main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) HEIC main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) HEIF main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) ICO main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) JP2 main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) JPEG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) JXL main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) PBM main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) PGM main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) PNG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) PPM main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) PSD main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) QOI main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) SVG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) SVGZ main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) TGA main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) TIFF main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as main image (watermark is PNG) WebP main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with APNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with AVIF watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with BMP watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with CUR watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with DDS watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with DNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with DPX watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with EPS watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with EXR watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with FITS watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with GIF watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with HDR watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with HEIC watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with HEIF watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with ICO watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with JP2 watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with JPEG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with JXL watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with PBM watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with PGM watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with PNG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with PPM watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with PSD watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with QOI watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with SVG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with SVGZ watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with TGA watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with TIFF watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix format as watermark image (main is PNG) PNG main image with WebP watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats APNG with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats APNG with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats APNG with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats APNG with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats APNG with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats AVIF with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats AVIF with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats AVIF with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats AVIF with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats AVIF with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats GIF with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats GIF with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats GIF with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats GIF with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats GIF with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats JPEG with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats JPEG with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats JPEG with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats JPEG with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats JPEG with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats PNG with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats PNG with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats PNG with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats PNG with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats PNG with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats SVG with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats SVG with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats SVG with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats SVG with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats SVG with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats TIFF with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats TIFF with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats TIFF with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats TIFF with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats TIFF with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats WebP with position=bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats WebP with position=bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats WebP with position=center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats WebP with position=top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image cross-format matrix watermark positions across core formats WebP with position=top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image CUR main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image DDS main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image DNG main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image DPX main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image EPS main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image EXR main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image FITS main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image HDR main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image ICO main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image JP2 main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image JXL main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image PBM main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image PGM main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image PPM main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image PSD main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image QOI main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as main image TGA main + PNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + CUR watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + DDS watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + DNG watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + DPX watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + EPS watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + EXR watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + FITS watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + HDR watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + ICO watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + JP2 watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + JXL watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + PBM watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + PGM watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + PPM watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + PSD watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + QOI watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/format-matrix.test.ts > Watermark-image exotic format error resilience exotic format as watermark image PNG main + TGA watermark: no crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) adjust-colors never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) ai-canvas-expand never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) aspect-pad never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) audio-channels never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) audio-metadata never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) audio-speed never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) auto-subtitles never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) background-replace never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) barcode-generate never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) barcode-read never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) beautify never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) blur-background never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) blur-faces never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) blur-pad never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) booklet-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) border never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) bulk-rename never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) burn-subtitles never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) change-fps never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) chart-maker never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) circle-crop never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) collage never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) color-blindness never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) color-palette never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) colorize never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) compare never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) compose never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) compress never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) compress-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) compress-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) content-aware-resize never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert-document never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert-presentation never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert-spreadsheet never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) convert-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) create-zip never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) crop never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) crop-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) crop-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) csv-excel never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) csv-json never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) duotone never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) edit-metadata never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) embed-subtitles never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) enhance-faces never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) epub-convert never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) erase-object never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) excel-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) extract-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) extract-pages never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) extract-subtitles never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) extract-zip never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) fade-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) favicon never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) find-duplicates never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) flatten-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) gif-to-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) gif-tools never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) gif-webp never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) grayscale-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) histogram never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) html-to-image never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) html-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) image-enhancement never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) image-pad never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) image-to-base64 never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) image-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) images-to-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) info never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) json-xml never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) linearize-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) lqip-placeholder never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) markdown-to-docx never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) markdown-to-html never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) markdown-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) meme-generator never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) merge-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) merge-csvs never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) merge-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) merge-videos never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) mute-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) noise-reduction never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) noise-removal never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) normalize-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) nup-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) ocr never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) ocr-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) optimize-for-web never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) organize-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) passport-photo never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdf-metadata never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdf-page-numbers never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdf-to-image never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdf-to-text never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdf-to-word never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pdfa-convert never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pitch-shift never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) pixelate never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) powerpoint-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) protect-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) qr-generate never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) red-eye-removal never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) redact-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) remove-background never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) remove-pages never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) repair-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) replace-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) replace-color never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) resize never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) resize-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) restore-photo never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) reverse-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) reverse-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) ringtone-maker never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) rotate never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) rotate-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) rotate-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) sharpening never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) silence-removal never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) smart-crop never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) split never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) split-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) split-csv never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) split-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) sprite-sheet never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) stabilize-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) stitch never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) strip-metadata never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) svg-to-raster never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) text-overlay never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) to-epub never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) transcribe-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) transparency-fixer never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) trim-audio never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) trim-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) unlock-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) upscale never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) vectorize never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-color never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-loudnorm never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-metadata never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-speed never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-to-frames never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-to-gif never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) video-to-webp never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) vignette never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) volume-adjust never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) watermark-image never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) watermark-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) watermark-text never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) watermark-video never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) waveform-image never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) word-to-pdf never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) xml-to-csv never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/fuzz-settings.test.ts > settings fuzz (property-based) yaml-json never crashes on schema-valid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 401 for DELETE purge without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 401 for GET without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 401 for POST without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 403 for GET without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 403 for POST without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data export returns 403 for non-admin user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge rejects purge with confirm: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge requires confirmation body for purge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge returns 401 for team purge without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge returns 401 for user purge without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge returns 403 without enterprise license for team purge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR data purge returns 403 without enterprise license for user purge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR edge cases export initiation rejects GET method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR edge cases purge endpoint rejects POST method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR edge cases sequential purge requests for same user return consistent results", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR export additional validation returns 401 for GET export status with invalid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR export additional validation returns 401 for POST export with invalid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR purge body validation rejects purge with confirm as string instead of boolean", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR purge body validation rejects purge with confirm: null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR purge body validation rejects purge with no body at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gdpr-lifecycle.test.ts > GDPR purge body validation returns 403 for non-existent user ID without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-to-video.test.ts > gif-to-video (requires ffmpeg) converts a GIF to mp4 by default and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-to-video.test.ts > gif-to-video (requires ffmpeg) converts a GIF to webm when format is webm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Content animated GIF (animated-simpsons.gif) metadata endpoint returns correct info for content GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Content animated GIF (animated-simpsons.gif) resizes a larger animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract format edge cases extract all frames as WebP produces a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract format edge cases extracts single frame as JPEG returns 400 (only png/webp)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract mode additional tests extracts a single frame as WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract mode additional tests extracts a specific range of frames as PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract mode extracts a range of frames as a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract mode extracts a single frame as PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Extract mode extracts all frames as a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Loop count sets a custom loop count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Metadata endpoint edge cases returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with dither 0 (no dithering)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with maximum colors (256)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode parameter variations optimizes with minimum colors (2)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Optimize mode processes with custom color/effort settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns metadata for an animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > POST /api/v1/tools/gif-tools/info returns pages=1 for a static image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resize without dimensions or percentage passes through", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with both width and height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode edge cases resizes with only height specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode resizes animated GIF by percentage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize mode resizes animated GIF by pixel dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Resize output dimension verification resize by width produces correct output width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Response structure returns all expected fields in 200 response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Reverse mode reverses frame order of an animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Reverse mode with speed adjustment reverses a single-frame GIF gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Reverse mode with speed adjustment reverses and doubles speed simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate angle validation accepts no angle with flip only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate angle validation rejects invalid rotation angle (45)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode flips horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode flips vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode rotates 180 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode rotates 270 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode rotates 90 degrees", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode rotates a static image (single frame)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Rotate mode rotates and flips simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Speed mode boundary values accepts maximum speed factor (10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Speed mode boundary values accepts minimum speed factor (0.1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Speed mode doubles the playback speed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Speed mode edge cases slows down the playback speed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Validation returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Validation returns 400 for invalid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Validation returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Validation returns 400 when no file is provided to process", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-tools.test.ts > Validation returns 401 for unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-webp.test.ts > GIF/WebP Converter applies quality setting for GIF-to-WebP conversion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-webp.test.ts > GIF/WebP Converter applies resizePercent and produces a smaller WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-webp.test.ts > GIF/WebP Converter converts animated GIF to WebP with multiple pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-webp.test.ts > GIF/WebP Converter converts animated WebP to GIF with multiple pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/gif-webp.test.ts > GIF/WebP Converter rejects PNG input with extension guard", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/grayscale-pdf.test.ts > grayscale-pdf (requires ghostscript) converts to grayscale and produces a valid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/histogram.test.ts > Histogram generates a PNG histogram with bins and stats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/histogram.test.ts > Histogram pure-red fixture has correct bins and stats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix adjust-colors rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix ai-canvas-expand rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix aspect-pad rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix audio-channels rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix audio-metadata rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix audio-speed rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix auto-subtitles rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix background-replace rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix barcode-generate rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix barcode-read rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix beautify rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix blur-background rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix blur-faces rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix blur-pad rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix booklet-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix border rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix bulk-rename rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix burn-subtitles rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix change-fps rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix chart-maker rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix circle-crop rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix collage rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix color-blindness rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix color-palette rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix colorize rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix compare rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix compose rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix compress rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix compress-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix compress-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix content-aware-resize rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert-document rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert-presentation rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert-spreadsheet rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix convert-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix create-zip rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix crop rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix crop-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix crop-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix csv-excel rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix csv-json rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix duotone rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix edit-metadata rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix embed-subtitles rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix enhance-faces rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix epub-convert rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix erase-object rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix excel-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix extract-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix extract-pages rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix extract-subtitles rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix extract-zip rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix fade-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix favicon rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix find-duplicates rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix flatten-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix gif-to-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix gif-tools rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix gif-webp rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix grayscale-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix histogram rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix html-to-image rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix html-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix image-enhancement rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix image-pad rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix image-to-base64 rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix image-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix images-to-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix info rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix json-xml rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix linearize-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix lqip-placeholder rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix markdown-to-docx rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix markdown-to-html rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix markdown-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix meme-generator rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix merge-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix merge-csvs rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix merge-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix merge-videos rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix mute-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix noise-reduction rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix noise-removal rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix normalize-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix nup-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix ocr rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix ocr-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix optimize-for-web rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix organize-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix passport-photo rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdf-metadata rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdf-page-numbers rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdf-to-image rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdf-to-text rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdf-to-word rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pdfa-convert rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pitch-shift rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix pixelate rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix powerpoint-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix protect-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix qr-generate rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix red-eye-removal rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix redact-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix remove-background rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix remove-pages rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix repair-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix replace-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix replace-color rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix resize rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix resize-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix restore-photo rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix reverse-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix reverse-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix ringtone-maker rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix rotate rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix rotate-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix rotate-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix sharpening rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix silence-removal rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix smart-crop rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix split rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix split-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix split-csv rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix split-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix sprite-sheet rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix stabilize-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix stitch rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix strip-metadata rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix svg-to-raster rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix text-overlay rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix to-epub rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix transcribe-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix transparency-fixer rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix trim-audio rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix trim-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix unlock-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix upscale rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix vectorize rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-color rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-loudnorm rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-metadata rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-speed rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-to-frames rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-to-gif rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix video-to-webp rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix vignette rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix volume-adjust rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix watermark-image rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix watermark-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix watermark-text rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix watermark-video rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix waveform-image rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix word-to-pdf rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix xml-to-csv rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/hostile-inputs.test.ts > hostile input matrix yaml-json rejects hostile files cleanly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks 0.0.0.0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks 10.x.x.x", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks 127.0.0.1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks 172.16.x.x", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks 192.168.x.x", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks IPv6 loopback", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image SSRF protection (400) blocks localhost", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image authentication returns 401 without auth token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image browser unavailable (503) returns 503 when browser is not installed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image capture errors returns 422 on generic capture failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image capture errors returns 503 when browser service is crashed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image capture errors returns 504 on page load timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts custom viewport dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts desktop device preset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts fullPage parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts jpg format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts mobile device preset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts png format explicitly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts quality parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts tablet device preset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path accepts webp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path captures a URL with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path passes correct options to capturePage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image happy path returns a downloadable image at the download URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image html content mode captures HTML content with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image html content mode does not perform SSRF check for html mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image html content mode rejects empty html string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image html content mode rejects when both url and html are provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image html content mode rejects when neither url nor html is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects empty url string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects invalid format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects invalid url", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects missing url field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects quality above 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects quality below 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects viewport width above 3840", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-image.test.ts > HTML to Image validation errors (400) rejects viewport width below 320", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-pdf.test.ts > html-to-pdf (requires weasyprint) SSRF CONTRACT: rejects HTML referencing remote resources", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-pdf.test.ts > html-to-pdf (requires weasyprint) returns 202 (long hint) and the job completes with a PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/html-to-pdf.test.ts > rejects a .txt file with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Alpha channel preservation preserves alpha channel without crosshatch corruption", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Alpha channel preservation preserves partial transparency in PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint HEIC handling analyze decodes HEIC input before analysis", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint analyze returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint details analysis returns correction values within expected ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint details analysis works on WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint format coverage analyze returns consistent structure across formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint format coverage analyze works with PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint invalid image analyze returns 400 for empty file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint invalid image analyze returns 400 for invalid image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint response structure analysis returns scores and corrections objects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Analyze endpoint returns analysis data for an image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Animated GIF input enhances animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Authentication returns 401 for unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Auto mode enhances with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Auto mode enhances with explicit auto mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Batch processing batch processes 5+ images and returns a ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Batch processing batch returns 400 with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Darkening regression does not darken a bright image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Darkening regression does not darken image at default intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Deep Enhance accepts deepEnhance setting and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Deep Enhance works without deepEnhance (default false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Document mode variations enhances JPEG in document mode at high intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Document mode variations enhances WebP in landscape mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Empty file handling returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Enhancement modes enhances in document mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Enhancement modes enhances in food mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Enhancement modes enhances in landscape mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Enhancement modes enhances in low-light mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Enhancement modes enhances in portrait mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Error handling returns 400 for intensity out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Error handling returns 400 for intensity out of range (negative)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Error handling returns 400 for invalid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Error handling returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Format preservation preserves JPEG format for JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Full corrections suite enhances with all corrections enabled at max intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > HEIC input enhancement enhances HEIC in portrait mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > HEIC input enhancement enhances HEIC input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > HEIF input enhances HEIF (sample.heif) input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Intensity parameter enhances at maximum intensity (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Intensity parameter enhances at mid intensity (50, default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Intensity parameter enhances at minimum intensity (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Invalid image data returns 400 for corrupt image data on main endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Large file handling enhances a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Large file with modes enhances large image in document mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Large file with modes enhances large image in low-light mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Low-light image analysis analysis suggests low-light mode for dark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Mode and intensity combinations applies food mode at zero intensity (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Mode and intensity combinations applies low-light mode at low intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Mode and intensity combinations applies portrait mode at high intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Mode with selective corrections document mode with only sharpness enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Mode with selective corrections landscape mode with denoise and exposure only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Multiple input formats enhances JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Multiple input formats enhances WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output dimension verification preserves JPEG input dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output dimension verification preserves WebP input dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output format for different input formats preserves PNG format for PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output format for different input formats preserves WebP format for WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output verification output differs from input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Output verification preserves image dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Partial corrections object accepts corrections with only some fields specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Partial corrections object accepts empty corrections object (all defaults)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Portrait image enhancement enhances a real portrait image in portrait mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Portrait image enhancement enhances portrait-color content image in landscape mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Response structure returns all expected fields in 200 response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > SVG input enhances SVG input after rasterization", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Selective correction edge cases enables only contrast and white balance", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Selective correction edge cases enables only saturation at max intensity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Selective corrections disables all corrections", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Selective corrections disables all corrections except exposure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Selective corrections enables only sharpness and denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-enhancement.test.ts > Tiny file handling enhances a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad applies the specified padding color at corners", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad blur background produces a valid padded image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad canvasFor: 200x150 with 16:9 produces correct canvas", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad canvasFor: 200x150 with 1:1 produces a 200x200 canvas", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad custom ratio 21:9 produces correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad pads a non-square image to 1:1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad rejects invalid color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad transparent background outputs PNG with alpha 0 at corner", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-pad.test.ts > Image Pad uses default settings when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 accepts jxl as a valid outputFormat value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 accepts quality at maximum boundary (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 accepts quality at minimum boundary (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 applies maxHeight resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 applies maxWidth and maxHeight together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 applies maxWidth resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 applies mid-range quality (50) to AVIF output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 applies resize and format conversion together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 base64 output is valid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts 5 images in a single request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts AVIF to base64 in original mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts HEIC to JPEG in original mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts HEIC to JPEG with resize applied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts HEIC to PNG when outputFormat is png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts HEIF to JPEG in original mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts SVG to JPEG when outputFormat is jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts TIFF to WebP format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts TIFF to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts a PNG to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts animated GIF to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts mixed formats in a single batch request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts multiple images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts stress-large.jpg to base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts to a specific output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts to avif output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts to png output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 converts to webp output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 data URI contains the correct MIME type prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 data URI string length matches base64 + prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 decoded base64 produces a valid image buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 does not enlarge when maxWidth exceeds image width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 encodedSize matches actual base64 decoded byte count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 handles 1x1 tiny image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 handles extreme resize to 1x1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 handles unknown outputFormat falling through to default", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 ignores invalid settings JSON (uses defaults)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 lower quality produces smaller encoded size for jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 maxHeight=0 means no height resize (pass-through)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 maxWidth=0 means no width resize (pass-through)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 overheadPercent reflects base64 expansion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 passes through SVG without conversion in original mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 preserves WebP format in original mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 preserves original format when only resize is requested", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects invalid outputFormat value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects invalid quality setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects negative maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects negative maxWidth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects quality above 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects request without any files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 reports corrupted image in errors array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 resizes animated GIF and converts to JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-base64.test.ts > image-to-base64 works when no settings field is provided at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf PDF output is larger than zero bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf accepts KB unit for target size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf accepts decimal MB values for target size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf accepts maximum margin (500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf accepts target size at minimum boundary (50KB)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf collate=true produces collated PDF (same as default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf compresses 3-image PDF with target size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf compresses multi-image PDF to meet target size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts 1x1 pixel image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts HEIC image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts HEIF image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts SVG to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts TIFF image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts WebP image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts a single image to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts animated GIF to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts multiple images to multi-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf converts stress-large.jpg to PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates 3-page PDF from three images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates 5-page PDF from five images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates individual PDFs in ZIP when collate is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates individual PDFs with all settings combined when collate=false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates individual compressed PDFs when collate=false with targetSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates multi-page PDF from mixed formats (PNG + JPG + WebP + TIFF)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates multi-page PDF with all settings combined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates portrait A4 PDF explicitly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf creates single PDF in ZIP when collate is false with one image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf handles A3 landscape with max margin (500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf handles A5 portrait with zero margin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf handles Letter landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf handles landscape A3 with custom margin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf omits compression field when no targetSize is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf output is valid PDF (magic bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects Legal page size (not supported)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects invalid Zod settings (invalid pageSize)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects invalid orientation value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects invalid target size unit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects margin exceeding max (>500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects margin out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects negative margin value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects negative target size value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects request without any files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects target size below 50KB", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf respects target file size and returns compression info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf returns 400 when image format is unrecognized", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf returns targetMet=false when target is impossibly small", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports custom margin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports landscape orientation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports page size: A3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports page size: A4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports page size: A5", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf supports page size: Letter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/image-to-pdf.test.ts > image-to-pdf works when no settings field is provided (uses defaults)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/images-to-video.test.ts > images-to-video (requires ffmpeg) creates a slideshow from two images with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/images-to-video.test.ts > images-to-video (requires ffmpeg) rejects a single image with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info detects EXIF data on test-with-exif.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info detects alpha channel in PNG with transparency", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info fileSize matches the exact input buffer length for PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info hasExif is false for a synthetic PNG with no EXIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info includes bitDepth in response for PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info includes histogram data with channel stats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports accurate fileSize for large image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports density for JPEG with DPI metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports hasExif=false for plain PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports hasIcc for image with ICC profile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports hasProfile as boolean for all images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports hasXmp field for all images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info reports orientation for image with EXIF orientation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns 422 for corrupt/unreadable image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct dimensions and format for SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct dimensions for extreme portrait image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct dimensions for portrait-oriented image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct format string for GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for HEIF (sample.heif) image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for SVG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for a JPEG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for a PNG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns correct metadata for a WebP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns detailed metadata for content/portrait-color.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns histogram data for 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns info for content/svg-logo.svg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for AVIF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for BMP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for blank PNG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for multi-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for multi-page TIFF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns metadata for single-page TIFF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns numeric types for dimension and channel fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/info.test.ts > Info returns page count for animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license GET returns 200 with empty cidrs initially", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license GET returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license GET returns saved CIDRs after PUT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT accepts empty cidrs array (clears allowlist)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT allows CIDRs that include the admin IP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT rejects entries longer than 45 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT rejects invalid CIDR values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT rejects more than 1000 entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist with enterprise license PUT returns SELF_LOCKOUT when CIDRs would block the admin IP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist without enterprise license GET returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist without enterprise license GET returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist without enterprise license PUT returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ip-allowlist-routes.test.ts > IP allowlist without enterprise license PUT returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/job-spine.test.ts > Job spine cancel-active aborts a running job (spine-slow)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/job-spine.test.ts > Job spine enqueue -> worker -> result round-trip (spine-echo)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/jobs-schema.test.ts > jobs table (phase 2 spine) has the spine columns and canceled status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/json-xml.test.ts > json-xml (pure JS, no skipIf) converts JSON to XML containing Ada", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/json-xml.test.ts > json-xml (pure JS, no skipIf) converts XML to JSON with the people structure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold GET response structure returns error object with enterprise message on 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold PUT validation rejects empty targetId string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold PUT validation rejects invalid targetType value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold PUT validation rejects missing hold field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold PUT validation rejects missing targetId field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold PUT validation rejects missing targetType field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold permission enforcement returns 403 for editor role on GET", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold permission enforcement returns 403 for editor role on PUT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold returns 401 for PUT without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold returns 401 without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold returns 403 for GET without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold returns 403 for PUT without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/legal-hold.test.ts > legal hold returns 403 for non-admin user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/linearize-pdf.test.ts > linearize-pdf (requires qpdf) linearizes a PDF preserving page count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/lqip-placeholder.test.ts > LQIP Placeholder generates a placeholder with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/lqip-placeholder.test.ts > LQIP Placeholder generates a solid-color placeholder", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/lqip-placeholder.test.ts > LQIP Placeholder produces output under 5 KiB", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/lqip-placeholder.test.ts > LQIP Placeholder rejects width above maximum (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-docx.test.ts > markdown-to-docx (requires pandoc) converts tiny.md to DOCX with PK magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-docx.test.ts > rejects unsupported file types with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-html.test.ts > markdown-to-html (requires pandoc) converts tiny.md to HTML containing source text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-html.test.ts > rejects unsupported file types with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-pdf.test.ts > markdown-to-pdf (requires weasyprint + markdown) returns 202 (long hint) and the job completes with a PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/markdown-to-pdf.test.ts > rejects a .txt file with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/media-engine.test.ts > media-engine (requires ffmpeg) fails cleanly when onProgress throws", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/media-engine.test.ts > media-engine (requires ffmpeg) probes the mp4 fixture with caps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/media-engine.test.ts > media-engine (requires ffmpeg) rejects on abort", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/media-engine.test.ts > media-engine (requires ffmpeg) transcodes with progress events", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator GET /api/v1/meme-templates returns valid manifest", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts allCaps=false (lowercase text)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts custom fontSize parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts custom textColor and strokeColor", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts maximum fontSize (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts minimum fontSize (8)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts roboto font family", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts text alignment left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator accepts text alignment right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator custom image mode with HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator custom image mode with JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator custom image mode: file upload + textLayout + text boxes returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator empty text boxes returns 200 (image without text)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"anton\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"arial-black\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"bebas-neue\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"comic-sans\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"montserrat\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator font family \"permanent-marker\" returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator handles special characters in meme text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator invalid templateId returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator neither templateId nor file returns 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator rejects corrupt image in custom mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator rejects fontSize above maximum (201)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator rejects fontSize below minimum (7)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator rejects invalid font family", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator returns all expected fields in template mode response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator template mode: valid templateId + text boxes returns 200 with downloadUrl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator text layout \"bottom-only\" with custom image returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator text layout \"center\" with custom image returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator text layout \"side-by-side\" with custom image returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator text layout \"top-bottom\" with custom image returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/meme-generator.test.ts > Meme Generator text layout \"top-only\" with custom image returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-audio.test.ts > merge-audio (requires ffmpeg) merges two audio files with different sample rates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-audio.test.ts > merge-audio (requires ffmpeg) rejects when only one file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-csvs.test.ts > merge-csvs (pure JS, no skipIf) merges tiny-a.csv and tiny-b.csv into one file with both rows", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-csvs.test.ts > merge-csvs (pure JS, no skipIf) rejects a single file with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-csvs.test.ts > merge-csvs (pure JS, no skipIf) rejects mismatched headers with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-pdf.test.ts > merge-pdf (requires qpdf) merges two PDFs into a 6-page document", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-pdf.test.ts > merge-pdf (requires qpdf) returns 422 when only one PDF is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-videos.test.ts > merge-videos (requires ffmpeg) merges two copies of tiny.mp4 into a single video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/merge-videos.test.ts > merge-videos (requires ffmpeg) rejects a single file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > MFA login flow POST /api/auth/mfa/complete with valid mfaToken and TOTP code creates session", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > MFA login flow login returns requiresMfa with mfaToken when MFA is enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/disable returns 400 with missing code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/disable returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/enroll URI contains otpauth://totp/", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/enroll recovery codes array has 8 entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/enroll returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/enroll returns 409 when MFA is already enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/enroll returns TOTP URI and recovery codes on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/verify returns 400 with missing code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/verify returns 401 with invalid code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/verify returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/mfa/verify successfully activates MFA with correct TOTP code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/users/:id/mfa/reset returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mfa-endpoints.test.ts > POST /api/auth/users/:id/mfa/reset returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/migrate-from-sqlite.test.ts > migrate-from-sqlite copies all rows with converted types", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/migrate-from-sqlite.test.ts > migrate-from-sqlite force on populated target fails on PK collision and rolls back", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/migrate-from-sqlite.test.ts > migrate-from-sqlite refuses a non-empty target without force", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler accepts a password-protected pdf (unlock-pdf's input)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler accepts a truncated PDF under lenient mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler accepts the 3-page fixture and enforces page caps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler accepts the docx fixture container", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler rejects a non-pdf with pdf extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > DocumentInputHandler rejects a truncated PDF under strict mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > MediaInputHandler (requires ffmpeg) accepts a real video despite short duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > MediaInputHandler (requires ffmpeg) accepts the mp4 fixture as video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > MediaInputHandler (requires ffmpeg) enforces the duration cap", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > MediaInputHandler (requires ffmpeg) rejects a still image presented as video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-input.test.ts > MediaInputHandler (requires ffmpeg) rejects an audio-only file as video", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-media-kinds.test.ts > media input kinds kind image accepts a still image and rejects audio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-media-kinds.test.ts > media input kinds kind subtitle accepts srt without ffprobe and rejects binaries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/modality-media-kinds.test.ts > media input kinds kind video still rejects audio-only and stills (regression)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mute-video.test.ts > mute-video (requires ffmpeg) also works with explicit empty settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/mute-video.test.ts > mute-video (requires ffmpeg) removes audio and returns 200 with settings {}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts JPEG to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts PNG to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to heic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Extended output format matrix converts WebP to tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support JXL quality affects file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes APNG input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes CUR input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes DDS input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes DPX input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes EPS input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes FITS input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes JP2 input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes PBM input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes PGM input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes PPM input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes QOI input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support New input format processing via resize resizes SVGZ input to 25x25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Preview generation for special formats generates preview for EXR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Preview generation for special formats generates preview for HEIC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Preview generation for special formats generates preview for ICO", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Preview generation for special formats generates preview for JXL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support Preview generation for special formats generates preview for PSD", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support converts PNG to bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support converts PNG to ico", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support converts PNG to jp2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support converts PNG to jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support converts PNG to qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/new-formats.test.ts > New format support decodes SVGZ input correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-reduction.test.ts > noise-reduction (requires ffmpeg) denoises with medium strength and returns audio", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal accepts all explicit settings (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal accepts tier=maximum (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal accepts tier=quality with explicit strength (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal accepts tier=quick (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal handles HEIC input (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal processes with default settings (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal rejects invalid format value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal rejects invalid settings JSON (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal rejects invalid tier value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/noise-removal.test.ts > noise-removal responds to the route (202 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/normalize-audio.test.ts > normalize-audio (requires ffmpeg) normalizes 8 kHz WAV and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/nup-pdf.test.ts > nup-pdf (requires pdfcpu) arranges pages n-up and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/nup-pdf.test.ts > nup-pdf validation (ungated) rejects perSheet 5 with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/observability.test.ts > GET /api/v1/metrics rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/observability.test.ts > GET /api/v1/metrics returns 200 with Prometheus text for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/observability.test.ts > GET/POST /api/v1/admin/log-level POST changes level and GET reflects it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/observability.test.ts > GET/POST /api/v1/admin/log-level rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/observability.test.ts > GET/POST /api/v1/admin/log-level returns 400 for invalid level", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr-pdf.test.ts > ocr-pdf rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr-pdf.test.ts > ocr-pdf returns 501 FEATURE_NOT_INSTALLED when bundle is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr-pdf.test.ts > ocr-pdf returns 501 even with invalid quality (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr-pdf.test.ts > ocr-pdf with ocr bundle installed extracts text from PDF (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr accepts backward-compatible engine param (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr accepts explicit language and enhance=false (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr accepts quality=best (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr accepts quality=fast (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr handles HEIC input (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr processes with default settings (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr rejects invalid language value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr rejects invalid quality value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr rejects invalid settings JSON (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ocr.test.ts > ocr responds to the route (200 or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > API keys for OIDC users API key works for auth after creation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > API keys for OIDC users OIDC user can create an API key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Admin operations on OIDC users admin can delete an OIDC user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Admin operations on OIDC users admin can update role of an OIDC user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Backward compatibility OIDC user cannot log in via local login (no passwordHash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Backward compatibility local login still works when OIDC users exist in the DB", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Config endpoint with OIDC disabled config omits OIDC fields when disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Config endpoint with OIDC enabled config does NOT leak OIDC secrets", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Config endpoint with OIDC enabled config returns OIDC fields when enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Cookie-based session auth Both cookie and Bearer work simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Cookie-based session auth OIDC session cookie works for authenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Cookie-based session auth request with neither Bearer nor cookie returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Logout logout clears the snapotter-session cookie", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Logout logout returns logoutUrl when session has idToken and OIDC discovery is cached", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Logout session is deleted from DB after logout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > OIDC callback edge cases callback with IdP error redirects to login with oidc_auth_failed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > OIDC callback edge cases callback with invalid cookie signature redirects to login with error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > OIDC callback edge cases callback without state cookie redirects to login with error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > OIDC login redirect GET /api/auth/oidc/login returns 302 redirect to IdP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > OIDC login redirect login redirect sets oidc-state cookie", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Password guards for OIDC users OIDC user (no passwordHash) cannot change password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Password guards for OIDC users admin cannot reset password for OIDC user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Session expiry expired OIDC session returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Session response fields Bearer token still works for session check", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Session response fields returns OIDC fields for an OIDC user session", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Session response fields returns local fields for a local user session", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Users list includes OIDC fields GET /api/auth/users includes authProvider, hasLocalPassword, hasOidcLink", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/oidc-auth.test.ts > Users list includes OIDC fields users list does not expose passwordHash or externalId directly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Animated GIF input optimizes animated GIF to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Authentication returns 401 for unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Batch processing batch returns 400 with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Batch processing processes 5+ images and returns a valid ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Combined parameter variations applies progressive + quality + maxWidth + stripMetadata simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Combined resize and format conversion converts JPEG to AVIF and constrains maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Combined resize and format conversion converts PNG to WebP and constrains maxWidth simultaneously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Default optimization optimizes PNG with default settings (webp, quality 80)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Dimension preservation does not enlarge image when maxWidth exceeds original width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Empty file handling returns 400 for empty file upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for invalid format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for negative maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for negative maxWidth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for quality out of range (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 for quality out of range (101)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Estimated vs actual size originalSize matches uploaded file buffer length", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Estimated vs actual size processedSize matches actual downloaded file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Extreme resize constraints handles maxHeight of 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Extreme resize constraints handles maxWidth of 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > File naming edge cases handles file without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > HEIC input optimizes HEIC input to jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > HEIC input optimizes HEIC input to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > HEIF input optimizes HEIF (sample.heif) input to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Invalid image data returns 400 for corrupt image data on main endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > JXL format output outputs as JXL when supported", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Large file handling optimizes a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Max dimension resizing constrains both maxWidth and maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Max dimension resizing constrains height with maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Max dimension resizing constrains width with maxWidth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Metadata stripping strips metadata by default (stripMetadata=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Metadata stripping toggle preserves metadata when stripMetadata=false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Multiple input formats optimizes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Multiple input formats optimizes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format deep verification AVIF output has correct format and positive dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format deep verification JPEG output preserves original dimensions when no resize applied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format deep verification WebP output has correct format and positive dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format outputs as AVIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format outputs as JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format outputs as PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format outputs as WebP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Output format renames output file extension to match format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Portrait image optimization optimizes portrait-oriented image with maxWidth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint HEIC handling preview decodes and processes HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint SVG handling preview sanitizes and processes SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint format variations preview with AVIF output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint format variations preview with PNG output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint format variations preview with maxWidth and maxHeight constraints", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint preview returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint returns binary image with size headers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint validation preview returns 400 for invalid image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint validation preview returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint validation preview returns 400 for invalid settings values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint validation preview returns correct output filename in header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Preview endpoint validation preview works with default settings (no settings field)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Progressive encoding supports progressive=false for JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Progressive encoding supports progressive=true for JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Quality control lower quality produces smaller file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Quality presets higher quality produces larger or equal file for JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Quality presets maximum quality (100) produces valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Quality presets minimum quality (1) produces valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Resize with different input formats constrains JPEG input with maxWidth and maxHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Resize with different input formats constrains WebP input with maxWidth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Response structure returns all expected fields in 200 response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > SVG input to main endpoint optimizes SVG input to PNG via main route", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > SVG input to main endpoint optimizes SVG input to WebP via main route", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Size reduction reduces file size when optimizing large JPEG to WebP with low quality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/optimize-for-web.test.ts > Tiny file handling optimizes a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/organize-pdf.test.ts > organize-pdf (requires qpdf) rejects an invalid page order with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/organize-pdf.test.ts > organize-pdf (requires qpdf) reorders pages 3,1,2 and preserves page count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > API key scoped ownership 15. admin scoped key without files:all behaves like restricted user for file listing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 1. user A uploads a file -> 201", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 2. user A can access their own file -> 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 3. user B cannot access user A's file -> 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 4. editor can access user A's file (has files:all) -> 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 5. admin can access user A's file -> 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 6. user B's file list does NOT contain user A's files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 7. editor's file list DOES contain user A's files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > file ownership enforcement 8. user B cannot download user A's file -> 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 10. user B's pipeline list does NOT include user A's pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 11. editor CAN see user A's pipeline (has pipelines:all)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 12. user B cannot delete user A's pipeline -> 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 13. editor can delete user A's pipeline (has pipelines:all) -> 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 14. delete non-existent pipeline -> 404", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ownership-enforcement.test.ts > pipeline ownership enforcement 9. user A saves a pipeline -> 201", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze handles 1x1 pixel input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze handles HEIC input (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze rejects requests without a file (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze rejects unauthenticated requests to analyze (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze responds to the analyze route (200, 422, or 501)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/analyze returns landmarks and preview on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects invalid dpi value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects invalid zoom value (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects missing landmarks fields (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects missing required fields (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects unauthenticated requests to generate (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate rejects unknown country code without custom dimensions (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/passport-photo.test.ts > passport-photo/generate returns 422 when jobId workspace does not exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-metadata.test.ts > pdf-metadata (requires pikepdf) sets metadata and returns the updated values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-metadata.test.ts > pdf-metadata validation (ungated) rejects title longer than 500 characters with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-page-numbers.test.ts > pdf-page-numbers (requires pdfcpu) adds page numbers and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image accepts custom DPI values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies black and white color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image applies grayscale color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to JPG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts a single page to PNG with per-page URLs and ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts multiple pages and returns JSON with ZIP URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts specific comma-separated pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to AVIF format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to GIF format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to TIFF format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image converts to WebP format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image higher DPI produces larger images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image rejects DPI below minimum", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid page range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings (DPI above max)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for page number 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 for reversed page range (start > end)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image uses defaults when no settings provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies ZIP can be downloaded", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image verifies images can be downloaded from per-page URLs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 for invalid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/info returns page count for a valid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns 400 for invalid PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > POST /api/v1/tools/pdf-to-image/preview returns thumbnails for all pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-image.test.ts > Preview endpoint edge cases returns 400 when no file is provided to preview", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-text.test.ts > pdf-to-text (requires PyMuPDF) extracts text and returns a .txt file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdf-to-word.test.ts > pdf-to-word (requires pdf2docx) returns 202 (long hint) and the job completes with a docx", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pdfa-convert.test.ts > pdfa-convert (requires ghostscript) produces a PDF/A candidate with valid PDF header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > API key ownership scoping admin can see all API keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > API key ownership scoping user A cannot delete user B's API key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > API key ownership scoping user A cannot see user B's API keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > escalation prevention admin can demote another admin when multiple admins exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > escalation prevention cannot demote the last admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > escalation prevention editor cannot create admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > file ownership scoping admin can access any user's file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > file ownership scoping unauthenticated request to files returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > file ownership scoping user A cannot access user B's file by ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > file ownership scoping user B cannot delete user A's file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > file ownership scoping user B cannot download user A's file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes admin can list users (GET /api/auth/users)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes admin can update settings (PUT /api/v1/settings)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes unauthenticated request gets 401 on GET /api/auth/users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes unauthenticated request gets 401 on GET /api/v1/settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes unauthenticated request gets 401 on PUT /api/v1/settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user can change own password (POST /api/auth/change-password)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user can read settings (GET /api/v1/settings)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user cannot create teams (POST /api/v1/teams)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user cannot list teams (GET /api/v1/teams)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user cannot list users (GET /api/auth/users)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user cannot register new users (POST /api/auth/register)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permission enforcement on routes user cannot update settings (PUT /api/v1/settings)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permissions in auth responses login response includes permissions array for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permissions in auth responses login response includes permissions array for user role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permissions in auth responses login response includes teamName", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > permissions in auth responses session response includes permissions array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > pipeline ownership scoping admin can see all users' pipelines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > pipeline ownership scoping user can save and list their own pipelines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > tool and pipeline permission enforcement authenticated user can use tools", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/permissions.test.ts > tool and pipeline permission enforcement unauthenticated user cannot use tools", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Delete pipeline edge cases returns 404 when deleting a non-existent pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Empty pipeline rejects a pipeline with zero steps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Missing pipeline definition rejects non-JSON pipeline definition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Missing pipeline definition rejects when no pipeline field is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Multi-step pipeline chains chains crop then resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Multi-step pipeline chains chains resize then rotate then compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Non-image pipeline (video) runs a multi-step video pipeline and returns a downloadable result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution handles non-ASCII filenames without ERR_INVALID_CHAR (#133)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution pipeline batch rejects invalid step settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution pipeline batch with multi-step chain processes correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution processes multiple files through a pipeline and returns ZIP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution rejects pipeline batch with an unknown tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution rejects pipeline batch with invalid JSON pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution rejects pipeline batch with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution rejects pipeline batch with no pipeline definition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch execution uses clientJobId when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline batch rejects password tools rejects a batch pipeline containing unlock-pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execute rejects password tools rejects executing a pipeline containing protect-pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execution failure recovery reports completedSteps for partial pipeline failures", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execution failure recovery returns 422 when a processing step fails at runtime", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execution response download URL is accessible", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execution response processed size differs from original after real transformation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline execution response returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline save rejects password tools rejects saving a pipeline containing protect-pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline save rejects password tools rejects saving a pipeline containing unlock-pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline tools endpoint returns the list of available pipeline tools", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline with conflicting steps applies resize steps in order (last wins)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline with invalid settings in a step rejects a pipeline with invalid settings for a specific step", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline with invalid tool reference rejects a pipeline referencing a non-existent tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline with invalid tool reference rejects at the invalid step even when earlier steps are valid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Pipeline without image rejects when no image file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Save pipeline edge cases rejects saving a pipeline with an invalid tool reference", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Save pipeline edge cases rejects saving a pipeline with empty name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Save pipeline edge cases rejects saving a pipeline with no steps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Save pipeline edge cases saves and lists a valid pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Single step pipeline executes a pipeline with one resize step", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pipeline-edge-cases.test.ts > Single step pipeline executes a pipeline with one rotate step", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pitch-shift.test.ts > pitch-shift (requires ffmpeg) rejects semitones 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pitch-shift.test.ts > pitch-shift (requires ffmpeg) shifts +12 semitones with duration roughly unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate clamps region that slightly exceeds image edges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate pixelates a specific region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate pixelates entire image with default blockSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate preserves dimensions after pixelation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate rejects blockSize below minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pixelate.test.ts > Pixelate rejects region with origin outside image bounds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pool-routing.test.ts > pool routing ai tools route to the ai pool regardless of modality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pool-routing.test.ts > pool routing image tools stay on the image pool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pool-routing.test.ts > pool routing long hint skips the sync window", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/pool-routing.test.ts > pool routing unknown tools default to system", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/powerpoint-to-pdf.test.ts > powerpoint-to-pdf (requires soffice) returns 202 (long hint) and the job completes with a PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/powerpoint-to-pdf.test.ts > rejects unsupported file types with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/preview-modality.test.ts > pdf first-page preview (requires ghostscript) renders a png of page 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/preview-modality.test.ts > video poster preview (requires ffmpeg) renders a webp poster", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/process-contract.test.ts > V2 process contract legacy adapter routes single-input tools through processV2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/process-contract.test.ts > V2 process contract loads all inputRefs and invokes processV2 with scratchPath output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/process-contract.test.ts > V2 process contract passes input refs and filenames correctly to processV2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress-transport.test.ts > Cancel route auth rejects unauthenticated cancel with 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress-transport.test.ts > Cancel route auth returns canceled:false for an unknown job when authenticated", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress-transport.test.ts > Redis progress transport replays a terminal batch event from the Redis terminal key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress-transport.test.ts > Redis progress transport replays a terminal single-file event from the Redis terminal key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress-transport.test.ts > Redis progress transport synthesizes a legacy event from the DB when terminal key has expired", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Batch progress tracking assigns a job ID to batch operations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Batch progress tracking persists failed job status to the database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Batch progress tracking persists job progress to the database after batch completes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Batch progress tracking tracks progress for multi-file batch with partial success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Batch progress tracking uses client-provided job ID when clientJobId is supplied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Job DB record structure persisted job contains expected fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Pipeline batch progress tracking pipeline batch generates job ID when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > Pipeline batch progress tracking tracks progress during pipeline batch execution", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > SSE progress endpoint SSE endpoint returns existing progress for failed job", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > SSE progress endpoint returns SSE headers when connecting to progress stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateJobProgress direct calls handles zero totalFiles without division by zero", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateJobProgress direct calls persists errors to the database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateJobProgress direct calls persists job progress to the database for a new job", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateJobProgress direct calls updates existing job progress in the database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls persists complete phase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls persists failed phase with error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls persists single-file progress for new job", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls sets completedAt when updating existing job to complete", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls sets completedAt when updating existing job to failed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/progress.test.ts > updateSingleFileProgress direct calls updates existing single-file job progress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/protect-pdf.test.ts > protect-pdf (requires qpdf) encrypts a PDF and returns a downloadable file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/protect-pdf.test.ts > protect-pdf (requires qpdf) persists redacted passwords in the jobs row (never the real password)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/protect-pdf.test.ts > protect-pdf (requires qpdf) rejects empty userPassword with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate QR with custom colors contains correct foreground color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate accepts all error correction levels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate accepts custom foreground and background colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate accepts lowercase hex colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate accepts mixed case hex colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate download URL is accessible without auth token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate downloaded QR code has the exact requested size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate each error correction level produces downloadable PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code at exactly minimum size (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code at large size (2000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code at maximum allowed size (10000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code containing JSON text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for URL with encoded characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for Unicode text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for WiFi connection string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for a long URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for a single character", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for geo location", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for mailto link", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for multiline text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for numeric-only text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for tel: URI", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for vCard contact", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code for whitespace-only text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR code with identical foreground and background colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR with all parameters specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR with transparent background (3-char hex)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates QR with white foreground on black background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates a QR code from a URL string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates a downloadable PNG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate generates minimum allowed size QR code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate handles very long text (approaching max 2000 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate higher EC level produces larger or equal processedSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate higher error correction produces equal or larger QR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate logo embed produces different output from no-logo render", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate output image is always square regardless of content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects 8-character hex color (with alpha)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects empty text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects invalid background color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects invalid color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects invalid error correction level", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects invalid logo base64 data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects malformed logo data URI format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects numeric text value (must be string)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects request without content-type header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects requests without text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects size above maximum", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects size below minimum", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects size of 10001 (just above maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects size of 99 (just below minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects text exceeding max length (2001 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate respects the custom size parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate returns all expected fields in the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate uses default black/white colors when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate uses default error correction level M when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/qr-generate.test.ts > QR Generate uses default size of 400 when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > Cross-role isolation editor session returns correct role and permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > Cross-role isolation expired session returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > Cross-role isolation invalid token returns 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > Cross-role isolation user session returns correct role and permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/auth/users -> admin = 200 [users:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/auth/users -> editor = 403 [users:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/auth/users -> unauth = 401 [users:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/auth/users -> user = 403 [users:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/admin/health -> admin = 200 [system:health]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/admin/health -> editor = 403 [system:health]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/admin/health -> unauth = 401 [system:health]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/admin/health -> user = 403 [system:health]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/api-keys -> admin = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/api-keys -> editor = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/api-keys -> unauth = 401 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/api-keys -> user = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/audit-log -> admin = 200 [audit:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/audit-log -> editor = 403 [audit:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/audit-log -> unauth = 401 [audit:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/audit-log -> user = 403 [audit:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/config/auth -> admin = 200 [public auth config]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/config/auth -> editor = 200 [public auth config]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/config/auth -> unauth = 200 [public auth config]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/config/auth -> user = 200 [public auth config]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/files -> admin = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/files -> editor = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/files -> unauth = 401 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/files -> user = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/health -> admin = 200 [public health check]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/health -> editor = 200 [public health check]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/health -> unauth = 200 [public health check]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/health -> user = 200 [public health check]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/pipeline/list -> admin = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/pipeline/list -> editor = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/pipeline/list -> unauth = 401 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/pipeline/list -> user = 200 [requireAuth]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/roles -> admin = 200 [audit:read (roles list)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/roles -> editor = 403 [audit:read (roles list)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/roles -> unauth = 401 [audit:read (roles list)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/roles -> user = 403 [audit:read (roles list)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/settings -> admin = 200 [settings:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/settings -> editor = 200 [settings:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/settings -> unauth = 401 [settings:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/settings -> user = 200 [settings:read]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/teams -> admin = 200 [teams:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/teams -> editor = 403 [teams:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/teams -> unauth = 401 [teams:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) GET /api/v1/teams -> user = 403 [teams:manage]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/auth/register -> admin = 201 [users:manage (register)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/auth/register -> editor = 403 [users:manage (register)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/auth/register -> unauth = 401 [users:manage (register)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/auth/register -> user = 403 [users:manage (register)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/api-keys -> admin = 201 [requireAuth (create api key)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/api-keys -> editor = 201 [requireAuth (create api key)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/api-keys -> unauth = 401 [requireAuth (create api key)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/api-keys -> user = 201 [requireAuth (create api key)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/roles -> admin = 201 [users:manage (create role)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/roles -> editor = 403 [users:manage (create role)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/roles -> unauth = 401 [users:manage (create role)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/roles -> user = 403 [users:manage (create role)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/teams -> admin = 201 [teams:manage (create)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/teams -> editor = 403 [teams:manage (create)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/teams -> unauth = 401 [teams:manage (create)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) POST /api/v1/teams -> user = 403 [teams:manage (create)]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) PUT /api/v1/settings -> admin = 200 [settings:write]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) PUT /api/v1/settings -> editor = 403 [settings:write]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) PUT /api/v1/settings -> unauth = 401 [settings:write]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix-full.test.ts > RBAC route permission matrix (full) PUT /api/v1/settings -> user = 403 [settings:write]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/auth/users → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/auth/users → editor = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/auth/users → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/auth/users → user = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/admin/health → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/admin/health → editor = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/admin/health → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/admin/health → user = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/api-keys → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/api-keys → editor = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/api-keys → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/api-keys → user = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/audit-log → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/audit-log → editor = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/audit-log → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/audit-log → user = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/files → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/files → editor = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/files → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/files → user = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/health → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/health → editor = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/health → unauth = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/health → user = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/pipeline/list → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/pipeline/list → editor = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/pipeline/list → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/pipeline/list → user = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/settings → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/settings → editor = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/settings → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/settings → user = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/teams → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/teams → editor = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/teams → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix GET /api/v1/teams → user = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix PUT /api/v1/settings → admin = 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix PUT /api/v1/settings → editor = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix PUT /api/v1/settings → unauth = 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rbac-matrix.test.ts > RBAC permission matrix PUT /api/v1/settings → user = 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal accepts default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal accepts explicit format and quality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal accepts explicit sensitivity and strength", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects quality out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects sensitivity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects strength out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/red-eye-removal.test.ts > Red Eye Removal route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/redact-pdf.test.ts > redact-pdf (requires PyMuPDF) redacts terms and reports found count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/redact-pdf.test.ts > redact-pdf validation (ungated) rejects empty terms array with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/redact-pdf.test.ts > redact-pdf validation (ungated) rejects terms with empty string with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts color background with blur and shadow settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts edge refinement and decontamination settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts gradient background settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts output format settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background accepts transparent backgroundType", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background effects route rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background effects route rejects missing settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background effects route rejects settings without jobId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects blurIntensity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects edgeRefine out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects invalid backgroundType", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects invalid output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-background.test.ts > Remove Background route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-pages.test.ts > remove-pages (requires qpdf) rejects out-of-range page with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-pages.test.ts > remove-pages (requires qpdf) rejects removing every page (1-z) with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-pages.test.ts > remove-pages (requires qpdf) removes page 1 from a 96-page pdf (large keepSpec path)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/remove-pages.test.ts > remove-pages (requires qpdf) removes page 2 from a 3-page pdf, leaving 2 pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/repair-pdf.test.ts > repair-pdf (requires qpdf) handles a truncated PDF (dual outcome: repair or reject)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/repair-pdf.test.ts > repair-pdf (requires qpdf) repairs (round-trips) a valid PDF preserving 3 pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-audio.test.ts > replace-audio (requires ffmpeg) rejects when files are in wrong order (mp3 first, mp4 second)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-audio.test.ts > replace-audio (requires ffmpeg) rejects when only one file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-audio.test.ts > replace-audio (requires ffmpeg) replaces video audio with the supplied audio track", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > AVIF input processes AVIF image with color replacement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Alpha format fallback forces PNG when makeTransparent is used on a JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Alpha format fallback keeps PNG when makeTransparent is used on a PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Animated GIF input processes animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Authentication rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > BMP input processes BMP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Basic color replacement processes with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Basic color replacement replaces red with blue in a solid red image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Blend behavior partially blends colors within tolerance range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Dimension preservation output preserves original dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Edge size inputs processes 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Edge size inputs processes stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Error handling returns 400 for invalid hex color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Error handling returns 400 for short hex color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Error handling returns 400 for tolerance out of range (>255)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Error handling returns 400 for tolerance out of range (negative)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Explicit makeTransparent false replaces color normally when makeTransparent is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > HEIC input processes HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > HEIF input processes HEIF image (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Invalid settings JSON rejects malformed settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Make transparent mode makes matching pixels transparent instead of replacing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Make transparent with high tolerance makes most pixels transparent with high tolerance", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Multiple input formats processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Pixel accuracy verification replaces all pixels in solid image at tolerance=0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > SVG input processes SVG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Same source and target handles same source and target color (no visible change)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Short hex color validation rejects 3-char hex target color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > TIFF input processes TIFF image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Target color validation rejects invalid target color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance boundary values accepts exact tolerance boundary (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance boundary values accepts exact tolerance boundary (255)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance boundary values rejects tolerance at 256 (one above max)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance parameter with high tolerance, more colors are affected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance parameter with max tolerance=255, all pixels are affected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Tolerance parameter with tolerance=0, only exact matches are replaced", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > WebP input processes WebP image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > WebP with makeTransparent keeps WebP when makeTransparent is used on WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > White to black replacement replaces white with black in a solid white image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > Zero tolerance on varied image with tolerance=0 on varied image, few pixels are replaced", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > makeTransparent ignores targetColor makeTransparent ignores the targetColor parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > makeTransparent on HEIC makes pixels transparent in a HEIC image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/replace-color.test.ts > makeTransparent preserves non-matching pixels non-matching pixels retain full opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize-video.test.ts > resize-video (requires ffmpeg) rejects custom preset with no dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize-video.test.ts > resize-video (requires ffmpeg) resizes to width 64 and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize rejects invalid fit value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes by percentage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes to both width and height with contain fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes to explicit height (contain preserves aspect ratio)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes to explicit width (contain preserves aspect ratio)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes with cover fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes with fill fit (stretches)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize resizes with inside fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize respects withoutEnlargement flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize works with JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/resize.test.ts > Resize works with WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo accepts all features disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo accepts all features enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo accepts colorize with custom strength", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo accepts default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo ignores old mode field gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects colorizeStrength out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects denoiseStrength out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects fidelity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/restore-photo.test.ts > Restore Photo route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/reverse-audio.test.ts > reverse-audio (requires ffmpeg) reverses audio and returns 200 with duration roughly matching source", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/reverse-video.test.ts > reverse-video (requires ffmpeg) reverses a clip and returns 200 with similar duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ringtone-maker.test.ts > ringtone-maker (requires ffmpeg) creates m4r ringtone with defaults and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/ringtone-maker.test.ts > ringtone-maker (requires ffmpeg) rejects startS beyond audio duration (422)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate-pdf.test.ts > rotate-pdf (requires qpdf) rejects an invalid page range with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate-pdf.test.ts > rotate-pdf (requires qpdf) rotates 90 degrees and preserves page count", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate-video.test.ts > rotate-video (requires ffmpeg) rotates cw90 and swaps dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate flips both horizontal and vertical", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate flips horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate flips vertically", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates 0 degrees (no-op)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates 180 degrees (dimensions unchanged)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates 270 degrees (swaps width and height)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates 90 degrees (swaps width and height)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates 90 degrees and flips horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate rotates negative angle (-90 = 270)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate uses default settings (angle: 0, no flip)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/rotate.test.ts > Rotate works with JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend S3_PREFIX scopes all object keys under a tenant prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend bucket is empty after all operations", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend deleteStoredFile is idempotent (no error for missing key)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend deleteStoredFile removes file from S3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend deleteThumbnail removes thumbnail from S3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend getCachedThumbnail returns null for missing thumbnail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend readStoredFile returns the correct buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend saveFile writes object to S3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend saveThumbnail stores in S3, getCachedThumbnail retrieves it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/s3-storage.test.ts > S3 storage backend streamStoredFile returns a readable stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning POST Groups validation (enterprise gate) POST with empty displayName returns 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning POST Groups validation (enterprise gate) POST with very long displayName returns 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning POST Users validation (enterprise gate) POST with empty body returns 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning POST Users validation (enterprise gate) POST with numeric userName returns 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth rejects Bearer token with extra whitespace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth rejects empty Bearer token value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth rejects lowercase bearer prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth returns 401 for group operations without token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth returns 401 for user operations without token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM auth returns 401 with invalid token", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM error format 403 enterprise error includes SCIM error schema", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM error format POST Users with missing userName returns 403 from enterprise gate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM error format SCIM error responses include schemas, status, and detail fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning SCIM error format returns proper SCIM error schema on 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints ResourceTypes have correct endpoints", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints Schemas response has correct Group schema attributes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints Schemas response has correct User schema attributes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints ServiceProviderConfig includes correct maxResults", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints returns ResourceTypes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints returns Schemas", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning discovery endpoints returns ServiceProviderConfig", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning enterprise feature gate returns 403 for Groups list without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning enterprise feature gate returns 403 for POST Groups without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning enterprise feature gate returns 403 for POST Users without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/scim.test.ts > SCIM 2.0 provisioning enterprise feature gate returns 403 for Users list without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-auth-hardening.test.ts > Oversized input rejection accepts login with valid-length credentials", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-auth-hardening.test.ts > Oversized input rejection rejects login with oversized password (>1024 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-auth-hardening.test.ts > Oversized input rejection rejects login with oversized username (>255 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-auth-hardening.test.ts > Session invalidation on role change does not invalidate sessions when only team is changed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-auth-hardening.test.ts > Session invalidation on role change invalidates sessions when user role is changed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-rate-limiting.test.ts > Per-user storage quota enforcement (L3) accepts uploads when within storage quota", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-rate-limiting.test.ts > Per-user storage quota enforcement (L3) quota check query returns 0 for users with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-rate-limiting.test.ts > Per-user storage quota enforcement (L3) tracks file sizes in the database for quota calculation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-rate-limiting.test.ts > Upload endpoint accepts valid files (M13 rate limit configured) accepts authenticated uploads to /api/v1/files/upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/security-rate-limiting.test.ts > Upload endpoint accepts valid files (M13 rate limit configured) accepts uploads to /api/v1/upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors blue channel low", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors brightness max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors brightness min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors contrast max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors contrast min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors effect grayscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors effect invert", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors effect none", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors effect sepia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors exposure mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors green channel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors hue max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors hue min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors red channel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors saturation max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors saturation min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors sharpness max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors temperature cool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors temperature warm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix adjust-colors tint shift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad custom color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad target 16:9", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad target 1:1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad target 3:4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad target 4:3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix aspect-pad target 9:16", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-channels mono to stereo", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-channels stereo to mono", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-channels swap", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata set album", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata set artist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata set title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata strip false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-metadata strip true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-speed factor 1.5x", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-speed factor max (4x)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix audio-speed factor min (0.25x)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad blur max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad blur mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad blur min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad target 16:9", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad target 1:1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad target 3:4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad target 4:3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix blur-pad target 9:16", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix booklet-pdf 2 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix booklet-pdf 4 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border corner radius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border max border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border shadow custom", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border shadow off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border shadow on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border thick border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border thin border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border with padding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix border zero border", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix burn-subtitles font size default", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix burn-subtitles font size max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix burn-subtitles font size min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix change-fps fps 24", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix change-fps fps 30", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix change-fps fps 60", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix change-fps fps max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix change-fps fps min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker height max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker height min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker kind bar", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker kind line", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker kind pie", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker width max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker width min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix chart-maker with title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness achromatopsia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness blueConeMonochromacy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness deuteranomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness deuteranopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness protanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness protanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness tritanomaly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix color-blindness tritanopia", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress quality mode high", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress quality mode low", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress quality mode mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress target size large", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress target size small", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-pdf preset ebook", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-pdf preset printer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-pdf preset screen", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video quality balanced", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video quality light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video quality strong", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video resolution 1080p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video resolution 480p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video resolution 720p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video resolution original", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix compress-video strong 480p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize blur radius max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize blur radius min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize height only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize protect faces off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize protect faces on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize square mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix content-aware-resize width only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format ppm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format qoi", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format tga", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert jpg with quality 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert jpg with quality 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert webp with quality 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio bitrate max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio bitrate mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio bitrate min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio format flac", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio format m4a", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio format mp3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio format ogg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-audio format wav", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-document format docx", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-document format odt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-document format rtf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-document format txt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-presentation format odp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-presentation format pptx", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-spreadsheet format csv", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-spreadsheet format ods", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-spreadsheet format xlsx", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video format mov", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video format mp4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video format webm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video quality balanced", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video quality high", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix convert-video quality small", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop offset region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop small region px", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop unit percent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop unit px", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop-pdf margin 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop-pdf margin 20", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop-pdf margin max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop-video offset crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix crop-video small crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix csv-excel sheet 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix csv-excel sheet 2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix csv-json pretty false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix csv-json pretty true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix duotone black white", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix duotone default colors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix duotone red blue", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix embed-subtitles language deu", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix embed-subtitles language eng", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix embed-subtitles language fra", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix epub-convert format docx", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix epub-convert format html", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix epub-convert format md", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix epub-convert format pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix extract-audio format m4a", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix extract-audio format mp3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix extract-audio format wav", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix extract-pages page range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix extract-pages single page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix fade-audio both fades", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix fade-audio fade in only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix fade-audio fade out only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix fade-audio max fades", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix gif-to-video format mp4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix gif-to-video format webm", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement corrections all off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement corrections all on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement intensity max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement intensity min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode auto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode document", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode food", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode low-light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-enhancement mode portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad custom color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad target 16:9", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad target 1:1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad target 3:4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad target 4:3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-pad target 9:16", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format original", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 max height limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 max width limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-base64 quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf collate false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf collate true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf margin 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf margin 500", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf page size A3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf page size A4 landscape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf page size A4 portrait", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf page size A5", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix image-to-pdf page size Letter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video 0.5s per image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video 10s per image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video 2s per image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video fps 10", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video fps 60", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video resolution 1080p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video resolution 720p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix images-to-video resolution square", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix json-xml pretty false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix json-xml pretty true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder blur 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder blur max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder small no blur", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder width max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder width mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix lqip-placeholder width min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix merge-audio format flac", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix merge-audio format m4a", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix merge-audio format mp3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix merge-audio format wav", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix noise-reduction strength light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix noise-reduction strength medium", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix noise-reduction strength strong", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix nup-pdf 16 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix nup-pdf 2 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix nup-pdf 4 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix nup-pdf 9 per sheet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf language auto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf language en", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf pages first", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf quality balanced", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf quality best", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ocr-pdf quality fast", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web format jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web format jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web max height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web max width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web progressive false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web progressive true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web strip metadata false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix optimize-for-web strip metadata true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix organize-pdf reverse order", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix organize-pdf single page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-metadata all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-metadata set author", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-metadata set keywords", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-metadata set subject", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-metadata set title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers font size max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers font size min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position bc", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position bl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position br", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position tc", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position tl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-page-numbers position tr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image color mode bw", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image color mode grayscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image dpi 300", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image dpi min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image format jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image pages first", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pdf-to-image quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pitch-shift semitones down max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pitch-shift semitones down min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pitch-shift semitones up max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pitch-shift semitones up min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pixelate block size max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pixelate block size mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pixelate block size min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix pixelate with region", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix protect-pdf both passwords", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix protect-pdf user password only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix redact-pdf case insensitive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix redact-pdf case sensitive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix redact-pdf multiple terms", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix redact-pdf single term", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix remove-pages remove page 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix remove-pages remove page 3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix replace-color make transparent off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix replace-color make transparent on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix replace-color tolerance max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix replace-color tolerance mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix replace-color tolerance min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize both dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize fit contain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize fit cover", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize fit fill", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize fit inside", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize fit outside", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize height only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize max boundary", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize min boundary", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize percentage 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize percentage 25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize percentage 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize width only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize without enlargement false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize without enlargement true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video custom height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video custom width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video preset 1080p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video preset 360p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video preset 480p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix resize-video preset 720p", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ringtone-maker min duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ringtone-maker start 0 duration 30", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix ringtone-maker start offset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle + flip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle 180", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle 270", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle 45", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate angle 90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate both flips", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate horizontal flip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate vertical flip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-pdf angle 180", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-pdf angle 270", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-pdf angle 90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-pdf range 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-pdf range all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-video 180", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-video ccw90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-video cw90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-video hflip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix rotate-video vflip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening adaptive sigma max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening adaptive sigma min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening denoise light", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening denoise medium", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening denoise off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening denoise strong", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening high-pass kernelSize 5", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening high-pass strength max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening method adaptive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening method high-pass", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening method unsharp-mask", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening unsharp amount max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sharpening unsharp radius max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix silence-removal min silence max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix silence-removal min silence min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix silence-removal threshold max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix silence-removal threshold mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix silence-removal threshold min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop face preset closeup", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop face preset upper-body", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop mode attention alias", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop mode content alias", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop mode face", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop mode subject", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop mode trim", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop pad to square", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop padding max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop sensitivity max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop sensitivity min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix smart-crop strategy entropy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split 10x10 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split 1x1 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split 3x3 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split format jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split format jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode parts 10", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode parts 2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode parts 20", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode silence default", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode silence relaxed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode silence sensitive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode time default", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode time long", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-audio mode time short", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-csv keep header false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-csv keep header true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-csv rows 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-csv rows 1000", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-csv rows 5 no header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-pdf every mode 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-pdf every mode 2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-pdf range mode multi page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix split-pdf range mode single page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet columns max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet columns mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet columns min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet custom background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet padding max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix sprite-sheet with padding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stabilize-video smoothing max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stabilize-video smoothing mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stabilize-video smoothing min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch alignment center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch alignment end", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch alignment start", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch border 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch corner radius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch direction grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch direction horizontal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch direction vertical", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch format jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch format jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch gap 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch resize mode crop", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch resize mode fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch resize mode original", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix stitch resize mode stretch", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip exif only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip gps only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip icc only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip none", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix strip-metadata strip xmp only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster dpi max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster dpi min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format heif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster height set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster transparent bg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix svg-to-raster width set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay background box off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay background box on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay max font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay min font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay position bottom", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay position center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay position top", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay shadow off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix text-overlay shadow on", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer defringe 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer defringe 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer output png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer output webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer remove watermark false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix transparency-fixer remove watermark true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix trim-audio offset clip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix trim-audio short clip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix trim-video precise false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix trim-video precise true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix trim-video short clip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix unlock-pdf with password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color brightness max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color brightness min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color contrast max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color contrast min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color gamma max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color gamma min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color saturation max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-color saturation min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-speed factor 2x", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-speed factor max (4x)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-speed factor min (0.25x)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-speed keep pitch false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-speed keep pitch true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-frames mode all jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-frames mode all png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-frames mode nth n=100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-frames mode nth n=2", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-frames mode timestamps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-gif duration max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-gif fps max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-gif fps min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-gif width max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-gif width min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp fps max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp fps min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp loop false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp loop true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp quality max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp quality min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp width max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix video-to-webp width min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix vignette custom color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix vignette strength max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix vignette strength mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix vignette strength min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix volume-adjust gain max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix volume-adjust gain mid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix volume-adjust gain min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf font size max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf font size min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf opacity max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf opacity min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf position br", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf position c", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf position tl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf rotation -90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf rotation 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-pdf rotation 90", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text max font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text max opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text min font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text min opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position tiled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text position top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text rotation -45", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-text rotation 45", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video font size max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video font size min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video opacity max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video opacity min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position bc", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position bl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position br", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position c", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position l", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position r", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position tc", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position tl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix watermark-video position tr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix waveform-image custom color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix waveform-image height max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix waveform-image height min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix waveform-image width max", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-matrix.test.ts > settings variation matrix waveform-image width min", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix adjust-colors survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix border survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix compress survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix convert survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix crop survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix resize survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix rotate survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-pairwise.test.ts > pairwise settings matrix watermark-text survives its pairwise settings matrix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > disabledTools setting can be saved as a JSON array and retrieved", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > disabledTools setting can be updated to an empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > enableExperimentalTools setting can be saved and retrieved as 'false'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > enableExperimentalTools setting can be saved and retrieved as 'true'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > startupCleanup setting can be saved and retrieved as 'false'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > startupCleanup setting can be saved and retrieved as 'true'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > tempFileMaxAgeHours setting can be saved and retrieved as a numeric string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/settings-phase1.test.ts > tempFileMaxAgeHours setting can be updated to a different value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > AVIF input processes AVIF image with adaptive sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive boundary parameters uses maximum m1, m2, x1, y2, y3 values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive boundary parameters uses maximum sigma (10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive boundary parameters uses minimum sigma (0.5)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive minimum parameters uses all minimum adaptive parameter values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive sharpening sharpens with all adaptive parameters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive sharpening sharpens with custom sigma", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive sharpening sharpens with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Adaptive with denoise on JPEG applies adaptive sharpening with medium denoise on JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > All methods with denoise applies adaptive with strong denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > All methods with denoise applies high-pass with medium denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > All methods with denoise applies unsharp-mask with light denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Amount boundary accepts minimum amount (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Amount boundary rejects negative amount", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Animated GIF input processes animated GIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Authentication rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > BMP input processes BMP image with adaptive sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Before-after pixel comparison high-pass changes pixel data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Before-after pixel comparison unsharp-mask changes pixel data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Combined sharpening + denoise applies adaptive sharpening with light denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Combined sharpening + denoise applies high-pass sharpening with strong denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise completeness applies adaptive with off denoise (explicit)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise completeness applies high-pass with strong denoise on JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise off explicitly sets denoise to off", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise option applies light denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise option applies medium denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Denoise option applies strong denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Edge size inputs processes 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Edge size inputs processes stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 for invalid denoise value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 for invalid kernelSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 for invalid method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 for sigma out of range (too high)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 for sigma out of range (too low)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Extreme sharpening on tiny image applies maximum sharpening to 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Format preservation across methods adaptive preserves JPEG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Format preservation across methods high-pass preserves JPEG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > HEIC input processes HEIC image with adaptive sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > HEIC with different methods processes HEIC with high-pass", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > HEIC with different methods processes HEIC with unsharp-mask", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > HEIF input processes HEIF image (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass boundary parameters rejects strength out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass boundary parameters uses maximum strength (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass boundary parameters uses minimum strength (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass default kernelSize uses default kernelSize (3) when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass kernel size comparison kernelSize 3 and 5 both produce valid sharpened output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass sharpening sharpens with custom strength and kernel size 5", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > High-pass sharpening sharpens with high-pass method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Invalid kernelSize rejects kernelSize 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Invalid kernelSize rejects kernelSize 4 (only 3 and 5 valid)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Invalid settings JSON rejects malformed settings JSON string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Multiple input formats processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Multiple input formats processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Negative strength rejected rejects negative strength value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Output format preservation preserves JPEG format after sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Output format preservation preserves WebP format after sharpening", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Output verification output differs from input (sharpening changes data)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Output verification preserves image dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Radius out of range rejects radius above maximum (>5)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Radius out of range rejects radius below minimum (<0.1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > SVG input processes SVG image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > TIFF input processes TIFF image with unsharp-mask", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Threshold boundary accepts minimum threshold (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Threshold boundary rejects negative threshold", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Threshold boundary rejects threshold above maximum (>255)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask + denoise applies unsharp-mask with medium denoise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask boundary parameters rejects amount out of range (>1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask boundary parameters uses maximum amount (1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask boundary parameters uses maximum radius (5)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask boundary parameters uses maximum threshold (255)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask boundary parameters uses minimum radius (0.1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask sharpening sharpens with custom amount and radius", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp mask sharpening sharpens with unsharp-mask method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sharpening.test.ts > Unsharp-mask no-op amount amount=0 produces minimal change", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license GET masks authHeader as *** instead of returning the actual value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license GET returns 200 with default config when none is saved", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license GET returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license GET returns saved values after PUT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license PUT rejects flushIntervalSeconds above 3600", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license PUT rejects flushIntervalSeconds below 10", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license PUT rejects invalid webhookUrl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license PUT returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config with enterprise license PUT saves config with valid data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config without enterprise license GET returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config without enterprise license GET returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config without enterprise license PUT returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-config.test.ts > SIEM config without enterprise license PUT returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-forwarding.test.ts > SIEM config returns 401 without auth", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-forwarding.test.ts > SIEM config returns 403 for GET without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/siem-forwarding.test.ts > SIEM config returns 403 for PUT without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/silence-removal.test.ts > silence-removal (requires ffmpeg) removes silent gap and shortens duration below 1.05s", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop accepts default settings (subject mode)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop face mode (AI-dependent, falls back to subject)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop rejects padding out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop subject mode with entropy strategy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop subject mode with explicit dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop subject mode with padding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop trim mode removes whitespace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/smart-crop.test.ts > Smart Crop trim mode with padToSquare and targetSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-audio.test.ts > split-audio (requires ffmpeg) rejects parts=1 (schema minimum is 2)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-audio.test.ts > split-audio (requires ffmpeg) rejects silence mode when no silence found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-audio.test.ts > split-audio (requires ffmpeg) splits by silence on tone-gap.wav", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-audio.test.ts > split-audio (requires ffmpeg) splits by time mode on tone-gap.wav (segmentS=1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-audio.test.ts > split-audio (requires ffmpeg) splits into 2 parts via parts mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-csv.test.ts > split-csv (pure JS, no skipIf) splits a TSV file correctly with rowsPerFile 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-csv.test.ts > split-csv (pure JS, no skipIf) splits with keepHeader false omits the header from parts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-csv.test.ts > split-csv (pure JS, no skipIf) splits with rowsPerFile 1 into a zip with 3 entries each containing the header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-pdf.test.ts > split-pdf (requires qpdf) extracts a page range into a 2-page PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-pdf.test.ts > split-pdf (requires qpdf) rejects an invalid range at the schema level", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-pdf.test.ts > split-pdf (requires qpdf) rejects range mode without a range field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split-pdf.test.ts > split-pdf (requires qpdf) splits every 1 page into a zip with 3 entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split accepts jxl as a valid output format in settings schema", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split accepts quality at maximum (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split converts tile format to avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split converts tile format to jpeg with quality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split converts tile format to webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split converts tiles to explicit png format from jpg source", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split falls back to grid columns/rows when only tileWidth is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split handles a 10x10 grid (many tiles)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split handles a file without an extension (uses .png default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split keeps original format when outputFormat is 'original'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects a corrupt image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects columns exceeding max (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects columns less than minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects invalid output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects quality below minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects rows exceeding max (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects tileHeight below minimum (10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects tileWidth below minimum (10)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split returns proper content-disposition header with job ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits HEIC image using fixed tile dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits HEIC image with webp output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits PNG source to jpg tiles with custom quality setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a 1x1 pixel image into a single tile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a 200x150 image into a 2x2 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a HEIC image into a grid without format conversion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a HEIC input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a HEIF input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a JPEG input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a SVGZ (compressed SVG) input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a WebP input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits a portrait image into a grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits an AVIF input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits an SVG input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits an animated GIF input image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits an image with EXIF orientation data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits file without extension via batch endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into 100 columns x 1 row (max columns)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 1x1 grid (single tile = full image)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 1x3 grid (1 column, 3 rows)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 3x3 grid with remainder tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 4x1 grid (4 columns, 1 row)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 4x4 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits into a 5x5 grid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits large stress image via batch endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits using fixed tile dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits using tile dimensions with avif output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits via batch endpoint with avif output and custom quality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits via batch endpoint with grid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits via batch endpoint with output format conversion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits via batch endpoint with remainder tiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits via batch endpoint with tileWidth and tileHeight", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split splits with original format preserved via batch endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split uses default settings (3x3 grid) when none provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split uses fixed tile dimensions that divide evenly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split uses fixed tile dimensions with output format conversion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split uses fixed tile dimensions with remainder (non-even divide)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/split.test.ts > Split uses tile dimensions larger than the image (single tile)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sprite-sheet.test.ts > Sprite Sheet creates a sprite sheet from 4 images with 2 columns", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sprite-sheet.test.ts > Sprite Sheet outputs webp when format is webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sprite-sheet.test.ts > Sprite Sheet rejects single input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/sprite-sheet.test.ts > Sprite Sheet returns full coordinate map in resultPayload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stabilize-video.test.ts > stabilize-video (requires ffmpeg) rejects smoothing out of range with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stabilize-video.test.ts > stabilize-video (requires ffmpeg) stabilizes a video and returns a downloadable mp4", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch accepts jxl output format (succeeds if Sharp supports JXL)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch accepts quality at minimum (1) for jpeg output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies border around the stitched result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies center alignment explicitly in vertical mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies corner radius to the final result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies corner radius with avif output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies corner radius with jpeg output format (flattens alpha)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies corner radius with jxl output format (if supported)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies corner radius with webp output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies custom background color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies end alignment in horizontal mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies end alignment in vertical mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies gap and border together in grid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies gap between images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies gap in vertical mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies start alignment in horizontal mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch applies start alignment in vertical mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch combines all settings: direction, resize, alignment, gap, border, cornerRadius, bg, format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch combines gap, border, and corner radius in horizontal mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles 1x1 pixel input images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles AVIF input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles HEIF input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles SVG input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles SVGZ (compressed SVG) input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles a large content image in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles animated GIF input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch handles portrait HEIC input in stitching", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch outputs in avif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch outputs in jpeg format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch outputs in webp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects an invalid/corrupt image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects border exceeding max (500)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects gap exceeding max (1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects invalid backgroundColor (non-hex)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects invalid direction", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects invalid format value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects quality below minimum (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects requests with fewer than 2 images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects requests with no images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches 5+ images horizontally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches 5+ images in grid mode with 3 columns", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches grid with gridColumns=2 and exactly 2 images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches grid with more columns than images (single row)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches horizontally with crop mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches horizontally with crop mode using very different image sizes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches horizontally with fit mode when images have same height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches horizontally with stretch mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode with crop resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode with fit resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode with fit resize where images already fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode with odd number of images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches in grid mode with original resize (no scaling)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches two images horizontally with fit mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches two images vertically with fit mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches vertically with crop mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches vertically with crop mode using very different image sizes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches vertically with fit mode when images have same width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches vertically with original mode (no resizing)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches vertically with stretch mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch stitches with original resize mode (no resizing)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/stitch.test.ts > Stitch uses center alignment by default in horizontal mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > AVIF fixture re-encoding re-encodes real AVIF fixture after stripping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > AVIF fixture re-encoding selectively strips EXIF from AVIF fixture", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Error handling returns 400 for invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Error handling returns 400 when no file is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > File size impact stripping metadata typically reduces or maintains file size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Fixture verification test-with-exif.jpg has EXIF data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format handling preserves JPEG format after stripping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format handling preserves image dimensions after stripping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format handling processes PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format-specific re-encoding handles default format case (non-standard format)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format-specific re-encoding re-encodes AVIF format after stripping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Format-specific re-encoding re-encodes TIFF format after stripping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > HEIC format handling strips metadata from HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > HEIC format handling strips selective metadata from HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint edge cases inspects a PNG file with no EXIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint returns 400 when no file is provided to inspect", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint returns parsed metadata for image with EXIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint: ICC and XMP parsing inspect handles EXIF with GPS data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint: ICC and XMP parsing inspect handles empty file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint: ICC and XMP parsing inspect returns 422 for corrupt image that passes size check", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint: ICC and XMP parsing inspect returns ICC info when present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Inspect endpoint: ICC and XMP parsing inspect returns empty metadata for image without any metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Large file handling strips metadata from a large stress image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping strips EXIF + GPS but keeps ICC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping strips only EXIF data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping strips only GPS data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping strips only ICC profile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping strips only XMP data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping with download verification selective stripExif returns valid downloadable image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping with download verification selective stripIcc returns valid downloadable image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping with download verification selective stripXmp returns valid downloadable image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping with download verification strips multiple categories but not all returns valid image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Selective stripping with download verification with all strip flags false, preserves metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Strip all metadata strips all metadata with stripAll=true (default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Strip all metadata strips with default settings (stripAll defaults to true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Tiny file handling inspects a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > Tiny file handling strips metadata from a 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/strip-metadata.test.ts > WebP format handling processes WebP input and strips metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/support-bundle.test.ts > GET /api/v1/admin/support-bundle rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/support-bundle.test.ts > GET /api/v1/admin/support-bundle returns 200 application/zip for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster accepts DPI at maximum boundary (2400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster accepts DPI at minimum boundary (36)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster accepts height at minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster accepts quality at minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster accepts width at minimum (1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster applies background color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster applies opaque background color and flattens alpha", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch batch accepts clientJobId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch batch converts complex SVGs to webp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch batch rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch batch rejects invalid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch converts 5+ SVG files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch converts SVGZ files to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch converts SVGs to heif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch converts SVGs to tiff format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch converts multiple SVGs in a single batch request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch handles a batch with non-SVG files (skips them, processes valid ones)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch handles duplicate SVG filenames by deduplicating", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch rejects batch with no SVG files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster batch returns 422 when all batch files fail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster combines width, DPI, background color, and quality", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts SVG to PNG with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts a QR code SVG (complex path)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts a SVGZ (compressed SVG) to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts a complex SVG with gradients and filters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to avif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to gif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to heif format and generates a preview", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to heif format with background color applied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to jxl format (if Sharp supports JXL)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to output format: jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to output format: png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to output format: webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to tiff format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts to tiff format and generates a webp preview", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster converts with default transparent background (no flatten)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster does not generate previewUrl for previewable formats (png)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster handles SVG file without .svg extension in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster handles a minimal SVG with no viewBox attribute", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster output is a valid raster image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects DPI above maximum (2400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects DPI below minimum (35)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects height exceeding maximum (65536)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects invalid JSON in settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects invalid output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects invalid settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects non-SVG file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects quality above maximum (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects request without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster rejects width exceeding maximum (65536)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster respects DPI setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster respects both width and height together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster respects custom height override", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster respects custom width override", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster returns 422 for malformed SVG that passes isSvgBuffer but fails Sharp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster returns originalSize and processedSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster strips .svg from output filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/svg-to-raster.test.ts > svg-to-raster uses high DPI (600) for detailed rendering", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry expires S3 dir (mtimeMs=0) with old completed row", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry expires local dir whose mtimeMs is older than cutoff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry keeps S3 dir (mtimeMs=0) with recent row", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry keeps local dir whose mtimeMs is newer than cutoff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry skips S3 dir (mtimeMs=0) without a jobs row", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > decideExpiry uses completedAt over createdAt when both are present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > runSystemJob continues sweeping when a per-dir deletePrefix fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > runSystemJob retention removes old completed jobs and old audit rows", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > runSystemJob sessionPurge deletes expired sessions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > runSystemJob storageTtl removes stale local dirs and keeps fresh ones", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > runSystemJob throws on unknown system job name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > scheduleSystemJobs registers all three system job schedulers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > scheduleSystemJobs removes stale storageTtl scheduler when CLEANUP_INTERVAL_MINUTES changes to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/system-jobs.test.ts > scheduleSystemJobs skips storageTtl scheduler when CLEANUP_INTERVAL_MINUTES <= 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > DELETE /api/v1/teams/:id deletes an empty team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > DELETE /api/v1/teams/:id rejects deleting a team with members", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > DELETE /api/v1/teams/:id rejects deleting the Default team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > DELETE /api/v1/teams/:id requires admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > DELETE /api/v1/teams/:id returns 404 for non-existent team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > GET /api/v1/teams requires authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > GET /api/v1/teams returns teams with member counts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams creates a team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams rejects duplicate names (case-insensitive)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams rejects empty name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams rejects missing name field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams rejects name longer than 50 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams rejects whitespace-only name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams requires admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > POST /api/v1/teams trims whitespace from name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id allows renaming to same name (case-exact)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id rejects duplicate names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id rejects empty name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id renames a team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id requires admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/teams.test.ts > PUT /api/v1/teams/:id returns 404 for non-existent team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay accepts text at exactly max length (500 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay adds text overlay with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies all parameters at once", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies background box at bottom position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies background box at center position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies custom color and font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies maximum font size (200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies minimum font size (8)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies shadow by default when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay applies shadow with top position and background box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay combines background box and shadow with position top", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay disables shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay enables background box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles HEIF input (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles multiline text with newlines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles special XML characters in overlay text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles stress-large.jpg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles stress-large.jpg with background box at bottom", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles tiny 1x1 image input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay handles unicode text characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay output differs from input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay preserves JPEG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay preserves image dimensions after text overlay", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay processes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay processes TIFF input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay processes TIFF input with background box and shadow at top position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects empty text string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects fontSize above maximum (>200)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects fontSize below minimum (<8)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects fontSize out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects invalid backgroundColor format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects invalid color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects invalid position value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects request without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects request without text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects text exceeding max length (>500 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay renders text with no shadow and no background box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay supports position: bottom", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay supports position: center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay supports position: top", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay uses default backgroundColor when backgroundBox enabled without color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/text-overlay.test.ts > text-overlay uses default white color when color not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/to-epub.test.ts > rejects unsupported file types with 415", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/to-epub.test.ts > to-epub (requires pandoc) converts tiny.md to EPUB with PK magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-async-window.test.ts > EXIF auto-orientation in factory path strips EXIF orientation and rotates pixels for a JPEG with orientation 6", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-async-window.test.ts > Tool async window (sync-wait path) includes originalSize and processedSize in the envelope", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-async-window.test.ts > Tool async window (sync-wait path) returns 200 with legacy envelope keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-route-drift.test.ts > tool route drift every TOOLS entry answers on POST /api/v1/tools/:toolId (no dead routes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-route-drift.test.ts > tool route drift every non-exempt TOOLS entry has a registered process fn", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-route-drift.test.ts > tool route drift every registered tool exposes a settings schema and process fn", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-route-drift.test.ts > tool route drift no orphan registrations (registered but missing from TOOLS, excluding legacy aliases)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tool-route-drift.test.ts > tool route drift registry-exempt list is not stale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tracing-lifecycle.test.ts > tracing lifecycle handles absent _otel gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tracing-lifecycle.test.ts > tracing lifecycle propagates trace context through inject/extract cycle", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tracing-lifecycle.test.ts > tracing lifecycle records error status on failed spans", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tracing-lifecycle.test.ts > tracing lifecycle supports retry spans under the same trace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/tracing-lifecycle.test.ts > tracing lifecycle tracing failures do not block request processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transcribe-audio.test.ts > transcribe-audio rejects unauthenticated requests (401)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transcribe-audio.test.ts > transcribe-audio returns 501 FEATURE_NOT_INSTALLED when bundle is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transcribe-audio.test.ts > transcribe-audio returns 501 even with invalid outputFormat (gate fires first)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transcribe-audio.test.ts > transcribe-audio with transcription bundle installed transcribes audio to srt with correct structure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transcribe-audio.test.ts > transcribe-audio with transcription bundle installed transcribes audio to txt (202 + async)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Advanced settings accepts defringe at 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Advanced settings accepts defringe at 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Advanced settings accepts defringe at 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Advanced settings accepts output format webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Authentication rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Combined settings accepts all settings at maximum values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Combined settings accepts all settings at minimum values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Combined settings accepts defringe + outputFormat + removeWatermark together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Default settings processes with omitted settings field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Edge cases handles 1x1 pixel image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Edge cases handles already-transparent PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Empty file rejects corrupt image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Empty file rejects empty file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Error handling rejects defringe out of range (>100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Error handling rejects defringe out of range (negative)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Error handling rejects invalid output format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Error handling rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Error handling rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - HEIF input accepts HEIF (sample.heif) input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Happy path processes fake-transparency PNG with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Happy path processes standard PNG with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Input format coverage accepts HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Input format coverage accepts JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Input format coverage accepts PNG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Input format coverage accepts SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Input format coverage accepts WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Large file handles stress-large.jpg input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Watermark removal settings accepts removeWatermark with various input formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Watermark removal settings accepts removeWatermark: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Watermark removal settings accepts removeWatermark: true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Watermark removal settings defaults removeWatermark to false when omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/transparency-fixer.test.ts > PNG Transparency Fixer - Watermark removal settings rejects non-boolean removeWatermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/trim-audio.test.ts > trim-audio (requires ffmpeg) rejects when end is before start", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/trim-audio.test.ts > trim-audio (requires ffmpeg) trims mp3 from 0 to 0.5s and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/trim-video.test.ts > trim-video (requires ffmpeg) rejects when end is before start", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/trim-video.test.ts > trim-video (requires ffmpeg) trims a clip (fast, stream-copy) and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/trim-video.test.ts > trim-video (requires ffmpeg) trims with precise re-encode and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/unlock-pdf.test.ts > unlock-pdf (requires qpdf) persists redacted password in the jobs row", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/unlock-pdf.test.ts > unlock-pdf (requires qpdf) rejects wrong password with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/unlock-pdf.test.ts > unlock-pdf (requires qpdf) unlocks with correct password and produces 3 pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/migrations/pending returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/migrations/pending returns 500 when journal is not at expected path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/upgrade-check includes database and redis connectivity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/upgrade-check returns 200 with readiness check", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/upgrade-check returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/version includes build metadata fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/version returns 200 with version info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - with enterprise license GET /api/v1/admin/version returns 403 for non-admin users", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/migrations/pending returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/migrations/pending returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/upgrade-check returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/upgrade-check returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/version returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upgrade-management.test.ts > upgrade management - without enterprise license GET /api/v1/admin/version returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale accepts default settings (2x scale)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale accepts denoise and format options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale accepts explicit scale factor", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale accepts model and faceEnhance options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale accepts scale as a string (coerced to number)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale handles 1x1 pixel input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale processes JPEG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale rejects requests without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale returns 202 with jobId for async processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale returns 202 without blocking for processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/upscale.test.ts > Upscale route exists and responds to POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/usage-endpoint.test.ts > GET /api/v1/admin/usage clamps days to valid range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/usage-endpoint.test.ts > GET /api/v1/admin/usage defaults days to 30 when omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/usage-endpoint.test.ts > GET /api/v1/admin/usage rejects non-admin users with 403", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/usage-endpoint.test.ts > GET /api/v1/admin/usage rejects unauthenticated requests with 401", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/usage-endpoint.test.ts > GET /api/v1/admin/usage returns usage data for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Bulk delete deletes files by their IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Bulk delete handles delete of non-existent IDs gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Bulk delete rejects delete with empty ids array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Bulk delete rejects delete without ids field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File detail returns 404 for non-existent file ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File detail returns file details and version history", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File download downloads an uploaded file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File download returns 404 for non-existent file download", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File listing lists uploaded files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File listing requires authentication to list files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File listing supports pagination with limit and offset", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File listing supports search by filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File upload rejects upload with no files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File upload uploads a single image file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > File upload uploads multiple image files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Save result builds version chain correctly across multiple saves", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Save result creates a new version linked to a parent file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Save result rejects save-result without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Save result rejects save-result without parentId", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Save result returns 404 when parent file does not exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Thumbnail generation generates a JPEG thumbnail for an uploaded file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/user-files.test.ts > Thumbnail generation returns 404 for non-existent file thumbnail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize SVG output has viewBox matching input dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts colorPrecision of 1 (minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts colorPrecision of 16 (maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts cornerThreshold of 0 (minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts invert option with color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts maximum layerDifference and filterSpeckle", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts minimum layerDifference and filterSpeckle", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts threshold of 0 (minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize accepts threshold of 255 (maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize applies all settings simultaneously in bw mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize applies all settings simultaneously in color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize applies extreme corner threshold values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize applies invert in bw mode and produces valid SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize bw mode SVG output contains path elements", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize bw mode generally produces smaller SVG than color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize bw mode with low threshold produces different output than high threshold", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize bw mode with none path mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize bw mode with polygon path mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize color mode SVG output contains valid SVG content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize color mode with all path modes produces valid SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize default settings use spline path mode (default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize download URL filename ends with .svg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize handles WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize handles filterSpeckle to remove small artifacts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize handles very small input (1x1 pixel)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize output is valid SVG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize processes a JPEG input file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize produces different SVG for different colorPrecision values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects colorPrecision of 0 (below minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects colorPrecision out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects cornerThreshold above max (181)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects corrupt image data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects empty file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects filterSpeckle of 0 (below minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects filterSpeckle of 257 (above maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects invalid colorMode value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects invalid pathMode value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects layerDifference of 0 (below minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects layerDifference of 129 (above maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects request without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects threshold of -1 (below minimum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects threshold of 256 (above maximum)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects threshold out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize rejects unauthenticated requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize respects color mode settings (colorPrecision, layerDifference)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize respects custom threshold in bw mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize returns all expected fields in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize supports invert option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize supports pathMode: none", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize supports pathMode: polygon", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize supports pathMode: spline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize uses default settings when no settings field is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes SVG input (re-traces after rasterization)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes a PNG with default settings (bw mode)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes a blank (single-color) image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes a large stress image in bw mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes content/portrait-color.jpg in color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes in color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes large stress image in color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes portrait image in bw mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize vectorizes portrait image in color mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize works with HEIC input after decoding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vectorize.test.ts > vectorize works with HEIF (sample.heif) input after decoding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-color.test.ts > video-color (requires ffmpeg) desaturates (saturation 0) and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-color.test.ts > video-color (requires ffmpeg) rejects brightness out of range with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-loudnorm.test.ts > video-loudnorm (requires ffmpeg) normalizes audio and returns 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-loudnorm.test.ts > video-loudnorm (requires ffmpeg) rejects a video with no audio track with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-metadata.test.ts > video-metadata (requires ffmpeg) strips metadata and returns probe data in the envelope", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-speed.test.ts > video-speed (requires ffmpeg) rejects factor out of range with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-speed.test.ts > video-speed (requires ffmpeg) speeds up by factor 2 and halves duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-speed.test.ts > video-speed (requires ffmpeg) speeds up by factor 2 with keepPitch=false and halves duration", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-frames.test.ts > video-to-frames (requires ffmpeg) extracts a single frame at timestamp 0 and returns a zip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-frames.test.ts > video-to-frames (requires ffmpeg) extracts every-Nth frame and returns a zip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-frames.test.ts > video-to-frames (requires ffmpeg) rejects a timestamp beyond the video duration with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-frames.test.ts > video-to-frames (requires ffmpeg) rejects timestamps mode with empty timestamps string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-gif.test.ts > video-to-gif (requires ffmpeg) returns 202 (long hint) and produces a GIF with GIF8 magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/video-to-webp.test.ts > video-to-webp (requires ffmpeg) converts video to animated webp with RIFF/WEBP magic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vignette.test.ts > Vignette applies custom radius, softness, roundness, and center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vignette.test.ts > Vignette applies vignette effect with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vignette.test.ts > Vignette corner pixel is darker than the original source corner", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vignette.test.ts > Vignette preserves dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/vignette.test.ts > Vignette rejects strength above maximum", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/volume-adjust.test.ts > volume-adjust (requires ffmpeg) adjusts volume and returns 200 with audio stream", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/volume-adjust.test.ts > volume-adjust (requires ffmpeg) rejects gainDb out of range (50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies medium scale (50) at bottom-left position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies opacity=50 with scale=75 at top-right position", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies watermark at full opacity (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies watermark at maximum scale (100%)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies watermark at minimum scale (1%)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image applies watermark at zero opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image handles 1x1 pixel main image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image handles scale=50 with center position and mid opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image handles small main image with watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image output differs from the main input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image overlays a watermark image with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image preserves main image dimensions after watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes AVIF watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes HEIC main image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes HEIC watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes HEIF main image (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes JPG main with JPG watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes SVG main image with watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes SVG watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes TIFF format watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes WebP watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes animated GIF main image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image processes stress-large.jpg as main image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects invalid position value (tiled not supported)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects invalid settings JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects negative opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects opacity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects request without main image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects request without watermark image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects scale below minimum (0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image respects custom opacity and scale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image response includes originalSize and processedSize fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image returns 400 for invalid Zod settings (scale out of range)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image returns 400 when main image is corrupted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image returns 400 when watermark image is corrupted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image supports position: bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image supports position: bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image supports position: center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image supports position: top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image supports position: top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image uses default position (bottom-right) when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-image.test.ts > watermark-image works when no settings field is provided at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-pdf.test.ts > watermark-pdf (requires pdfcpu) stamps a watermark and produces a valid output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-pdf.test.ts > watermark-pdf validation (ungated) rejects text longer than 200 characters with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text accepts lowercase hex color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text accepts text at exactly max length (500 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text adds a text watermark with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies all parameters: position, color, opacity, fontSize, rotation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies full options to stress-large.jpg at bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies maximum font size (1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies maximum rotation (+360)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies minimum font size (8)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies negative rotation (-360)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies watermark at full opacity (100)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text applies watermark with zero opacity (invisible)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles HEIC input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles HEIF input (motorcycle.heif)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles SVG input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles animated GIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles special XML characters in watermark text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles text with newline characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles tiled watermark on a large image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles tiled watermark with large fontSize on small image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles tiled watermark with very small fontSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles tiled watermark with zero rotation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text handles tiny 1x1 image input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text output differs from input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text preserves JPEG format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text preserves image dimensions after watermark", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text processes AVIF input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text processes TIFF input format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text processes WebP input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects 8-character hex color (no alpha support)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects empty text string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects fontSize above maximum (>1000)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects fontSize below minimum (<8)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects invalid color format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects malformed settings JSON string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects negative opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects opacity out of range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects request without a file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects request without text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects rotation below -360", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects rotation exceeding range (>360)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects text exceeding max length (>500 chars)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text rejects unauthenticated request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text respects custom color and rotation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text respects custom opacity and font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text response includes jobId, downloadUrl, originalSize, processedSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: bottom-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: bottom-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: tiled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: top-left", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-text.test.ts > watermark-text supports position: top-right", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-video.test.ts > watermark-video (requires ffmpeg) handles special characters and literal percent sequences in text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-video.test.ts > watermark-video (requires ffmpeg) rejects empty text with 400", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/watermark-video.test.ts > watermark-video (requires ffmpeg) watermarks a video and returns 200 with video content type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/waveform-image.test.ts > waveform-image (requires ffmpeg) generates PNG waveform with default settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/waveform-image.test.ts > waveform-image (requires ffmpeg) rejects invalid color string (400)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license DELETE deletes a webhook by index", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license DELETE returns 404 for out-of-bounds index", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license GET masks authHeader in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license GET reflects removal after delete", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license GET returns created webhooks after POST", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license GET returns empty array initially", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license POST creates a webhook destination with valid data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license POST returns 403 for non-admin users without webhooks:manage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license POST test returns 404 for out-of-bounds index", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license POST validates name is required", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license POST validates url must be a valid URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license PUT returns 404 for out-of-bounds index", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management with enterprise license PUT updates an existing webhook by index", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license DELETE /api/v1/enterprise/webhooks/:index returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license DELETE /api/v1/enterprise/webhooks/:index returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license GET /api/v1/enterprise/webhooks returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license GET /api/v1/enterprise/webhooks returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license POST /api/v1/enterprise/webhooks returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license POST /api/v1/enterprise/webhooks returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license PUT /api/v1/enterprise/webhooks/:index returns 401 without authentication", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/webhook-management.test.ts > webhook management without enterprise license PUT /api/v1/enterprise/webhooks/:index returns 403 without enterprise license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/word-to-pdf.test.ts > word-to-pdf (requires soffice) returns 202 (long hint) and the job completes with a PDF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/worker-timeout.test.ts > Worker timeout classification timed-out job is retried then fails with timeout message, not canceled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/xml-to-csv.test.ts > xml-to-csv (pure JS, no skipIf) converts XML with 2 repeated elements to CSV with 2 data rows", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/xml-to-csv.test.ts > xml-to-csv (pure JS, no skipIf) converts single non-repeating record to a 1-row CSV", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/yaml-json.test.ts > yaml-json (pure JS, no skipIf) converts tiny.yaml to JSON containing 'alpha'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/yaml-json.test.ts > yaml-json (pure JS, no skipIf) rejects malformed YAML with 422", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/integration/yaml-json.test.ts > yaml-json (pure JS, no skipIf) round-trips: converts the produced JSON back to YAML", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback does not retry on non-OOM errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback does not retry when already using u2net", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback fires progress callback on fallback retry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback propagates error if fallback also fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback retries with fallback when no model is specified (default)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback retries with u2net when OOM is detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback throws when OOM fallback succeeds at bridge level but Python returns success: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback uses 300000ms timeout for the u2net fallback attempt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground OOM fallback uses fallback error message when OOM fallback returns success: false without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground edge cases handles missing width and height from metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground edge cases passes backgroundColor option in args JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground error handling propagates bridge timeout errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground error handling propagates sharp conversion errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground error handling throws fallback error when success: false and no error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground error handling throws when Python returns success: false with custom error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground image downscaling calls resize when longest edge exceeds 2048px", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground image downscaling constrains by height when portrait orientation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground image downscaling does not call resize when image is within limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground image downscaling does not upscale mask when image was not downscaled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground image downscaling upscales mask back to original dimensions after processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground onProgress forwarding passes onProgress callback through to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground onProgress forwarding passes undefined onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization calls remove_bg.py with input path, output path, and options JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization converts input to PNG via sharp before writing to disk", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes all post-processing options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes backgroundColor option into the args JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes both model and backgroundColor together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes decontaminate option into the args JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes edgeRefine option into the args JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization serializes model option into the args JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization uses unique UUID in temp file names to prevent collisions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground request serialization writes input to system tmpdir, output to outputDir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground response parsing passes stdout through parseStdoutJson", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground response parsing reads the output file and returns its buffer on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground temp file cleanup cleans up both input and output temp files on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground temp file cleanup cleans up temp files when Python returns failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground temp file cleanup cleans up temp files when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground temp file cleanup does not throw if unlink fails (swallows cleanup errors)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground timeout calculation scales timeout with megapixels for large images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground timeout calculation uses 300000ms base timeout for non-birefnet models", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground timeout calculation uses 600000ms base timeout for birefnet models", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground timeout calculation uses 600000ms base timeout for birefnet-massive model", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/background-removal.test.ts > removeBackground timeout calculation uses default 300000ms base when model is not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - PROCESSING_TIMEOUT_S env for dispatcher path ignores negative PROCESSING_TIMEOUT_S and uses default 600s", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - PROCESSING_TIMEOUT_S env for dispatcher path ignores zero PROCESSING_TIMEOUT_S and uses default 600s", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - PROCESSING_TIMEOUT_S env for dispatcher path uses PROCESSING_TIMEOUT_S for dispatcher requests when no explicit timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - PYTHON_VENV_PATH env handling passes PYTHON_VENV_PATH through to env when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - PYTHON_VENV_PATH env handling uses custom PYTHON_VENV_PATH when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - buildMinimalEnv LANG fallback defaults LANG to C.UTF-8 when LANG is not set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - buildMinimalEnv LANG fallback passes through LANG when set in parent env", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - concurrent dispatcher requests with timeouts one request timing out does not prevent other requests from resolving", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher crash retry annotation appends retry annotation to stderr when dispatcher crashes and per-request succeeds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher crash retry annotation does not retry per-request for non-crash errors (e.g. timeout)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher error event extracts error for pending requests dispatcher error with non-ENOENT code rejects pending requests with extracted error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher malformed stdout responses handles response where exitCode is missing (treated as undefined !== 0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher malformed stdout responses ignores response with valid JSON but missing id field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher malformed stdout responses ignores truncated JSON on stdout and processes next valid response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr interleaving with stdout responses handles empty lines in stderr between valid progress events", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr interleaving with stdout responses handles multiple progress events interleaved between two responses", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr interleaving with stdout responses handles stderr arriving between split stdout response chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr non-progress JSON does not invoke onProgress for JSON with progress as string type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr non-progress JSON does not invoke onProgress for JSON with stage as number type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stderr non-progress JSON handles ready=true signal after dispatcher was already ready (idempotent)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stdin error suppression does not crash when stdin emits an error event", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stdin write failure falls back to per-request after dispatcher stdin write failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher stdin write failure retries per-request when dispatcher stdin.write throws", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - dispatcher timeout recovery timeout kills the dispatcher so subsequent requests can restart it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - env passthrough for sidecar-specific vars does not include unset vars in subprocess env", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - env passthrough for sidecar-specific vars passes DATA_DIR to subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - env passthrough for sidecar-specific vars passes DISPATCHER_MAX_REQUESTS to subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - env passthrough for sidecar-specific vars passes U2NET_HOME to subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - extractPythonError uncovered branches extracts error from stderr JSON with error field on non-zero exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - extractPythonError uncovered branches extracts error from stdout JSON when stderr is empty on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - extractPythonError uncovered branches extracts non-traceback stderr as plain text error on non-zero exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - extractPythonError uncovered branches uses message field when error object has only message property", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - graceful shutdown during active requests shutdown during active request triggers SIGTERM and the request retries per-request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - graceful shutdown during active requests shutdown with multiple active requests causes all to retry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - initDispatcher additional edge cases handles concurrent initDispatcher calls -- both resolve with same result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - initDispatcher additional edge cases resolves with ready=false when getDispatcher returns null during backoff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with backslash in path values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with boolean false and empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with curly braces inside string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with newline characters in string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with tab characters in string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases handles JSON with zero/negative number values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases throws on stdout containing brace pair with invalid content", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - parseStdoutJson additional boundary cases throws on stdout containing only opening brace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - per-request ENOENT retry with non-ENOENT fallback error venv ENOENT triggers python3 fallback, non-ENOENT on fallback rejects directly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge-extended.test.ts > bridge - per-request stderr buffer flush on error exit includes partial stderr buffer in error when process exits non-zero", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - backoff prevents restart during cooldown second crash has 2x the backoff delay of the first crash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - concurrent dispatcher requests dispatcher crash rejects all pending concurrent requests with retry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - concurrent dispatcher requests one failing request does not affect other concurrent requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - concurrent dispatcher requests progress events on stderr are forwarded to all pending requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - concurrent dispatcher requests sends multiple concurrent requests to the same dispatcher process", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - crash recovery resets on successful readiness resets consecutiveCrashes to 0 when dispatcher becomes ready", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher error event handling ENOENT error permanently disables the dispatcher", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher error event handling non-ENOENT dispatcher error increments crash counter and clears dispatcher state", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher error event handling non-ENOENT error records a crash but does not permanently disable", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress concurrent requests to per-request fallback both resolve", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher close event rejects all pending requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher progress events are forwarded to pending request callbacks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher ready signal sets dispatcherReady and processes requests via dispatcher", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher ready signal with GPU=false sets gpu to false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher stderr collects non-JSON non-bracket lines as error output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress dispatcher stderr routes diagnostic messages with bracket prefix to logger", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress does not count exit code 0 as a crash (normal MAX_REQUESTS restart)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress falls back to per-request spawn when dispatcher ENOENT marks it failed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress getDispatcherStatus reflects consecutiveCrashes after dispatcher crashes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress graceful shutdown does not throw when dispatcher already exited", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress handles dispatcher crash followed by successful per-request retry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress per-request fallback retries with python3 when venv python fails with ENOENT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress reports failed status when dispatcher ENOENT occurs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress shutdown is idempotent when called multiple times", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress still counts non-zero exit codes as crashes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher lifecycle via runPythonWithProgress timeout rejects the promise without affecting other requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher request timeout kills the dispatcher on timeout so subsequent requests can proceed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher request timeout rejects with timeout when dispatcher does not respond within timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher shutdown behavior calls kill(SIGTERM) on the dispatcher process", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher shutdown behavior calls stdin.end() before killing the process", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher shutdown behavior does not change GPU status after shutdown (isGpuAvailable returns module-level state)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher shutdown behavior sets status to not running and not ready after shutdown", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stderr partial buffering buffers partial JSON progress lines across stderr chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stderr partial buffering does not fire progress for partial JSON that is not yet complete", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stderr partial buffering handles multiple complete lines in a single stderr chunk", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stderr partial buffering handles readiness signal split across stderr chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol collects stderr lines and returns them with the response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol generates a unique UUID id for each request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol handles chunked stdout responses split across data events", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol ignores stdout lines that are not valid JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol ignores stdout responses with unknown request IDs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol rejects the correct request when dispatcher returns non-zero exitCode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol rejects with OOM message when dispatcher response has exitCode 137", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol rejects with segfault message when dispatcher response has exitCode 139", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol returns empty stdout when dispatcher response omits stdout field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol routes responses by ID to the correct pending request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol strips .py extension from script name in dispatcher request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdin JSON-RPC protocol writes a JSON-line with id, script (without .py), and args to dispatcher stdin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdout partial line buffering handles dispatcher response split across 3 or more stdout chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - dispatcher stdout partial line buffering handles two complete responses in a single stdout data event", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError coverage via per-request path extracts error from JSON on stdout when non-zero exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError coverage via per-request path extracts last meaningful line from traceback when error is only in stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError coverage via per-request path returns generic exit code message when stderr has only the traceback header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError via dispatcher responses extracts error from JSON stdout in dispatcher response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError via dispatcher responses extracts error from traceback in dispatcher stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - extractPythonError via dispatcher responses uses generic exit code message when dispatcher stderr and stdout are both empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - getDispatcherStatus returns initial state with no dispatcher running", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher edge cases resolves with ready=false when dispatcher fails during init timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher edge cases returns ready=false immediately when dispatcher already permanently failed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher edge cases returns ready=false when spawn throws synchronously", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher is idempotent -- second call returns same result without respawning", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher resolves with gpu=false when dispatcher reports no GPU", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher resolves with ready=false after timeout when dispatcher never signals ready", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher resolves with ready=false when dispatcher fails with ENOENT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - initDispatcher resolves with ready=true and gpu status after dispatcher emits readiness", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - isGpuAvailable returns false by default (no dispatcher started)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - max consecutive crash threshold after reaching crash threshold, subsequent requests go directly to per-request path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - max consecutive crash threshold does not reach threshold when fewer than 5 crashes occur", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - max consecutive crash threshold resets crash counter outside the 60s crash window", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - max consecutive crash threshold sets dispatcherFailed after 5 consecutive crashes within the crash window", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - max consecutive crash threshold uses exponential backoff delay between crash restarts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON preceded by ANSI escape codes in stdout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with empty arrays and nested empty objects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with empty object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with escaped quotes in string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with negative numbers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with only whitespace before the object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions handles JSON with very long string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson boundary conditions throws on truncated JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases extracts JSON that follows multiple non-JSON log lines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases handles JSON with array values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases handles JSON with boolean and null values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases handles JSON with numeric values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases handles JSON with unicode characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases handles deeply nested JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson edge cases throws on stdout that is only whitespace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson extracts JSON from stdout with leading progress lines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson extracts JSON object from clean stdout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson extracts JSON with special characters in string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson handles multiline JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson matches greedily from first brace to last brace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson throws on empty stdout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson throws when JSON is malformed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson throws when multiple JSON objects produce invalid merged JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - parseStdoutJson throws when stdout contains no JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases does not invoke onProgress for JSON stderr that lacks progress field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases does not invoke onProgress for JSON stderr that lacks stage field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases handles empty stdout with successful exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases handles large stdout that arrives in many small chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases handles stderr that mixes progress JSON and regular text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - per-request fallback edge cases per-request stderr JSON with only progress is not collected as error output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) accumulates multiple stderr chunks into a single string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) does not invoke onProgress for JSON without progress field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) does not invoke onProgress for non-JSON stderr lines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) extracts error from JSON stderr when Python writes structured errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) extracts last line from Python traceback on non-zero exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) flushes partial stderr buffer on process close", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) handles chunked stdout data arriving in multiple events", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) handles stderr output that is not JSON (regular log lines)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) ignores empty stderr lines during progress parsing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) ignores invalid PROCESSING_TIMEOUT_S values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) includes exit code in error when no signal and no stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) invokes onProgress callback for JSON progress lines on stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) passes script path and args to spawn correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) rejects when spawn emits ENOENT error and fallback also fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) rejects with OOM message on exit code 137 (SIGKILL)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) rejects with error message on non-zero exit code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) rejects with segfault message on exit code 139 (SIGSEGV)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) rejects with timeout error when process exceeds timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) resolves with stdout/stderr on successful exit (code 0)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) treats SIGKILL signal as OOM error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) treats SIGSEGV signal as segfault error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - runPythonWithProgress (per-request fallback) uses PROCESSING_TIMEOUT_S env var when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/bridge.test.ts > bridge - shutdownDispatcher does not throw when no dispatcher is running", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize edge cases handles zero width and height in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize edge cases passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize error handling propagates bridge rejection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize error handling throws fallback error when success: false and no error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize error handling throws when Python returns success: false with custom error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize onProgress forwarding passes onProgress callback to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize request serialization calls colorize.py with input path, output path, and options JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize request serialization serializes both intensity and model together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize request serialization serializes intensity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize request serialization serializes model option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize response parsing defaults method to 'unknown' when not provided by Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize response parsing preserves width and height from Python response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize response parsing reads from alternate output_path when provided by Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize response parsing reads from default output path when output_path not in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize response parsing returns ColorizeResult with buffer, width, height, and method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/colorization.test.ts > colorize sharp conversion errors propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces request serialization calls detect_faces.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces request serialization serializes blurRadius option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces request serialization serializes both blurRadius and sensitivity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces request serialization serializes sensitivity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces response parsing defaults faces to empty array when field absent from response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces response parsing reads the output file for the blurred image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces response parsing returns BlurFacesResult with multiple face regions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > blurFaces response parsing returns empty faces array when none detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces edge cases converts input to PNG before writing to tmpdir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces edge cases propagates sharp conversion errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces edge cases propagates writeFile errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces error handling propagates segfault error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces error handling throws fallback error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces request serialization calls detect_faces.py with detectOnly: true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces request serialization merges user sensitivity with detectOnly flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces request serialization passes 'unused' as the output path argument", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces request serialization writes input to tmpdir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces response parsing defaults faces to empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces response parsing returns DetectFacesResult without a buffer property", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces temp file cleanup cleans up temp file when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces temp file cleanup cleans up temp input file after failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-detection.test.ts > detectFaces temp file cleanup cleans up temp input file after success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces edge cases handles response with zero facesDetected and non-empty faces array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces edge cases propagates segfault errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization calls enhance_faces.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization serializes model option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization serializes onlyCenterFace option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization serializes sensitivity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces request serialization serializes strength option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces response parsing defaults faces to empty array when absent from response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces response parsing defaults model to 'unknown' when absent from response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces response parsing reads the enhanced output file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces response parsing returns EnhanceFacesResult with all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces response parsing returns multiple face regions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-enhancement.test.ts > enhanceFaces sharp conversion errors propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks edge cases handles faceDetected true with missing landmarks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks edge cases uses timestamps in temp file names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks error handling propagates OOM errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks request serialization calls face_landmarks.py with input path, 'unused', and '{}'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks request serialization converts input buffer to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks request serialization writes to system tmpdir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing defaults imageHeight to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing defaults imageWidth to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing defaults landmarks to null when field is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing returns all landmark points when face is detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing returns both dimensions as 0 when both absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing returns imageWidth and imageHeight from response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing returns individual landmark points correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks response parsing returns null landmarks when no face detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks temp file cleanup cleans up temp input file after success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks temp file cleanup cleans up temp input file when Python returns failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks temp file cleanup cleans up temp input file when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/face-landmarks.test.ts > detectFaceLandmarks temp file cleanup does not throw if unlink fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough always includes PYTHONUNBUFFERED=1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough does not include SNAPOTTER_GPU when not set in parent env", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough does not leak unrelated env vars to Python subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough does not pass MODELS_DIR (removed dead entry)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough passes CUDA_VISIBLE_DEVICES when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough passes LD_LIBRARY_PATH when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough passes MODELS_PATH to Python subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/gpu-detection.test.ts > buildMinimalEnv - env passthrough passes SNAPOTTER_GPU to Python subprocess", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint edge cases propagates writeFile error when writing input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling propagates bridge OOM", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling propagates sharp conversion errors on input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint request serialization calls inpaint.py with input, mask, and output paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint request serialization converts both input and mask to PNG via sharp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint request serialization does not pass any options argument (only 3 args)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint request serialization writes both input and mask files to disk", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint response parsing reads from the correct output path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint response parsing returns output buffer on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/inpainting.test.ts > inpaint sharp conversion errors propagates sharp error on mask conversion", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval edge cases handles zero dimensions from metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval parseStdoutJson error propagation propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization calls noise_removal.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes colorNoise option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes detailPreservation option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes format and quality options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes strength option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval request serialization serializes tier option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing defaults format to 'png' when absent from response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing defaults tier from Python response when present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing falls back to 'balanced' when both Python and options omit tier", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing falls back to options tier when Python omits it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing reads from alternate output_path when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing reads from default output path when output_path not in response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval response parsing returns NoiseRemovalResult with all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval sharp conversion converts input to PNG and writes to outputDir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval sharp conversion propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval timeout calculation scales timeout for large images using megapixels * 120000", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval timeout calculation uses metadata from the PNG-converted buffer for timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/noise-removal.test.ts > noiseRemoval timeout calculation uses minimum 300000ms timeout for small images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText edge cases handles zero dimensions from metadata for timeout calculation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText edge cases passes empty options as empty JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText image downscaling caps input to 2048px using resize with inside fit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText multiline and unicode text handles multiline OCR text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText multiline and unicode text handles unicode text from CJK languages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization calls ocr.py with input path and options JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization resizes input to max 2048px before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization serializes deprecated engine option for backward compatibility", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization serializes enhance option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization serializes language option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization serializes quality option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText request serialization writes resized PNG to outputDir", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText response parsing returns OcrResult with text and engine", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText response parsing returns empty text string when no text detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText response parsing returns engine information", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText response parsing returns text with special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText response parsing returns undefined engine when not provided by Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText sharp conversion errors propagates sharp conversion errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText timeout calculation scales timeout for large images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ocr.test.ts > extractText timeout calculation uses minimum 600000ms timeout for small images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint edge cases handles zero extension on all sides", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling propagates bridge OOM", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling propagates sharp conversion error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint module exports accepts a valid OutpaintOptions object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint module exports exports outpaint as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint request serialization calls outpaint.py with input, output, and extension args", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint request serialization converts input to PNG via sharp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint request serialization passes 'fast' tier value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint request serialization passes custom tier value instead of default 'balanced'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint request serialization writes input file to disk", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint response parsing reads from the correct output path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/outpaint.test.ts > outpaint response parsing returns output buffer on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye edge cases passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye error handling propagates bridge segfault", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization calls red_eye_removal.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization serializes format and quality options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization serializes sensitivity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye request serialization serializes strength option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing defaults eyesCorrected to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing defaults facesDetected to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing defaults format to 'png' when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing handles multiple faces with multiple corrections", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing reads from alternate output_path when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing reads from default output path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing reports zero corrections when no red eyes found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye response parsing returns RedEyeRemovalResult with all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/red-eye-removal.test.ts > removeRedEye sharp conversion errors propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto edge cases handles single-step restoration pipeline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto edge cases passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto error handling propagates OOM errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization calls restore.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes colorize option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes colorizeStrength option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes denoise and denoiseStrength options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes faceEnhancement option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes fidelity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto request serialization serializes scratchRemoval option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing defaults colorized to false when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing defaults facesEnhanced to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing defaults isGrayscale to false when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing defaults scratchCoverage to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing defaults steps to empty array when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing preserves multi-step restoration pipeline info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing reads from alternate output_path when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing reads from default output path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto response parsing returns RestorePhotoResult with all fields populated", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/restoration.test.ts > restorePhoto sharp conversion errors propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve accepts 75% reduction exactly (ratio = 0.25)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve always passes -preview=false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve caches the caire binary path after first discovery", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve cleans up temp files even when image is too large", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve cleans up temp files on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve cleans up temp files on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve does not pass -blur and -sobel when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve does not pass -face when protectFaces is false or absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve does not pass width/height args when not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve falls back to default caire when CAIRE_PATH is not set and caire is in PATH", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve handles zero dimensions from metadata gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve includes megapixels in the too-large error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve passes blurRadius and sobelThreshold options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve passes only height when width is not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve passes only width when height is not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve passes protectFaces option as -face flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve passes width and height args to caire", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve pre-resizes large image for square mode with small target", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve pre-resizes when height reduction exceeds 75%", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve pre-resizes when width reduction exceeds 75%", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve propagates readFile error when reading caire output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve propagates sharp jpeg conversion error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve propagates sharp metadata error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve propagates writeFile error when writing input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve returns SeamCarveResult with output dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve scales timeout based on megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve square mode uses shortest dimension for both width and height", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve throws when caire binary is not found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve throws when image exceeds 25 MP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve timeout is always an integer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve uses CAIRE_PATH env var when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve uses default width and height when no options are specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve uses square mode with shortest side", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve uses unique UUID in temp file names to prevent collisions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/seam-carving.test.ts > seamCarve writes JPEG input and reads PNG output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE does NOT match data: CSS url()", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE matches @import with bare URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE matches @import with double-quoted URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE matches @import with single-quoted URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE matches double-slash CSS url()", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_CSS_URL_RE matches single-slash CSS url()", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE does NOT match data: URIs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE does NOT match relative paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches double-slash http img", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches double-slash https img", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches formaction attribute", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches poster attribute", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches single-slash http img (pandoc rewrite)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches single-slash https img", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/ssrf-prescan-regex.test.ts > SSRF pre-scan regexes (doc_html_pdf.py) _REMOTE_REF_RE matches srcset attribute", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OCR dynamic timeout uses megapixel-based timeout for large images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through blurFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through detectFaceLandmarks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through detectFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through enhanceFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through inpaint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through noiseRemoval", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through removeRedEye", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > OOM propagation through all tools propagates OOM through restorePhoto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > alternate output_path from Python noiseRemoval reads from alternate output_path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > alternate output_path from Python removeRedEye reads from alternate output_path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > alternate output_path from Python restorePhoto reads from alternate output_path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > alternate output_path from Python upscale reads from alternate output_path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > blurFaces calls runPythonWithProgress with detect_faces.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > blurFaces passes blur options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > blurFaces returns BlurFacesResult with face regions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > blurFaces returns empty faces array when none detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > blurFaces throws when detection fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > colorize calls runPythonWithProgress with colorize.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > colorize passes intensity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > colorize reads from alternate output_path when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > colorize returns ColorizeResult with buffer and metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > colorize throws when colorization fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result blurFaces surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result detectFaceLandmarks surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result noiseRemoval surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result removeBackground surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result removeRedEye surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result restorePhoto surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > custom error messages from Python result upscale surfaces Python error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields blurFaces defaults faces to empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields colorize defaults method to unknown", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields detectFaceLandmarks defaults imageWidth and imageHeight to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields enhanceFaces defaults faces to empty array and model to unknown", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields noiseRemoval defaults format and tier from options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > default values for optional response fields removeRedEye defaults format to png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks calls runPythonWithProgress with face_landmarks.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks cleans up temp file even on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks cleans up temp file in finally block", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks converts input buffer to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks returns FaceLandmarksResult with all landmark points", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaceLandmarks returns null landmarks when no face detected", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaces calls runPythonWithProgress with detectOnly option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaces cleans up temp input file after failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaces cleans up temp input file after success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > detectFaces returns DetectFacesResult without buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > enhanceFaces calls runPythonWithProgress with enhance_faces.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > enhanceFaces defaults model to unknown when not provided by Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > enhanceFaces passes enhancement options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > enhanceFaces returns EnhanceFacesResult with model info", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > enhanceFaces throws when enhancement fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates OOM errors through tool functions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates bridge rejection through tool functions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates segfault through detectFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through blurFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through detectFaceLandmarks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through enhanceFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through inpaint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through noiseRemoval", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through removeBackground", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through removeRedEye", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through restorePhoto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > error propagation from bridge propagates timeout through upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > extractText (OCR) calls runPythonWithProgress with ocr.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > extractText (OCR) passes quality and language options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > extractText (OCR) returns OcrResult with text and engine", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > extractText (OCR) throws when OCR fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > extractText (OCR) uses fallback error message when no error string provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent blurFaces uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent colorize uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent detectFaceLandmarks uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent detectFaces uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent enhanceFaces uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent noiseRemoval uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent removeBackground uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent removeRedEye uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent restorePhoto uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > fallback error messages when error string is absent upscale uses fallback message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > inpaint calls runPythonWithProgress with inpaint.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > inpaint returns the output buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > inpaint throws when inpainting fails", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > inpaint uses fallback error message when no error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > inpaint writes both input and mask files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > noiseRemoval calls runPythonWithProgress with noise_removal.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > noiseRemoval defaults tier from options when Python omits it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > noiseRemoval passes strength and tier options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > noiseRemoval returns NoiseRemovalResult with all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > noiseRemoval throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding blurFaces forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding colorize forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding detectFaceLandmarks forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding detectFaces forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding enhanceFaces forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding inpaint forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding noiseRemoval forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding removeRedEye forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding restorePhoto forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > onProgress forwarding upscale forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization blurFaces passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization detectFaceLandmarks passes fixed unused and empty options args", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization detectFaces merges user options with detectOnly flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization noiseRemoval passes all option fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization removeBackground passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization removeRedEye passes format and quality options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization restorePhoto passes all option fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization upscale passes all option fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > option serialization upscale passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through blurFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through detectFaceLandmarks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through detectFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through enhanceFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through extractText", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through inpaint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through noiseRemoval", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through removeBackground", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through removeRedEye", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through restorePhoto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > parseStdoutJson throws in tool pipeline propagates parse error through upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run blurFaces propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run colorize propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run enhanceFaces propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run inpaint propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run noiseRemoval propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run removeRedEye propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run restorePhoto propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > readFile errors after successful Python run upscale propagates readFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground calls runPythonWithProgress with remove_bg.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground cleans up temp files on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground cleans up temp files on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground dynamic timeout uses megapixel-based timeout for large images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground passes onProgress callback to runPythonWithProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground passes options as JSON string argument", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground returns the output buffer on success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground throws when Python returns success: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeBackground uses higher timeout for birefnet models", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeRedEye calls runPythonWithProgress with red_eye_removal.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeRedEye defaults facesDetected and eyesCorrected to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeRedEye passes sensitivity and strength options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeRedEye returns RedEyeRemovalResult with correction counts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > removeRedEye throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > restorePhoto calls runPythonWithProgress with restore.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > restorePhoto defaults optional fields when Python omits them", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > restorePhoto passes restoration options including scratch and colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > restorePhoto returns RestorePhotoResult with all metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > restorePhoto throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through blurFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through colorize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through detectFaceLandmarks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through enhanceFaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through inpaint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through noiseRemoval", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through removeBackground", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through removeRedEye", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through restorePhoto", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > segfault propagation through all tools propagates segfault through upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > temp file cleanup on bridge rejection detectFaceLandmarks cleans up temp file when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > temp file cleanup on bridge rejection detectFaces cleans up temp file when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > temp file cleanup on bridge rejection removeBackground cleans up when bridge rejects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale calls runPythonWithProgress with upscale.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale defaults method and format when not provided by Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale passes scale and model options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale reads from output_path when Python provides alternate path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale returns UpscaleResult with dimensions and method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > upscale throws when Python returns success: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run blurFaces propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run colorize propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run detectFaceLandmarks propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run detectFaces propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run enhanceFaces propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run inpaint propagates writeFile error on input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run noiseRemoval propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run removeRedEye propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run restorePhoto propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/tools.test.ts > writeFile errors before Python run upscale propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio defensive parsing defaults language to en when missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio defensive parsing defaults text to empty string when missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio defensive parsing returns empty segments when segments field is missing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio defensive parsing returns empty segments when segments is not an array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio defensive parsing returns empty segments when segments is null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio error handling propagates OOM errors from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio error handling throws when Python returns an error field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio request serialization always includes task: transcribe", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio request serialization calls transcribe.py with input path and options JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio request serialization serializes a specific language", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio request serialization uses 30 minute timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio response parsing returns detected language", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio response parsing returns language, text, and segments", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio segment key mapping defaults missing start/end to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio segment key mapping defaults missing text to empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio segment key mapping maps python start/end to startS/endS", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/transcription.test.ts > transcribeAudio segment key mapping trims segment text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale edge cases passes empty options as empty JSON object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale edge cases propagates readFile error after successful Python run", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale edge cases propagates segfault from bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale edge cases propagates writeFile error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale error handling propagates OOM errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale error handling propagates bridge timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale error handling propagates parseStdoutJson errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale error handling throws fallback error when success: false without error string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale error handling throws with custom error from Python", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale onProgress forwarding omits onProgress when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale onProgress forwarding passes onProgress to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization calls upscale.py with correct file paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization converts input to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes all options together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes denoise option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes faceEnhance option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes format and quality options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes model option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale request serialization serializes scale option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing defaults format to 'png' when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing defaults method to 'unknown' when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing reads from alternate output_path when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing reads from default output path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing returns UpscaleResult with all fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale response parsing returns correct dimensions for 4x upscale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale sharp conversion errors propagates sharp toBuffer error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation defaults scale to 2 when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation handles zero dimensions from metadata gracefully", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation passes a timeout to runPythonWithProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation provides generous timeout for CPU upscale at high scale", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation scales timeout with image megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation scales timeout with scale factor squared", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation uses minimum timeout of 600s for small images", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/ai/upscaling.test.ts > upscale timeout calculation uses shorter timeout when GPU is available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > consent lifecycle simulations fresh -> accept immediately -> never show again", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > consent lifecycle simulations fresh -> decline immediately -> never show again", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > consent lifecycle simulations fresh -> maybe later -> remind time NOT yet passed -> stay hidden", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > consent lifecycle simulations fresh -> maybe later -> remind time passes -> show again -> accept", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > isConsentEnabled edge cases returns false when analyticsEnabled is false (explicitly declined)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > isConsentEnabled edge cases returns false when analyticsEnabled is null (never decided)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > isConsentEnabled edge cases returns false when server disabled even if user opted in", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > shouldShowConsent edge cases returns false when remindAt is 1ms in the future", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > shouldShowConsent edge cases returns false when server is disabled regardless of remindAt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > shouldShowConsent edge cases returns true after 'Maybe later' and 7 days have passed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > shouldShowConsent edge cases returns true when remindAt is exactly equal to Date.now()", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent-extended.test.ts > shouldShowConsent edge cases returns true when remindAt is set but consentShownAt is null (defensive)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > isConsentEnabled returns false when server disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > isConsentEnabled returns false when user has not consented", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > isConsentEnabled returns true when user opted in and server enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns false when remind-at is in the future", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns false when server has analytics disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns false when user already opted in", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns false when user explicitly declined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns true for a fresh user who has never been asked", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-consent.test.ts > shouldShowConsent returns true when remind-at has passed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS AI_BUNDLE_ACTION has the correct snake_case value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS PIPELINE_EXECUTED has the correct snake_case value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS SEARCH has the correct snake_case value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS TOOL_USED has the correct snake_case value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS all event values are strings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS all values are unique (no duplicate event names)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS all values follow snake_case convention", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS contains the expected keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS has exactly 4 event keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-events.test.ts > ANALYTICS_EVENTS is frozen (as const prevents mutation)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > AnalyticsConfig type accepts a config with analytics disabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > AnalyticsConfig type accepts a fully populated config object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > AnalyticsConfig type accepts fractional sample rates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > AnalyticsConfig type has exactly the expected keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type accepts all-null state (fresh user)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type accepts declined state (analyticsEnabled = false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type accepts deferred state (maybe later with remindAt set)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type accepts mixed state with analyticsEnabled true and remindAt set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type accepts opted-in state (analyticsEnabled = true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/analytics-types.test.ts > ConsentState type has exactly the expected keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery ENOENT error permanently disables dispatcher", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery applies exponential backoff between crash restarts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery increments crash count on non-zero close", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery marks dispatcher as permanently failed after max consecutive crashes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery rejects all pending requests on dispatcher error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery rejects pending requests when dispatcher closes unexpectedly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - crash recovery retries with per-request mode after dispatcher crash during request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - getDispatcherStatus reports not running initially", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - getDispatcherStatus reports running after init", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - initDispatcher is idempotent when already ready", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - initDispatcher returns ready:false on timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - initDispatcher returns ready:false when dispatcher failed permanently", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - initDispatcher spawns python process with dispatcher.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - isGpuAvailable returns false when dispatcher has not started", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - isGpuAvailable returns false when dispatcher reports no GPU", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - isGpuAvailable returns true when dispatcher reports GPU", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - parseStdoutJson extracts JSON object from the end of stdout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - parseStdoutJson handles nested JSON objects", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - parseStdoutJson handles stdout that is only JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - parseStdoutJson throws on empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - parseStdoutJson throws when no JSON object is present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - progress event parsing collects non-JSON stderr as error context for failed requests", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - progress event parsing ignores non-JSON stderr lines (logs them, does not crash)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - progress event parsing readiness signal sets GPU status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - progress event parsing routes JSON progress events from stderr to onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) clears timeout on successful response", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) extracts error from JSON stdout on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) handles concurrent requests matched by id", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) rejects on non-zero exit code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) rejects with timeout error and kills dispatcher", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) resolves with stdout and stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) returns OOM message for exit code 137", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) returns segfault message for exit code 139", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) routes progress events to the onProgress callback", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) sends JSON-lines request to dispatcher stdin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) strips .py from script name in dispatcher request", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (dispatcher path) uses PROCESSING_TIMEOUT_S env var when set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) falls back to per-request mode when dispatcher is not available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request SIGKILL maps to OOM message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request SIGSEGV maps to segfault message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request fallback tries system python3 on ENOENT", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request mode parses progress events on stderr", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request mode rejects on non-zero exit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - runPythonWithProgress (per-request fallback) per-request mode rejects on timeout", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - shutdownDispatcher is safe to call when no dispatcher is running", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - shutdownDispatcher kills the dispatcher process", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - shutdownDispatcher marks status as not running after shutdown", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-bridge.test.ts > AI Bridge - stdout buffering (partial JSON lines) handles response split across multiple chunks", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > blurFaces calls runPythonWithProgress with detect_faces.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > blurFaces defaults faces to empty array when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > blurFaces passes blur options in args", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > blurFaces returns buffer, facesDetected, and faces array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > blurFaces throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize calls runPythonWithProgress with colorize.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize defaults method to 'unknown' when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize forwards onProgress callback", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize passes options as JSON in args", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize returns structured result with buffer, dimensions, and method", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > colorize uses output_path from result when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > cross-cutting tool patterns all Python tools accept default empty options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > cross-cutting tool patterns all Python tools call parseStdoutJson on the result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > cross-cutting tool patterns all Python tools convert input to PNG via sharp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > cross-cutting tool patterns all Python tools propagate runPythonWithProgress errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks calls face_landmarks.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks cleans up temp file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks converts input buffer to PNG before writing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks defaults dimensions to 0 when absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks passes 'unused' as output path and empty JSON options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks returns landmarks result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks returns null landmarks when no face found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaceLandmarks throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces cleans up temp file even on error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces cleans up temp input file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces merges sensitivity option", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces passes 'unused' as outputPath arg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces passes detectOnly: true in options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > detectFaces returns facesDetected and faces without a buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces calls enhance_faces.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces defaults model to 'unknown'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces passes all options through", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces returns result with buffer, facesDetected, faces, and model", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > enhanceFaces throws on failure with specific error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) calculates timeout based on megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) calls ocr.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) passes options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) resizes image to max 2048px", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) returns text and engine", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > extractText (OCR) throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint calls inpaint.py with input, mask, and output paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint converts both input and mask to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint forwards onProgress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint returns the output buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > inpaint writes both input and mask files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval calculates timeout based on megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval calls noise_removal.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval defaults format and tier", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval passes options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval prefers tier from result over options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval returns structured result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > noiseRemoval uses output_path from result when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground calculates timeout based on megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground calls runPythonWithProgress with remove_bg.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground cleans up temp files even on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground cleans up temp files in finally block", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground does not retry OOM if already using u2net", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground downscales large images and upscales mask back", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground passes onProgress callback through to bridge", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground passes options as JSON in args", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground provides fallback error message when error field is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground retries with u2net fallback on OOM error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground returns the output file buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground throws when Python reports failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground uses longer base timeout for birefnet model", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeBackground writes input as PNG before processing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye calls red_eye_removal.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye defaults optional fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye passes options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye returns structured result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > removeRedEye uses output_path from result when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto calls restore.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto defaults optional result fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto passes options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto returns full restoration result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > restorePhoto uses output_path from result when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve calculates timeout based on megapixels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve cleans up temp files even on error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve cleans up temp files in finally block", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve passes -face flag when protectFaces is true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve passes -preview=false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve passes -square flag with shortest dimension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve passes -width and -height flags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve passes blur and sobel options", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve pre-resizes when reduction exceeds 75% instead of rejecting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve rejects images larger than 25 MP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve returns buffer with dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve uses original dimensions when width/height not specified", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > seamCarve writes input as JPEG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale calculates higher timeout for CPU mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale calculates timeout with GPU rate when GPU available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale calls upscale.py", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale defaults method and format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale defaults scale to 2 for timeout calculation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale passes options as JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale provides fallback error message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale returns structured result", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale throws on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ai-tools.test.ts > upscale uses output_path from result when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions checks auth_anomaly condition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions checks backup_never_run condition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions checks backup_stale condition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions checks disk_space_low condition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions checks license_expiring condition", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator conditions only delivers to enabled webhooks of type alerts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator module exports evaluateAlerts is the only named export", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator module exports exports evaluateAlerts as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds auth anomaly alert reports windowMinutes of 5", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds auth anomaly threshold is 20 failures", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds auth anomaly window is 5 minutes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds backup staleness alert reports threshold of 48", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds backup staleness threshold is 48 hours", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds disk space alert reports threshold of 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds disk space threshold is 1 GB", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/alert-evaluator.test.ts > alert-evaluator thresholds license expiry warning threshold is 30 days", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_ENABLED defaults to false (no-phone-home)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_ENABLED rejects non-enum values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_ENABLED='false' transforms to boolean false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_ENABLED='true' transforms to boolean true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE < 0 fails validation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE > 1 fails validation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE defaults to 1.0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE=0 is valid (no sampling)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE=0.5 parses correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE=1 is valid (full sampling)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation ANALYTICS_SAMPLE_RATE=2 fails validation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation POSTHOG_API_KEY can be overridden with a custom value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation POSTHOG_API_KEY can be set to empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation POSTHOG_API_KEY defaults to empty string (no baked key)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation POSTHOG_HOST can be overridden", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation POSTHOG_HOST defaults to the PostHog US endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation SENTRY_DSN can be overridden with a custom value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation SENTRY_DSN can be set to empty string to disable", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-env.test.ts > analytics env var validation SENTRY_DSN defaults to empty string (no baked DSN)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_EXT_PATTERN does NOT match non-image extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_EXT_PATTERN matches all common image extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_EXT_PATTERN matches extensions in the middle of paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_EXT_PATTERN replaces extensions with [REDACTED]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_PATH_PATTERN does NOT match safe paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_PATH_PATTERN matches workspace and data paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant PII scrubbing regex - FILE_PATH_PATTERN replaces paths with [REDACTED]", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant captureException consent gating (code review) captureException checks isRequestOptedIn before sending to Sentry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant captureException consent gating (code review) error handler passes request to captureException", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant initAnalytics gating (code review) initAnalytics bails when ANALYTICS_ENABLED is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant initAnalytics gating (code review) shutdownAnalytics nulls both clients", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant isUserOptedIn logic (code review) checks ANALYTICS_ENABLED before user DB lookup", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant isUserOptedIn logic (code review) returns false for anonymous user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant shouldSample logic rate 0.0 always rejects (Math.random() < 0.0 is always false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant shouldSample logic rate 1.0 always accepts (checked before Math.random call)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant shouldSample logic rate between 0 and 1 produces a mix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant trackEvent gating (code review) trackEvent checks posthogClient, consent, and sampling", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-no-leak.test.ts > Server-side Analytics No-Leak Invariant trackEvent gating (code review) trackEvent wraps capture in try-catch (never throws)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent logic enabled=false sets analyticsEnabled to false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent logic enabled=true sets analyticsEnabled to true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent logic missing enabled defaults to false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent logic remindLater branch sets analyticsEnabled to null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent logic remindLater sets remind-at 7 days in the future", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema accepts both enabled and remindLater together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema accepts empty object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema accepts enabled: false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema accepts enabled: true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema accepts remindLater: true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema rejects enabled as number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema rejects enabled as string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema rejects remindLater as string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics-route.test.ts > analytics consent schema strips unknown properties", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > captureException captures when sentry is initialized and no request provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > captureException captures when sentry is initialized and request user is opted in", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > captureException does nothing when request user is not opted in", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > captureException does nothing when sentryModule is null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > initAnalytics does nothing when ANALYTICS_ENABLED is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > initAnalytics does nothing when ANALYTICS_ENABLED is true but POSTHOG_API_KEY is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > initAnalytics initializes posthog when enabled with API key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > initAnalytics initializes sentry when SENTRY_DSN is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > shutdownAnalytics closes sentry when initialized", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > shutdownAnalytics resolves without error when no clients initialized", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > shutdownAnalytics shuts down posthog when initialized", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent allows anonymous users with x-analytics-consent header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent captures event when all conditions are met", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent does not throw when capture throws internally", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent does nothing when ANALYTICS_ENABLED is false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent does nothing when ANALYTICS_SAMPLE_RATE is 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent does nothing when posthogClient is null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent does nothing when request user is not opted in", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent rejects anonymous users without consent header", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/analytics.test.ts > trackEvent uses instance ID from DB when available", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > anonymous user when AUTH_ENABLED=false anonymous admin can pass requirePermission('settings:write')", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > anonymous user when AUTH_ENABLED=false anonymous admin has all admin permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > anonymous user when AUTH_ENABLED=false anonymous admin has settings:write permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > anonymous user when AUTH_ENABLED=false assigns admin role to anonymous user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > session endpoint when AUTH_ENABLED=false GET /api/auth/session returns admin role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/anonymous-admin.test.ts > session endpoint when AUTH_ENABLED=false GET /api/auth/session returns null expiresAt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic API key format raw key has correct length (si_ + 96 hex chars = 99)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic API key format raw key starts with si_ prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts all fields together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts empty object (all fields optional)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts empty permissions array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts name exactly 100 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts permissions array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts valid expiresAt date string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation accepts valid name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic create API key validation rejects name longer than 100 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic default name behavior uses default name when name is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic default name behavior uses default name when name is whitespace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic default name behavior uses provided name when not empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic expiresAt validation accepts date in the future", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic expiresAt validation rejects date in the past", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic expiresAt validation rejects empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic expiresAt validation rejects invalid date string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic key prefix computation always starts with si_ prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic key prefix computation handles short keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic key prefix computation returns first 10 characters of the key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic permission scoping fails when requesting permissions user does not have", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic permission scoping fails when user has no permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic permission scoping passes when all requested permissions are in user permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic permission scoping passes with empty requested permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic permission scoping returns all invalid permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic response serialization formats key list entry correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/api-keys-route.test.ts > API keys route logic response serialization handles null permissions and dates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/aspect-tools.test.ts > canvasFor already matching ratio returns same-ish dims (both even)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/aspect-tools.test.ts > canvasFor odd-dim source gets even output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/aspect-tools.test.ts > canvasFor small source into 4:3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/aspect-tools.test.ts > canvasFor tall source into wide ratio (portrait into 16:9)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/aspect-tools.test.ts > canvasFor wide source into tall ratio (landscape into 9:16)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audio-output.test.ts > audioOutputFor falls back to mp3 for decode-only formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audio-output.test.ts > audioOutputFor maps .aac input to .m4a output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audio-output.test.ts > audioOutputFor normalises uppercase extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine COMPLETE is terminal (no outgoing transition)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine covers all non-terminal states", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine defines exactly 5 states", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine follows the exact sequence PENDING->EXPORTING->EXPORTED->PURGING->COMPLETE", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine has exactly 4 transitions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine has no cycles in the transition graph", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine state transitions are valid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-archival.test.ts > audit archival state machine visits each state exactly once in the transition chain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType API_KEY_CREATED -> api_key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType API_KEY_DELETED -> api_key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType FILE_DELETED -> file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType FILE_UPLOADED -> file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType LOGIN_FAILED -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType LOGIN_SUCCESS -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType LOGOUT -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType PASSWORD_CHANGED -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType PASSWORD_RESET -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType ROLE_CREATED -> role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType ROLE_DELETED -> role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType ROLE_UPDATED -> role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType SETTINGS_UPDATED -> setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType USER_CREATED -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType USER_DELETED -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers deriveTargetType USER_UPDATED -> user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorId falls back to adminId when userId is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorId prefers userId over adminId when both are present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorId returns null for an empty details object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorId returns null when neither userId nor adminId is present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorId returns userId when present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorUsername falls back to newUsername when username is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorUsername prefers username over newUsername when both are present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorUsername returns \"system\" for an empty details object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorUsername returns \"system\" when neither username nor newUsername is present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-helpers.test.ts > audit helpers extractActorUsername returns username when present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes arrays", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes deeply nested objects (3+ levels)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes empty object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes mixed types", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes with null values included", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity canonicalizes with sorted keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity computes and verifies HMAC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity computes deterministic HMAC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity detects tampering", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity key order does not matter with 5+ keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity key ordering does not affect HMAC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity produces different HMACs for different keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity serializes undefined values as null in canonicalization", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity verifyHmac returns false for completely wrong HMAC", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity verifyHmac returns false for empty HMAC string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-integrity.test.ts > audit integrity verifyHmac returns false for malformed HMAC string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog extracts actorId from userId field first", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog extracts username from details", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog falls back to adminId when userId is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog handles empty details object", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog includes all detail fields in the log output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog inserts a record into the database", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog logs different event types correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog logs to the structured logger with audit flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog serializes details as JSON for DB storage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-lib.test.ts > auditLog survives DB insert failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic entry serialization handles null details", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic entry serialization parses JSON details string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic entry serialization serializes a complete entry", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing adds action filter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing adds from date filter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing adds to date filter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing handles all filters together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing ignores invalid from date", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing ignores invalid to date", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing keeps valid filters even when one is invalid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic filter parsing returns empty conditions for no filters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing calculates correct offset for page 2 with limit 25", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing calculates correct offset for page 5 with limit 10", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing clamps limit to maximum 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing clamps limit to minimum 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing clamps negative page to 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing clamps page to minimum 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing defaults to page 1, limit 50", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing handles non-numeric limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing handles non-numeric page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-log-route.test.ts > audit log route logic pagination parsing parses valid page and limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput does not truncate a string at exactly 200 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput preserves safe characters unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput returns (empty) for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput returns (empty) when only special characters remain", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput strips all dangerous characters in one pass", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput strips ampersand", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput strips angle brackets", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput strips double quotes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput strips single quotes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput truncates a 201-character string to 200", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/audit-system.test.ts > sanitizeAuditInput truncates long strings after stripping characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > computeKeyPrefix is deterministic (same input gives same output)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > computeKeyPrefix produces different prefixes for different inputs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > computeKeyPrefix returns a 16-character hex string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > computeKeyPrefix works with various key formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > hashPassword generates different salts on each call", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > hashPassword produces a 128-character hex hash (64 bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > hashPassword produces a 64-character hex salt (32 bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > hashPassword produces a hash that can be verified back", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > hashPassword returns a string in salt:hash format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword handles unicode passwords", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword returns false for a malformed stored string (no colon)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword returns false for a truncated hash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword returns false for a wrong password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword returns false for an empty stored string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-functions.test.ts > verifyPassword returns true for the correct password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > computeKeyPrefix (additional coverage) prefix for binary-like input still works", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > computeKeyPrefix (additional coverage) returns consistent 16-char prefix for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > getAuthUser returns null when request has no user property", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > getAuthUser returns null when user is undefined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > getAuthUser returns the user when request has user property", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > hashPassword (additional coverage) different passwords produce different hashes even with same salt length", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > hashPassword (additional coverage) handles empty string password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > hashPassword (additional coverage) handles very long passwords", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats admin routes as private", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats auth routes as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats docs as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats download routes as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats health endpoint as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats job progress as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats meme templates as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats non-API routes as public", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > isPublicRoute treats tool endpoints as private", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAdmin returns null and sends 401 when not authenticated at all", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAdmin returns null and sends 403 when role is not admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAdmin returns null for editor role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAdmin returns the user when role is admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAuth returns null and sends 401 when not authenticated", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > requireAuth returns the user when authenticated", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength accepts password with special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength accepts valid password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength rejects empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength rejects password shorter than 8 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength rejects password without lowercase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength rejects password without number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validatePasswordStrength rejects password without uppercase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername accepts exactly 3 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername accepts exactly 50 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername accepts valid usernames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername rejects username longer than 50 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername rejects username shorter than 3 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername rejects username with spaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > validateUsername rejects username with special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > verifyPassword (additional coverage) handles special characters in password", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > verifyPassword (additional coverage) returns false for completely empty input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auth-routes.test.ts > verifyPassword (additional coverage) returns false when stored has colon but empty salt", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient handles orientation 2 (horizontal flip)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient returns original buffer for corrupted/invalid input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient returns original buffer for empty buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient returns original buffer unchanged when no EXIF orientation is present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient returns original buffer unchanged when orientation is 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient rotates image when orientation is 3 (180)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient rotates image when orientation is 6 (90 CW)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient rotates image when orientation is 8 (270 CW)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/auto-orient.test.ts > autoOrient strips orientation tag after rotation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > blurBackground modifies the background corner relative to pure blue", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > blurBackground preserves the subject center pixel", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > blurBackground produces an image of the same dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > compositeOnColor fills transparent corners with the background color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > compositeOnColor preserves the subject pixel in the center", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/background-composite.test.ts > compositeOnColor produces a fully opaque image (no alpha)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch output filename suffix adds tool suffix when filename unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch output filename suffix handles filenames with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch output filename suffix handles filenames without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch output filename suffix preserves filename when tool changed it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch progress status determination status is 'completed' when no files fail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch progress status determination status is 'completed' when some files succeed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch progress status determination status is 'failed' when all files fail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch size enforcement allows any count when limit is 0 (unlimited)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch size enforcement allows files within the limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch size enforcement allows when count equals limit exactly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch size enforcement rejects files exceeding the limit", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > batch size enforcement rejects when count equals limit + 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > file results map (X-File-Results header) builds correct map for unique filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > file results map (X-File-Results header) deduplicates conflicting filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > file results map (X-File-Results header) returns empty map when all files failed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > file results map (X-File-Results header) skips null entries (failed files)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > skip-preprocess logic for metadata tools does not skip preprocess for compress", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > skip-preprocess logic for metadata tools does not skip preprocess for resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > skip-preprocess logic for metadata tools skips preprocess for edit-metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/batch.test.ts > skip-preprocess logic for metadata tools skips preprocess for strip-metadata", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow higher opacity produces more shadow alpha than lower opacity", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow opacity 0 produces no visible shadow (alpha bytes near zero in shadow area)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow opacity 100 produces visible shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow output dimensions match input dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow returns a valid PNG buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > addDropShadow throws when buffer has no readable dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects blurEnabled with blur bgType blurs the original background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects blurEnabled with transparent bgType blurs the original background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects color backgroundType composites on solid color", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects combined shadow + color background works", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects defaults backgroundType to transparent when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects defaults blurIntensity to 50 when not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects gradient backgroundType composites on gradient", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects image backgroundType composites on provided image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects image backgroundType with blurEnabled blurs the background image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects shadowEnabled with opacity adds shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects shadowOpacity 0 does not add shadow", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > applyEffects transparent backgroundType with no effects returns subject approximately unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground clamps intensity above 100 to 100", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground clamps intensity below 0 to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground different intensity values produce different output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground intensity 0 produces minimal blur (sigma ~1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground intensity 100 produces heavy blur (sigma 50)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground output dimensions match subject dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > blurBackground returns a valid PNG buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnColor accepts hex color without hash prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnColor composites subject onto solid color background", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnColor output dimensions match subject dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnColor output is a valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnColor throws on invalid buffer with no dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnImage background is resized to cover subject dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnImage composites subject onto background image", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnImage output dimensions match subject dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnImage output is a valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > compositeOnImage throws on invalid subject buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > createGradientBackground creates correct size output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > createGradientBackground default angle is 180 (top to bottom)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > createGradientBackground different angles produce different pixel data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > createGradientBackground different colors produce different output", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bg-effects.test.ts > createGradientBackground output is a valid PNG buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bullmq-context-propagation.test.ts > BullMQ trace context extraction creates root span when _otel is absent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bullmq-context-propagation.test.ts > BullMQ trace context extraction extracts parent context from _otel carrier", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bullmq-context-propagation.test.ts > BullMQ trace context injection injects _otel with traceparent when a span is active", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/bullmq-context-propagation.test.ts > BullMQ trace context injection injects nothing when no SDK is registered", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) computes deleteAfter as retentionHours converted to milliseconds from now", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) falls back to FILE_MAX_AGE_HOURS when team has no retentionHours", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) function is defined as async", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) gates on team_retention_overrides enterprise feature", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) is called fire-and-forget from enqueueToolJob", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) looks up the user's team from the users table", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) reads retentionHours from the teams table", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) returns early when feature is not enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) returns early when user has no team", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > computeDeleteAfter logic (source verification) updates the job row with the computed deleteAfter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports does not export computeDeleteAfter (private function)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports exports closeFlowProducer as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports exports closeQueueEvents as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports exports enqueueToolJob as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports exports getFlowProducer as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/compute-delete-after.test.ts > enqueue module exports exports waitForJob as a function", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp allows OpenStreetMap tiles in img-src for app pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes PostHog assets (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes PostHog assets (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes PostHog ingest (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes PostHog ingest (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes Sentry ingest (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains includes Sentry ingest (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains keeps self (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows analytics domains keeps self (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows data: URIs for client-side blob operations (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp connect-src allows data: URIs for client-side blob operations (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp font-src allows Scalar docs fonts app pages do not include Scalar fonts origin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp font-src allows Scalar docs fonts docs pages include Scalar fonts origin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp includes frame-ancestors none for app pages but not docs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp script-src allows PostHog config loader app pages do not allow unsafe-inline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp script-src allows PostHog config loader docs pages allow unsafe-inline for Scalar", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp script-src allows PostHog config loader includes PostHog assets origin (isDocs=false)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/csp.test.ts > buildCsp script-src allows PostHog config loader includes PostHog assets origin (isDocs=true)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt groups endpoints by tag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt handles spec with no description", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt includes parameters section", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt includes request body section", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt includes responses section", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt includes the description", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt includes title with version", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt marks auth-required endpoints", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt marks public endpoints", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsFullTxt puts untagged endpoints under 'Other'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt handles spec with empty paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt handles spec with no tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt includes authentication section", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt includes the Docs section", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt lists API sections with endpoint counts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic generateLlmsTxt starts with the API title", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic isPublic returns false for non-empty security array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic isPublic returns false for null-like security", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic isPublic returns false for undefined security", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/docs-route.test.ts > docs route logic isPublic returns true for empty security array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions exact counts for built-in roles admin has exactly 17 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions exact counts for built-in roles editor has exactly 7 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions exact counts for built-in roles user has exactly 5 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names case-sensitive: ADMIN (uppercase) returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names case-sensitive: Admin (capitalized) returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names case-sensitive: User (capitalized) returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names empty string returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names null coerced to string returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names undefined coerced to string returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions invalid and edge-case role names whitespace-padded role name returns empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions role permission subsets editor permissions are a subset of admin permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions role permission subsets user permissions are a subset of admin permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > getPermissions role permission subsets user permissions are a subset of editor permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key cannot grant permissions the role lacks editor with apiKeyPermissions including settings:write still denied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key cannot grant permissions the role lacks unknown role gains nothing even with full apiKeyPermissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key cannot grant permissions the role lacks user with apiKeyPermissions including users:manage still denied", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key scoping restricts permissions admin scoped to tools:use can only use tools:use", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key scoping restricts permissions editor scoped to files:own and tools:use only has those", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission API key scoping restricts permissions user scoped to settings:read only has that", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission empty apiKeyPermissions blocks everything admin with empty array has no effective permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission empty apiKeyPermissions blocks everything user with empty array has no effective permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission undefined apiKeyPermissions inherits all role permissions admin without apiKeyPermissions gets full admin access", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission undefined apiKeyPermissions inherits all role permissions user without apiKeyPermissions gets full user access", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) admin can use any permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) editor can use all editor permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) editor cannot use admin-only permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) unknown role has no effective permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) user can use all user permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasEffectivePermission without API key scoping (apiKeyPermissions undefined) user cannot use editor or admin permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasPermission edge cases returns false for a non-existent permission string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasPermission edge cases returns false for an empty string permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasPermission edge cases returns false for both unknown role and unknown permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/effective-permissions.test.ts > hasPermission edge cases returns false for unknown role even with valid permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption decrypt passes through non-encrypted values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption decrypt returns null for $ENC$ with corrupted ciphertext", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption decrypt returns null for $ENC$ with truncated data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption decrypt returns null for wrong key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption decrypt tries previous key on failure", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption deriveAuditHmacKey is deterministic", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption deriveAuditHmacKey produces a 32-byte buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption deriveAuditHmacKey produces different keys for different master keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption encrypts and decrypts a value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption encrypts and decrypts a very long input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption encrypts and decrypts an empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption encrypts and decrypts special characters (newlines, tabs, null bytes)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption encrypts and decrypts unicode and emoji characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption isEncrypted returns false for plaintext", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption isEncrypted returns true for $ENC$ prefix with invalid base64", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption produces different ciphertext for same plaintext (random IV)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/encryption.test.ts > encryption two encryptions of the same plaintext decrypt to the same value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags enterprise plan includes everything", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags has exactly 19 features total", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags includes all Phase 1 flags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags includes all Phase 2-4 flags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags includes distributed_tracing in enterprise plan only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags team plan does NOT include compliance features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-flags.test.ts > enterprise feature flags team plan includes operational features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-mock.test.ts > enterprise mock mocks feature enabled", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-mock.test.ts > enterprise mock mocks no enterprise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-mock.test.ts > enterprise mock returns license payload with correct shape", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/enterprise-mock.test.ts > enterprise mock returns null license when no enterprise", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > formatZodErrors formats single issue with path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > formatZodErrors formats single issue without path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > formatZodErrors joins multiple issues with semicolons", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > formatZodErrors joins nested paths with dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > formatZodErrors returns empty string for empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths handles pipeline step error wrapping", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths leaves safe messages untouched", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths leaves timeout messages untouched", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /app container paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /data/ai/venv Python traceback paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /home paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /opt paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /tmp scratch paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips /workspace paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/errors.test.ts > stripInternalPaths strips multiple paths in one message", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs adds keywords in add mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs allows field names with colons and hyphens", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs allows field names with underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs applies dateShift without explicit sign as positive", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs applies negative dateShift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs applies positive dateShift", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs artist takes precedence over author", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs clearGps takes priority over GPS coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs clears GPS data with clearGps flag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs clears existing keywords before setting in set mode", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs does not add keywords args when keywords array is empty", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs does not set GPS when only latitude is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs does not set GPS when only longitude is provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs does nothing for empty fieldsToRemove array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs filters out blank and whitespace-only keywords", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs handles complex settings with multiple fields combined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs handles negative GPS altitude (below sea level)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs handles zero GPS altitude", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs handles zero GPS coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs imageDescription takes precedence over title for ImageDescription tag", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs includes GPS altitude when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs rejects unsafe field names from removal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs removes safe field names", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs returns empty array for empty settings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets IPTC city", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets IPTC country", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets IPTC headline", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets IPTC state", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets IPTC title (ObjectName)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets all dates to a specific value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets copyright field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets dateTime as ModifyDate", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets dateTimeOriginal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets negative GPS latitude", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets positive GPS coordinates", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs sets software field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs trims keyword whitespace", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs uses artist field when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs uses author as fallback when artist is not provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs uses imageDescription when provided", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > buildTagArgs uses title as fallback for imageDescription", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > inspectMetadata returns correct filename and fileSize for JPEG with EXIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > inspectMetadata returns keywords array (may be empty)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > inspectMetadata returns non-null exif object for JPEG with EXIF data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > inspectMetadata returns null for GPS when no GPS data present", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > inspectMetadata works with PNG which has no EXIF -- returns null for exif, iptc, xmp, gps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > writeMetadata empty tags array returns buffer unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > writeMetadata returns a valid image buffer that Sharp can read", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > writeMetadata writing -Artist=TestArtist then inspecting shows the artist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/exiftool.test.ts > writeMetadata writing multiple tags works", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > external auth resolver module exports findUniqueUsername", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > external auth resolver module exports resolveExternalUser", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > external auth resolver module exports sanitizeUsername", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > findUniqueUsername appends _2 when the base username is taken", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > findUniqueUsername appends _3 when both base and _2 are taken", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > findUniqueUsername resolves collisions through the loop until a free slot is found", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > findUniqueUsername returns the base username when it is not taken", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername allows input that starts with numbers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername collapses multiple underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername does not truncate input that is exactly 46 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername handles email addresses as input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername handles empty-after-strip edge case", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername handles numeric-only input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername handles pure whitespace input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername handles single character input by padding to 3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername lowercases input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername pads short usernames to 3 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername passes through admin as a valid username", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername preserves consecutive dots and hyphens", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername preserves dots and hyphens", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername replaces non-alphanumeric characters with underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername replaces unicode characters with underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername strips leading @ from input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername strips leading and trailing separators", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername truncates input that is exactly 47 characters to 46", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/external-auth-resolver.test.ts > sanitizeUsername truncates to 46 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize handles deeply nested directories", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize recurses into subdirectories", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize returns 0 for empty directory", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize returns 0 for non-existent directory", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize returns correct size for a single file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > getDirSize sums sizes of multiple files", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest handles manifest with empty bundles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest handles manifest with models without paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest handles manifest with multiple bundles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest parses valid manifest JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest returns null for invalid JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > readManifest returns null for non-existent file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > shared model path deduplication handles bundle with no models property", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/features-route.test.ts > shared model path deduplication identifies models shared between bundles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl decodes percent-encoded characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl extracts filename from URL with query string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl extracts filename from simple URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl handles deeply nested path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl handles filename at exactly 255 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl handles filename with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl returns fallback for URL without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl returns fallback for empty path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl returns fallback for filename over 255 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl returns fallback for invalid URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > filenameFromUrl returns fallback for root URL", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType handles uppercase extensions via toLowerCase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType maps .jpeg to image/jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType maps .jpg to image/jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType maps .png to image/png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType maps .ttf to font/ttf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType maps .webp to image/webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType returns undefined for filename without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType returns undefined for unknown extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getContentType uses the last dot for extension detection", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName adds each unique name to the used set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName appends _1 for first collision", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName appends _2 when _1 is also taken", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName handles filename with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName handles filename without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName handles multiple collisions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > getUniqueName returns name unchanged if not in used set", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns false for filename with dots that are not traversal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns false for safe filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns true for ..", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns true for backslash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns true for embedded ..", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns true for forward slash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/fetch-urls-helpers.test.ts > hasPathTraversal returns true for null byte", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > deleteStoredFile deletes existing file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > deleteStoredFile does not throw for non-existent file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > ensureStorageDir creates directory if not exists", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > ensureStorageDir is idempotent (second call does not throw)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > getStoredFilePath returns correct joined path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile accepts known image extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile creates storage directory on first call", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile lowercases extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile returns different filenames for same input (UUID-based)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile sanitizes dangerous extensions to .bin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile saves buffer and returns UUID-based filename with correct extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > saveFile uses .bin for files with no extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions deleteThumbnail does not throw for non-existent", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions deleteThumbnail removes the file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions getCachedThumbnail reads back saved thumbnail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions getCachedThumbnail returns null for non-existent thumbnail", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions saveThumbnail creates .thumbs subdirectory", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/file-storage.test.ts > thumbnail functions saveThumbnail writes to correct path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename falls back to upload for double dot", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename falls back to upload for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename falls back to upload for four dots (.. removal leaves empty)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename falls back to upload for single dot", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename falls back to upload for triple dots (.. removal leaves .)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles emoji filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles filename with only unknown extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles filenames with dashes and underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles filenames with spaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles no extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles only null bytes falling back to upload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles trailing slash in path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles unicode filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename handles unknown extensions without truncation", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename passes through a simple filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename preserves dotfiles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename recognizes all safe image extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename recognizes safe extensions across all modalities", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename removes .. sequences", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename removes embedded .. sequences in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename removes null bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename strips directory path and returns basename only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename strips relative directory path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates after first safe image extension (photo.png.php)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates after first safe image extension (report.jpg.exe)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates after first safe image extension with multiple unsafe parts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates long filename without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates long unicode filenames correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/filename.test.ts > sanitizeFilename truncates very long filenames over 200 bytes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic extension extraction from filename extracts extension from simple filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic extension extraction from filename handles filename with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic extension extraction from filename handles filename without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic filename encoding for Content-Disposition encodes special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic filename encoding for Content-Disposition encodes unicode characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic filename encoding for Content-Disposition preserves simple filenames", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps HEIC/HEIF formats correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps RAW formats correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps avif to image/avif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps bmp to image/bmp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps gif to image/gif", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps ico to image/x-icon", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps jpeg to image/jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps jpg to image/jpeg", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps json to application/json", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps jxl to image/jxl", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps pdf to application/pdf", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps png to image/png", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps specialty formats correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps svg to image/svg+xml", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps tif to image/tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps tiff to image/tiff", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps webp to image/webp", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType maps zip to application/zip", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType returns application/octet-stream for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic getContentType returns application/octet-stream for unknown extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal allows alphanumeric-only segment", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal allows clean UUID-like segment", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal allows clean filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal allows hyphens and underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal allows single dot in filename (extension)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects Windows-style path traversal (..\\)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects backslash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects double dot traversal", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects double dot with prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects forward slash", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects null byte", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/files-route.test.ts > files route logic isPathTraversal detects relative path traversal (../)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - EPS size limit rejects EPS files over 50MB", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - QOI decoder decoded QOI produces a buffer sharp can process further", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - QOI decoder decodes QOI fixture to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - QOI decoder round-trips PNG -> QOI -> PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification bmp: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification dds: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification dpx: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification exr: output has non-zero dimensions (requires delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification fits: output has non-zero dimensions (requires delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification hdr: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification ico: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification jp2: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification jxl: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification psd: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat - individual decoder verification tga: output has non-zero dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes BMP to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes CUR using ICO decoder to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes DDS to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes DPX to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes EXR to valid PNG (requires EXR delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes FITS to valid PNG (requires FITS delegate)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes HDR to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes ICO to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes JP2 to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes JXL to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes PBM to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes PGM to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes PPM to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes PSD to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat decodes TGA to valid PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for avif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for empty format string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for gif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for png format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for tiff format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for unknown/native formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > decodeToSharpCompat returns buffer unchanged for webp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for avif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for gif format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for jpeg format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for png format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for svg format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for unknown format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns false for webp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for bmp format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for cur format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for dds format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for dpx format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for eps format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for exr format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for fits format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for hdr format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for ico format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for jp2 format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for jxl format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for pbm format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for pgm format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for ppm format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for psd format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for qoi format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for raw format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-decoders.test.ts > needsCliDecode returns true for tga format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeBmp encodes JPEG input to BMP", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeBmp encodes a PNG buffer to BMP format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeBmp produces a BMP with correct dimensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeIco encodes a PNG buffer to ICO format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeIco preserves small images without enlargement", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeIco resizes large images to fit within 256x256", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeJp2 accepts optional quality parameter", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeJp2 encodes a PNG buffer to JP2 format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeJp2 produces valid output at different quality levels", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeQoi encodes JPEG input to QOI", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeQoi encodes a PNG buffer to QOI format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/format-encoders.test.ts > encodeQoi encodes fixture image to QOI", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic cleans up temp files after success", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic decodes sample.heic to a valid PNG buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic decodes sample.heif to a valid PNG buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic preserves image dimensions after decoding", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic rejects an empty buffer", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > decodeHeic rejects invalid/corrupt data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat decodes a HEIC buffer to PNG", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat detects heic brand in ftyp box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat detects mif1 brand in ftyp box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat does not treat a short buffer as HEIF", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat passes through a JPEG buffer unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat passes through a PNG buffer unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/heic-converter.test.ts > ensureSharpCompat passes through a WebP buffer unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist EXEMPT_PATHS includes IdP callback paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist EXEMPT_PATHS includes all expected infrastructure paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist buildBlockList builds a list from IPv4 CIDRs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist buildBlockList builds a list from IPv6 CIDRs", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist buildBlockList builds a list from bare IPv4 addresses", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist buildBlockList returns null for an empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist buildBlockList skips invalid entries without throwing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath does NOT exempt regular API paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath does NOT exempt the root path", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts OIDC callback", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts SAML callback", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts SCIM paths", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts health endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts metrics endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isExemptPath exempts readyz endpoint", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows /0 to match everything", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows /32 single-host CIDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows 127.0.0.1 when loopback is listed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows an IP inside a CIDR range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows an IPv6 address inside a subnet", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed allows an exact single-address match", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed denies an IP outside all ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed handles IPv4-mapped IPv6 addresses (::ffff:x.x.x.x)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isIpAllowed handles multiple CIDR ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr accepts valid IPv4 CIDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr accepts valid IPv6 CIDR", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr accepts valid bare IPv4 address", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr accepts valid bare IPv6 address", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr rejects IPv4 prefix > 32", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr rejects IPv6 prefix > 128", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr rejects invalid strings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/ip-allowlist.test.ts > IP allowlist isValidCidr rejects negative prefix", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > ENTERPRISE_FEATURES contains all expected feature strings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > ENTERPRISE_FEATURES contains exactly 19 features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > ENTERPRISE_FEATURES every entry is a non-empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > ENTERPRISE_FEATURES has no duplicate entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES enterprise plan has all 19 features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES enterprise plan is a superset of team plan", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES enterprise plan references the same array as ENTERPRISE_FEATURES", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES team plan contains the expected features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES team plan does not include compliance-only features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > PLAN_FEATURES team plan has exactly 8 features", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > initEnterprise returns valid:false and license:null when called with an invalid key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > initEnterprise returns valid:false and license:null when called with empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > initEnterprise returns valid:false and license:null when called with undefined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > initEnterprise returns valid:false for a key with wrong signature", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > initEnterprise sets activeLicense to null for invalid keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (direct, no mock) returns false for all features after initEnterprise with invalid key", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (direct, no mock) returns false for all features after initEnterprise with undefined", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (direct, no mock) returns false for all features when initEnterprise was not called", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (via mock) returns correct results when switching from active to no license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (via mock) returns false for features NOT in the active license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (via mock) returns false when no license is active", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > isFeatureEnabled (via mock) returns true for features in the active license", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for input without a dot separator", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for invalid base64url payload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for payload with multiple dots", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for undefined input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for valid JSON payload with wrong signature", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null for valid base64url that is not JSON", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/license-validation.test.ts > validateLicense returns null when dot is at position 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/log-trace-mixin.test.ts > traceMixin returns empty object when no span is active", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/log-trace-mixin.test.ts > traceMixin returns traceId, spanId, traceFlags when span is active", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > autoSizeFontToFit respects maxFontSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > autoSizeFontToFit returns min size for tiny box", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > autoSizeFontToFit returns size within bounds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > autoSizeFontToFit returns smaller size for longer text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > loadFont caches across calls", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > loadFont falls back to anton for unknown fonts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > loadFont loads anton font", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > measureText returns 0 for empty text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > measureText returns positive width for non-empty text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > measureText scales with font size", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg applies allCaps", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg has correct fill/stroke attributes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg has paint-order=\"stroke fill\"", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg renders differently with different fonts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg returns valid SVG with elements", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg skips empty text boxes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > renderMemeTextSvg uses custom fontSize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > wrapText handles multiple spaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > wrapText handles single word exceeding width", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > wrapText returns [\"\"] for empty text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > wrapText returns single line when text fits", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/meme-text-renderer.test.ts > wrapText wraps into multiple lines", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA createTotp generates a TOTP with a valid secret", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA createTotp generates a valid TOTP URI", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA createTotp generates unique secrets across calls", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA createTotp uses a provided secret when given", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA hashRecoveryCodes handles a single code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA hashRecoveryCodes hashes recovery codes into comma-separated SHA-256 hashes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA hashRecoveryCodes produces deterministic hashes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA isMfaRequiredForUser returns false for admins_only policy when role is not admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA isMfaRequiredForUser returns false for optional policy", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA isMfaRequiredForUser returns true for admins_only policy when role is admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA isMfaRequiredForUser returns true for required policy regardless of role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyRecoveryCode consumes a recovery code on use", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyRecoveryCode preserves other codes when one is consumed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyRecoveryCode rejects an invalid recovery code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyRecoveryCode returns empty remaining when last code is used", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyRecoveryCode verifies a valid recovery code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyTotpCode accepts codes within the 1-step window", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyTotpCode rejects a code from a different secret", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyTotpCode rejects an empty code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyTotpCode rejects an incorrect TOTP code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/mfa.test.ts > MFA verifyTotpCode verifies a correct TOTP code", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/object-storage.test.ts > object-storage (local backend) rejects path traversal in keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/object-storage.test.ts > object-storage (local backend) round-trips buffers and streams with size and listing", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat accepts quality override for PNG without error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat detects JPEG input and returns jpeg config", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat detects PNG input and returns png config", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat detects WebP input and returns webp config", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat falls back to PNG for unknown format", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/output-format.test.ts > resolveOutputFormat respects quality override for lossy formats", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange deduplicates overlapping ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange deduplicates repeated pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange handles a range of one page (start equals end)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange handles range ending at totalPages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange handles ranges with spaces", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange handles single page equal to totalPages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange parses a simple range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange parses a single page number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange parses mixed single pages and ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange parses multiple ranges", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange parses multiple single pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange returns all pages for ' all ' (trimmed)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange returns all pages for 'ALL' (case-insensitive)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange returns all pages for 'all'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange returns all pages for empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange sorts pages in ascending order", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for empty segment (leading comma)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for empty segment (trailing comma)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for negative page number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for non-integer page number", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for non-numeric input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for page 0 (pages start at 1)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for page exceeding totalPages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for range exceeding totalPages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-range.test.ts > parsePageRange throws for reversed range (start > end)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns collapses a full consecutive run: [2..80] -> '2-80'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns handles a single page: [3] -> '3'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns leaves non-consecutive pages as singles: [1,3,5,7] -> '1,3,5,7'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns mixes runs and singles: [1,2,4,5,6,9] -> '1-2,4-6,9'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns pathological alternation (odd pages 1..399) produces ~800 chars", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > compressPageRuns returns empty string for empty input", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec '1,1' deduplicates to {1}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec '1-r1' of 5 resolves to all pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec 'r2-r1' of 5 resolves to {4,5}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec 'z-1' of 3 resolves to all pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec handles 1-z as all pages", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec handles comma-separated values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec remove-pages: '1-2' of 3 yields keep '3'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec remove-pages: '1-z' of 3 leaves nothing to keep", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec remove-pages: '2' of 3 yields keep '1,3'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec remove-pages: 'z' of 3 yields keep '1,2'", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves a range", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves a single page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves r1 as the last page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves r2 as second-to-last", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves r3 as the first page of 3", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec resolves z as the last page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec reversed range '3-1' normalizes to {1,2,3}", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec throws on out-of-range page", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec throws on page 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/page-spec.test.ts > parsePageSpec throws on r-index that resolves below 1", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasEffectivePermission extended admin without apiKeyPermissions has all permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasEffectivePermission extended apiKeyPermissions that do NOT include the permission returns false", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasEffectivePermission extended apiKeyPermissions that include the permission returns true", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasEffectivePermission extended role lacking the permission returns false even if apiKeyPermissions include it", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasEffectivePermission extended user with apiKeyPermissions only gets intersecting permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended admin has all 14 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended editor does NOT have admin-only permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended editor has the expected permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended unknown role returns false for any permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended user does NOT have elevated permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > hasPermission extended user has the expected permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requireOwnershipOrPermission returns null and sends 401 when no user", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requireOwnershipOrPermission returns null when not owner and lacks allPermission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requireOwnershipOrPermission returns user when resourceUserId matches user.id (own resource)", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requireOwnershipOrPermission returns user when user has the allPermission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requirePermission returns null and sends 401 when getAuthUser returns null", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requirePermission returns null and sends 403 when user lacks permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requirePermission returns user when editor has an editor-level permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions-extended.test.ts > requirePermission returns user when user has the permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions getPermissions does NOT contain admin-only permissions for user role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions getPermissions returns all 17 permissions for admin", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions getPermissions returns empty array for unknown role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions getPermissions returns only basic permissions for user role", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions hasPermission returns false for user with settings:write", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions hasPermission returns false for user with users:manage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions hasPermission returns true for admin with users:manage", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/permissions.test.ts > permissions hasPermission returns true for user with tools:use", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > content-aware resize routing keeps non-resize tools unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > content-aware resize routing keeps resize as-is without contentAware", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > content-aware resize routing resolves resize with contentAware to content-aware-resize", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) adds _1 suffix on first conflict", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) handles filenames without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) handles multiple dots in filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) increments counter on repeated conflicts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) returns the original name when no conflicts", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > filename deduplication (getUniqueName logic) tracks all used names across multiple calls", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline step error message formatting falls back to generic message for non-Error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline step error message formatting wraps step errors with step number and tool ID", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline step schema validation defaults settings to empty object when omitted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline step schema validation requires at least one step", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline step schema validation validates step has toolId field", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline tool registry lookup getToolConfig returns undefined for unregistered tool", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline tool registry lookup registered tool appears in getRegisteredToolIds", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline tool registry lookup registered tool is found via getToolConfig", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/pipeline.test.ts > pipeline tool registry lookup registered tool process function executes correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > CONTENT_TYPE_TO_EXT maps common image MIME types to extensions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName appends toolId suffix when filename is unchanged", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName applies both suffix and extension fixup when needed", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName does not add suffix when tool renames the file", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName fixes extension mismatch between content-type and filename", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName handles filenames without extension", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/postprocess.test.ts > buildOutputName preserves extension when content-type matches", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > JobProgress type shape supports all required fields", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > JobProgress type shape supports optional currentFile and type", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateJobProgress handles completed status", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateJobProgress handles failed status with errors", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateJobProgress handles progress with currentFile", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateJobProgress stores progress that can be sent to SSE listeners", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateSingleFileProgress handles complete phase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateSingleFileProgress handles failed phase with error", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateSingleFileProgress handles processing phase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/progress.test.ts > updateSingleFileProgress handles progress with result data", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/rbac-enforcement.test.ts > role permissions admin has all 17 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/rbac-enforcement.test.ts > role permissions editor has collaborative but not admin permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/rbac-enforcement.test.ts > role permissions hasPermission checks correctly", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/rbac-enforcement.test.ts > role permissions unknown role returns empty permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/rbac-enforcement.test.ts > role permissions user has basic permissions only", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic ALL_PERMISSIONS constant contains all expected permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic ALL_PERMISSIONS constant contains exactly 14 permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic builtin role protection allows modification of custom roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic builtin role protection blocks deletion of builtin roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic builtin role protection blocks modification of builtin roles", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic create role validation accepts valid create payload", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic create role validation description is optional", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic create role validation rejects description longer than 500 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic create role validation rejects missing permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic create role validation requires at least one permission", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic permission validation handles empty array", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic permission validation returns all permissions if all are invalid", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic permission validation returns empty array for valid permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic permission validation returns invalid permission strings", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name rename cascading updates all users when role name changes", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation accepts name exactly 2 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation accepts name exactly 30 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation accepts valid lowercase name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation allows hyphens", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation allows numbers", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation allows underscores", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation converts to lowercase", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation rejects dots in name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation rejects names longer than 30 characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation rejects single character", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation rejects spaces in name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation rejects special characters", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic role name validation trims whitespace and lowercases", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic update role validation accepts all fields together", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic update role validation accepts empty update body", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic update role validation accepts partial update with just description", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic update role validation accepts partial update with just name", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic update role validation accepts partial update with just permissions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/roles-route.test.ts > roles route logic user reassignment on role deletion reassigns users to 'user' role when custom role is deleted", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingNumber defaults defaultValue to 0", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingNumber returns defaultValue when setting does not exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingNumber returns defaultValue when setting value is NaN", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingNumber returns the number when setting exists", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingString defaults defaultValue to empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingString returns defaultValue when setting does not exist", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > getSettingString returns the string when setting exists", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > upsertSetting handles empty string value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > upsertSetting inserts a new setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-helpers.test.ts > upsertSetting updates an existing setting", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation accepts clean keys and values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation accepts values with angle brackets that are not HTML tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation allows multiple settings entries", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation rejects HTML tag in the middle of a value", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation rejects HTML tags in keys", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation rejects HTML tags in values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation stringifies boolean values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation stringifies non-string values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML tag validation stringifies object values", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex does not match empty string", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex does not match numeric comparisons", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex does not match plain text", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex matches ", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex matches closing tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex matches processing instructions", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex matches tags", + "/Users/sidd/Desktop/Personal/Projects/SnapOtter/.claude/worktrees/test+suite-overhaul-and-real-fixtures/tests/unit/api/settings-route.test.ts > settings route logic HTML_TAG_PATTERN regex matches