- 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)
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 viascripts/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:
- Verify they are CC0/CC-BY and record the source, OR
- 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. |
Recommended Actions for Sign-Off
- 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.