Quality gates / quality (push) Successful in 12m46s
Issue #25's corpus pipeline is a CLI with no app screen, so the demo runs the real ingest and revoke commands against the committed synthetic fixture in a throwaway dataset and draws the on-camera audit card from their actual output: the provenance record, the deleted derived image, the kept original record, the tombstone that drops labels and the subject key, zero active samples, and a second revocation refused without appending anything. The card is asserted on screen (fixed, topmost, unclipped) and the values on it are read back from the run, so a build that stops recording provenance or stops deleting bytes fails instead of recording a claim. build_release.py now runs tests/corpus-manifest.test.py as a release gate and requires the four new captions to have painted on camera.