Files
Victor Kuznetsov 5c6588b3ef Fix output preservation, research validation, and documentation drift
Repair image and metadata publication contracts, detection routing, research
artifact validation, release verification, and the published agent skill.
Refresh the dependency lock and reconcile documentation with verified behavior.

Add regression coverage and record the completed audit and corrected VideoSeal
measurements. Preserve the existing Accelerate and Lightning versions.

Validation: Ruff and Pyright pass; 2358 tests pass with 3 skipped. The maintenance
gate exits 2 on the documented Accelerate and Lightning security findings.
2026-09-08 19:07:10 -07:00

68 lines
2.9 KiB
Markdown

# Engine-selection fixture set
This directory is the tracked, content-balanced input set for researching a
deterministic `auto` engine choice. It is not a training corpus and it is not a
watermark-oracle corpus.
## Content matrix
`content-manifest.csv` contains 19 prompt-matched pairs. Each pair uses the
same prompt and generation index across OpenAI `gpt-image-1-mini` and Meta
`muse-image-1.0`, covering the content classes that materially stress image
regeneration:
- natural and urban scenes;
- single-person portraits and people in context;
- animals, food, products, interiors, architecture, macro detail, and action;
- flat, isometric, watercolor, and surreal illustration styles.
The files are exact copies of generation outputs collected for the
`docs/arxiv-paper-review` research branch. The manifest records the SHA-256 of
the committed bytes. The old OpenAI collection manifest stored the API payload
hash under `sha256`; `source_payload_sha256` preserves that value while
`sha256` always means the actual file bytes here. Meta's two hashes are the
same.
The project maintainer has cleared these exact committed outputs for permanent
public test and benchmark reuse. `reuse_basis` records that clearance on every
row. It is permission for this fixed fixture set, not a claim that either
provider grants a general-purpose dataset license for arbitrary generations.
One generation per prompt and provider is enough for the first paired
discovery pass. Any policy inferred from it must be challenged against unused
generation indices from the local research archive before shipping. Generated
outputs belong outside this directory.
`carrier-manifest.csv` adds the canonical, already tracked signal carriers to
the study without copying their bytes. Together the two manifests cover
ordinary content, text, single faces, face grids, and mixed face/text scenes.
## Signal carriers
The content matrix was re-encoded by its collection pipeline and has no local
provenance signal. It must not be used to set or certify watermark-removal
strengths. The tracked oracle/carrier inputs remain in their canonical homes:
- OpenAI and Google SynthID: `data/synthid/originals/` with
`data/synthid/manifest.csv`;
- Meta Content Seal: `data/contentseal/originals/` with
`data/contentseal/manifest.csv`.
A publication-cleared Microsoft Paint InvisMark carrier is tracked at
`data/fixtures/provenance/microsoft-paint-invismark.png`; its source and MIT
license are recorded in `data/image-watermark-examples.csv` and `data/licenses/`.
It does not by itself certify an engine-selection row. That requires a fresh
paired oracle check, including a pixel-identical metadata-stripped control
that remains positive in Microsoft's detector.
## Integrity check
Run:
```bash
uv run python scripts/verify_engine_selection_fixtures.py
```
The check validates paths, byte hashes, dimensions, prompt pairing, and the
declared provider/content matrix without loading any ML model.