# Actual checks, separate open gates

The frozen source/default/adaptation MP4s each decode to **120 frames**,
**2.000000 seconds**, **60/1 fps**, starting at zero, with no audio. Source
is960×540; each candidate is1920×1080. All are H.264/yuv420p/bt709. Source
time base is1/60; candidates are1/90000, with1500 ticks per frame. Every
decoded timestamp equals localFrame/60 exactly; a time-base difference is
not a cadence difference.

`proof/output-checks.json` records hashes, full tick lists, actual pixel
measurements and output facts. `proof/browser-checks.json` records full-Chrome
SVG/font checks and actual 1× movie playback. Public files contain relative
identifiers, not private paths. Local raw manifests additionally bind every
render input to its file hash. The early critic packet freezes all three
actual movie paths; it is not a critic result.

| Actual 1× playback | Wall time | Frame callbacks | Browser dropped frames |
| --- | --- | --- | --- |
| Source excerpt | 2004.7 ms | 117 | 1 |
| Default | 2019.0 ms | 108 | 0 |
| Adaptation | 2015.4 ms | 102 | 0 |

Browser counters include load/seek activity: source totalVideoFrames was125,
not a new assertion that the media contains125 frames. FFprobe's independent
decode establishes120. Callback capture is sampled, not frame-complete. Zero
reported drops for a candidate is not a fidelity judgment.

## What ran

- Strict TypeScript checking against existing external dependencies: zero
  diagnostics. Six contract/SVG/matrix tests and three image-detector tests.
- Two actual locked full-ELF Remotion encodes; candidate hashes were frozen
  before the separate-critic handoff. No subsequent movie changes.
- Independent decode of all360 source/candidate frames; all onsets measured
  from actual candidate pixels at71/73/75/78/85, with prior-frame absence and
  final-frame persistence. Label38 remains colored;39 and40 do not.
- Six consecutive triptych sheets spanning0–119, source native contact sheets,
  and selected full-resolution anchors inspected by the builder.
- Two self-contained SVG players in full Chrome,14 checkpoints each; actual
  generated SVGs retain paths, masks, type, font and transforms. Baseline71px;
  label widths707.4734985351563 and625.8845092773438px.

## Failures retained, not relabeled as passes

The first render attempt stopped before output because host network-interface
enumeration failed. The runner then used the existing paragraph/outline
loopback binding pattern, without modifying dependencies or recipe tracks.

The first table export expected29 layers; the actual selected recipe has28.
The exporter and its test were corrected; the failed directory remains local.

The first pixel verifier used saturation to detect icons and missed the
default fifth icon's low-chroma fill `#727c92`. It was replaced with a
nonwhite-ink detector (`min(R,G,B)<230`) that excludes the pale border, with
regression tests for low-chroma art and the border. The actual frozen movie
was not edited, and the old failed evidence remains alongside the new checks.

The source ZIP was unpacked and its actual render command exercised. Its
default rerender has the same120-frame clock and identical input props,
original bound-file hashes, Node/dependency versions and Chrome ELF, but
decoded-frame MD5s differ at **103–119**. At sampled frame119,6,033 of2,073,600
pixels differ, with maximum RGB-channel difference35/255;982 pixels differ
by more than5. Frames0 and102 are pixel-identical. The difference is visible
in an amplified diagnostic, not dismissed as a successful exact reproduction.
The cause was not isolated between browser rasterization and encoding.
`proof/reproduction-checks.json` retains the per-variant comparison and sampled
measurements. The strict reproduction gate stays failed; the frozen critic
pair is not replaced by the rerenders.

## Gates still open

1. **Moving-source quality:** no source-quality win, exact-pair completion or
   independent critic approval is asserted. Different label widths visibly
   change early withdrawal cadence. Original font/easing/filter construction
   is unknown; 28 native source positions are unavailable.
2. **Native Resolve:** no `.drp`/`.comp` run, importer compatibility, native
   typography, dash-reveal conversion, blur conversion or export is verified.
   The guide is a numeric reconstruction specification, not native evidence.
3. **SVG parity:** structural checkpoints and Chrome execution are checked;
   pixel equality with Remotion or native Resolve is not claimed.
4. **Rights and publication:** original SVGs and the OFL font are reusable
   materials. The brief silent source excerpt is research-only. No source
   master, publication, deployment, registry edit or commit is included.
5. **Bit-exact reproduction:** the unpacked default rerender differs at17 late
   decoded frames. Command execution and unchanged code bindings do not close
   that separate failed check.

Hashes bind local bytes, not authorship, a signed attestation, dynamic-library
contents, a review verdict or permission to publish.
