Media provenance

Every image and recording in docs/assets/ is output from the current Exhibit A code at source commit 30083d0742bbdd08520e8fa3fa3ddb4f75d21acd. Nothing was mocked, retyped, composited, color-corrected, or cleaned up. Terminal and browser chrome were excluded at capture time so usernames, hostnames, tokens, and home paths never entered a frame. Temporary paths are under /tmp/ea.

The published assets total about 1.2 MiB. Each recording is below 5 MiB and the combined media is well below the 30 MiB repository budget. SHA-256 values below cover the exact checked-in bytes.

Real provider investigation

The recorded command is:

/opt/homebrew/bin/python3 -m exhibit_a.cli repro /tmp/ea/t \
  --fixed /tmp/ea/b \
  --claim 'stock_for should return 0 for a missing SKU, not KeyError' \
  --expect KeyError --out /tmp/ea/c --no-sandbox --events

One provider idle gap was capped at 15 seconds by Asciinema’s playback setting. The cast was trimmed once at the tail, immediately after the real verdict event, to omit the large final Case JSON and shell prompt. No process output before the verdict was removed, and no events were altered, reordered, or spliced. The first candidate passed, so there was no rejection or retry in this run.

Public passports

Timeout-verdict passport

CI release-truth passport

Both pages were opened directly from the checked-in HTML at commit 30083d0. The PNGs are browser screenshots of those pages, not reconstructed passport data.

Verdict pair

The commands shown are:

/opt/homebrew/bin/python3 -m exhibit_a.cli repro --replay /tmp/ea/inventory_proven.json
/opt/homebrew/bin/python3 -m exhibit_a.cli repro --replay /tmp/ea/inventory_silence.json

The first prints VERIFIED; the second prints UNCERTAIN. Neither invokes a model or executes repository code. The two independent windows were positioned side by side before one screenshot was taken; their contents were not composited.

Web investigation stream

The app was launched from web/ with this equivalent, privacy-safe command; the local token value is intentionally not published and never appeared in a frame:

EXHIBIT_A_API_TOKEN=<ephemeral-local-token> \
EXHIBIT_A_LOCAL_ROOT="$(cd .. && pwd)" \
EXHIBIT_A_PYTHON=/opt/homebrew/bin/python3 \
EXHIBIT_A_MODEL=gpt-5.6-luna \
npm run dev -- --hostname 127.0.0.1

The browser submitted the displayed inputs at http://127.0.0.1:3000/. The full run took 108.5 seconds. The published video is one continuous final segment: the initial 48.5 seconds of provider wait were trimmed, with no internal cuts, splice, reordered frames, narration, or audio. This is honest silence, not a failed recording. It also demonstrates that a retry is conditional: the provider declined refinement, so no retry occurred.

Finished web case file

This still is deliberately a sealed replay, not a frame extracted from the live provider video. It shows the finished artifact clearly without implying fresh execution. The page was served with npm run start -- --hostname 127.0.0.1 --port 3100 from a successful production build; the temporary API token and browser address bar were outside the frame.

EEF tamper refusal

The commands visible in the recording are:

/opt/homebrew/bin/python3 -m exhibit_a.cli verify /tmp/ea/case.eef \
  --signing-key /tmp/ea/eef.key
printf 'exit: %s\n' $?
cp /tmp/ea/case.eef /tmp/ea/case-tampered.eef
/opt/homebrew/bin/python3 -c 'from pathlib import Path; p=Path("/tmp/ea/case-tampered.eef"); b=bytearray(p.read_bytes()); i=b.index(b"VERIFIED"); b[i]^=1; p.write_bytes(b)'
/opt/homebrew/bin/python3 -m exhibit_a.cli verify /tmp/ea/case-tampered.eef \
  --signing-key /tmp/ea/eef.key
printf 'exit: %s\n' $?

The copy step protects the original archive. The cast is one continuous run with no trim, splice, reordered command, or altered output.