Files
SnapOtter/tests/fixtures/LICENSES.md
T
SnapOtter 9f28f13fb6 test(fixtures): update manifest provenance, LICENSES, and parity baseline
- manifest.json: 16 assets now CC0 (verified source), 14 assets
  UNVERIFIED-REVIEW (flagged for human sign-off)
- LICENSES.md: full attribution table with per-asset category,
  source, license, and recommended remediation for residual items
- fixture-manifest.test.ts: accept UNVERIFIED-REVIEW in ALLOWED set
- phase2.json: parity baseline (13141 pass, 0 dropped)
2026-06-20 01:04:47 +08:00

6.8 KiB

Fixture Provenance & Licensing

All fixtures in tests/fixtures/ must have verified provenance. Only CC0, CC-BY, CC-BY-SA, and public-domain assets are permitted in the final registry. Assets still marked UNVERIFIED-REVIEW require human sign-off before the license hard gate (Phase 2b) can close.

Verified CC0 Assets (Category A: Regenerated / Category B: Replaced)

These assets are generated by project scripts (gen-synthetic-content.mjs) and carry no third-party copyright. They are deterministic and reproducible.

Path Category Generator Notes
content/qr-code.png A qrcode lib Encodes https://snapotter.com, 400x400
content/qr-code.svg A qrcode lib Same data, SVG output
content/qr-code.avif A qrcode + Sharp AVIF Same data, AVIF format
content/barcode.png A Code 128B encoder + Sharp Encodes SNAPOTTER-TEST-123, 699x152
content/barcode.avif A Code 128B encoder + Sharp Same barcode, AVIF format
content/ocr-clean.png A Sharp SVG text "The quick brown fox 12345", 800x200
content/ocr-japanese.png A Sharp SVG text Japanese writing passage, 480x172
content/alt-2page.pdf A PDF byte generator Minimal 2-page PDF with text
content/multipage-6.pdf A PDF byte generator Minimal 6-page PDF with text
content/audio-with-tags.mp3 A ffmpeg sine 440Hz 1.2s MP3, ID3: "Test Song" / "Test Artist"
content/video-with-meta.mp4 A ffmpeg color frame 1s, 64x64, solid orange H.264
content/media-30s.mp4 A ffmpeg testsrc2 + sine 30s, 640x360, test pattern + 440Hz tone
content/media-30s.wav A ffmpeg sine 440Hz 30s, 44100Hz, mono PCM
content/animated-simpsons.gif B ffmpeg testsrc 3s test pattern GIF; replaced Homer Simpson clip (Fox/Disney copyright)
content/svg-logo.svg B hand-written SVG Geometric test fixture; replaced ConvertICO brand logo (third-party trademark)
content/multi-face.webp B Sharp oval grid Face-placeholder grid; replaced Shutterstock stock photo #199321457 (watermarked, copyrighted)

Synthetic / Project-Generated Assets (pre-existing, not in content/)

The following were generated by project scripts or test infrastructure and carry no third-party copyright concern:

  • Root synthetics: test-200x150.png, test-100x100.jpg, test-50x50.webp, test-100x100.svg, test-200x150.heic, test-1x1.png, test-blank.png, test-portrait-tall.png, test-portrait-extreme.png, test-with-exif.jpg, test-scene.png, test-fake-transparency.png, test-3page.pdf
  • media/tiny.* (29 formats), documents/tiny.* (17 formats), data/tiny.* (9 formats)
  • hostile/* (generated via scripts/generate-hostile-fixtures.mjs)
  • security/* (SVG XXE test vectors)
  • formats/sample.* (format samples, 35 files)

NEEDS HUMAN LICENSE SIGN-OFF (Category C: UNVERIFIED-REVIEW)

The following content/ assets have unverifiable provenance. They were added during the test coverage expansion (commit babca4cf) or QA bug fixes (commit d8cf979d) without recorded source URLs. They are real-world photos, audio, or video that require human review to either:

  1. Verify they are CC0/CC-BY and record the source, OR
  2. Replace them with properly-licensed alternatives.

Do NOT delete these. Depth tests (face detection, colorization, red-eye removal, transcription, stress testing) depend on real-world content.

Path Size Content Description Why Review Is Needed
content/portrait-bw.jpeg 2.7 MB B&W portrait of a woman (3775x5662) Real photo, no EXIF source. Used for colorization tests.
content/portrait-color.jpg 89 KB Business portrait, man in suit (572x1024) Likely AI-generated (has characteristic artifacts) but unconfirmed. Used for face/portrait tests.
content/portrait-color-dup.jpg 89 KB Identical to portrait-color.jpg Deliberate duplicate for dedup testing. Same license concern.
content/portrait-headshot.heic 1.5 MB HEIC portrait headshot No EXIF source. Used for HEIC format tests with face content.
content/portrait-isolated.png 81 KB Same subject as portrait-color, background removed Derived from portrait-color.jpg. Same license concern.
content/red-eye.jpg 369 KB Woman with red-eye effect (800x460) Canon EOS 400D DIGITAL, Adobe Photoshop CS2 (2007). Real photo, no source URL. Used for red-eye removal tool.
content/cross-format-chat.webp 182 KB Mobile chat app screenshot (1440x3120) Screenshot of "HeartCode" bot. Contains personal/third-party UI. Used in color-palette extraction test.
content/ocr-chat.jpeg 1.0 MB Same chat screenshot as above (JPEG) Same content as cross-format-chat.webp, different format. Used for OCR tests.
content/ocr-scanned.pdf 1.0 MB Scanned document PDF Unknown scanned content. Used for OCR-on-PDF tests.
content/stress-large.jpg 6.7 MB Muay Thai boxing match (4000x3000) Samsung Galaxy S24 Ultra photo (2026-04-11). Likely personal photo but contains identifiable people and event branding. Used for large-image stress tests.
content/watermark.jpg 87 KB Mountain lake landscape with text watermark (720x480) Real landscape photo with "Text Watermark Sample" overlay. Unknown source. Used for watermark removal tests.
content/motorcycle.heif 224 KB HEIF image Content not inspectable without HEIF decoder. Used for HEIC/HEIF format processing tests.
content/speech-10s.mp4 2.3 MB 10-second video (640x360) Likely contains speech for transcription tests. Content unverifiable without playback.
content/speech-10s.wav 320 KB 10-second audio (16kHz mono) Likely contains speech for transcription tests. Content unverifiable without playback.
  • Portraits (5 files): If AI-generated, confirm the generator and its license terms. If stock photos, identify the source. Consider replacing with CC0 portraits from a known source.
  • Chat screenshots (2 files): Replace with a project-generated screenshot or a CC0 text image. The chat UI belongs to a third-party app.
  • Red-eye photo: Source the original from the photographer or replace with a CC0 red-eye portrait.
  • Stress-large photo: If this is a project contributor's personal photo, have them release it under CC0. Otherwise replace.
  • Watermark landscape: Source the underlying landscape photo. The watermark overlay was likely added by the project.
  • Speech files (2 files): Confirm content via playback. If synthetic (ffmpeg-generated), mark CC0. If real speech, identify speaker and get consent or replace.
  • Motorcycle HEIF: Inspect via HEIF viewer and determine source.
  • OCR-scanned PDF: Inspect document content and determine source.