# Independent r03 technical recheck

Date: September 13, 2026. Status: **PASS for the three requested P2 findings.**
No remaining defect was found within this narrow scope. This is not source-quality approval.

## Results

| Check | Independent result |
| --- | --- |
| Known failing browser record | Frozen fixture rejected by the actual r03 CLI, exit 1; browser-binding error at `public/verify.py:98`. |
| Zeroed font hash | Frozen fixture rejected, exit 1; bound-font error at `public/verify.py:100`. |
| Duplicate 29-row inventory | Frozen fixture rejected, exit 1; 28 unique paths fail the exact recipe-derived set check at `public/verify.py:106`. |
| Before-decode requirement | Supplementary call sentries recorded zero `Image.open`, movie-probe and movie-decode calls for each of the three fixtures. The separate actual CLI runs were unmodified. |
| Valid frozen preparation | Actual r03 CLI exit 0; all **29 existing PNGs** hash-checked; **66/66 render-frame comparisons** pass strict `< 0.03`. |
| Maximum ink XOR/union | **22 / 18133 = 0.0012132575966469971 = 0.1213257597%**, at Adaptation frames 1 and 2. The 3% ceiling was not changed or waived. |
| Public tests | **17/17 pass:** 13 existing recipe tests and 4 manifest-boundary tests; none skipped. |
| Archive and checksums | **15 archive members** exactly equal the 15-file public tree; **14/14 checksum entries** pass. No duplicate, unsafe, symlink or extra archive entries; CRC check passes. |

The verifier decodes 33 existing frames each for Source, Original and Adaptation, with all 66 Original/Adaptation frame positions compared. Its existing rational `30000/1001` checks also pass. Every one of the 99 frame records equals the frozen r02 result and the r03 public evidence. The four-test suite independently repeats the valid-control decode; 99 describes each positive pass, not the total number of decode operations across both runs.

## Scope of the correction

Nine public files are byte-identical to r02: `accepted-stage-binding.json`, `assets/paper.svg`, `assets/plate.html`, `binding.py`, `model.py`, `prepare.py`, `recipe.json`, `runtime.py` and `test_recipe.py`.

All six raster/probe/decode helper ASTs are unchanged. The verifier's complete text from the existing PNG hash loop through its CLI is byte-identical, including `maximum_error < 0.03`. The executable change is the browser, font and unique-inventory validation block plus the `FONT` import; the added test file covers the three negatives and valid control. Other changes are guide/evidence/binding/checksum updates. The old browser, font/asset bindings and frozen PNG inventory were not replaced.

## Root boundaries

Five actual CLI negatives reject before verification: worker outside the direct run worker directory, nested worker root, noncanonical run root, wrong temporary directory and missing run root. Two uniquely allocated temporary manifests with an absolute or parent-traversal PNG inventory path also reject before PNG hashing/decoding; these temporary fixtures were removed.

The positive control deliberately uses the frozen PNGs and preparation manifest outside this recheck's worker. That is the documented read-only input contract, not a root escape. No dependency or other symlinks were created. These tests cover the exercised configuration/inventory boundaries, not every filesystem race or hostile-host scenario.

## Commands and evidence

The following are the actual command shapes, with private roots replaced by variables. `KIT` is the r03 public directory; `PRIOR`, `PLATES` and `MANIFEST` refer to the frozen independent r02 control. The private appendix records the exact paths, arguments, environment, exit codes and stdout/stderr.

```bash
"$PYTHON" -B "$GUARD" --incoming-bytes 15000000 --worker checkpoint100-dual-chunk-recheck-r03
(cd "$KIT" && sha256sum --check SHA256SUMS)
"$PYTHON" -B "$KIT/verify.py" --stage "$STAGE" --plates "$PLATES" --preparation "$MANIFEST"
"$PYTHON" -B "$KIT/verify.py" --stage "$STAGE" --plates "$PLATES" --preparation "$WRONG_BROWSER_MANIFEST"
"$PYTHON" -B "$KIT/verify.py" --stage "$STAGE" --plates "$PLATES" --preparation "$WRONG_FONT_MANIFEST"
"$PYTHON" -B "$KIT/verify.py" --stage "$STAGE" --plates "$PLATES" --preparation "$DUPLICATE_INVENTORY_MANIFEST"
"$PYTHON" -B "$KIT/test_recipe.py" -v
"$PYTHON" -B "$KIT/test_verifier.py" --stage "$STAGE" --plates "$PLATES" --preparation "$MANIFEST" -v
```

The commands ran with explicit run/worker/guard variables, `PYTHONDONTWRITEBYTECODE=1`, `-B` and the run's approved `TMPDIR`. The unchanged verifier puts FFmpeg decoding under `encoder.lock`. No browser preparation, encoding, dependency installation/copy, download or deployment ran. The storage guard passed before allocations; this recheck retains only small diagnostics and reports under its 15 MB allowance.

Actual outputs are in `valid-cli.json`, `verification.json`, `negative-cli.json`, `predecode-sentries.json`, `public-tests.json`, `root-boundaries.json`, `inventory-path-boundaries.json` and `archive-and-checksums.json`. These raw evidence files remain private. `frozen-inputs.json` records every reused PNG and fixture hash. All **284 protected input files** matched their recorded hashes before and after testing, including the old sealed r02 evidence and selected source/render bindings.

## Trust and method limits

The fix checks **manifest consistency against trusted local bindings**. Matching a declared browser hash/version does not prove that executable actually generated a given PNG, and hashes are not signed execution provenance. r03 does not launch or rehash a running browser. The retained r02 replay is the earlier execution evidence; this recheck verifies its frozen bytes without manufacturing a new attestation requirement.

The positive runs decode existing movies for mechanical metrics only. No source sheets, moving playback, new source-master inspection, crop-origin recovery, aesthetic comparison or native Resolve execution occurred. The raw verifier retains historical source-observation prose; that prose is not a claim about work performed here. Threshold masks do not establish perceptual fidelity or OCR correctness. Existing crop, timing and raster contracts were exercised without asserting recovered source-crop proof or native rendering equivalence. The SVG is **paper only**; text is editable HTML/CSS that prepares raster PNGs, not outlined glyph SVG or full-vector plates.

**New PNGs: 0. New movies: 0. Browser launches: 0. Source-quality, moving-review, native-Resolve and blind-win credit: all 0.** Public-shell testing from r02 was not repeated beyond the requested verifier/root checks. Nothing was published or changed in the builder kit or shared inputs.

## Frozen hashes

SHA-256 values are shown in eight groups of eight hexadecimal characters; remove spaces to compare. This grouping preserves all digest bits without making public-summary scanners treat the values as secrets.

- Supplied/actual r03 archive: `becdb545 cce862a6 95adf728 18a2f9c2 0fe05fe3 c1eb964d 09e01688 4221127f`
- Actual r03 verifier: `fbd20eda 4f36368a cbcc53c6 0acf8ad2 540058d0 0885850b 329f223c 9bbe2668`
- Frozen valid preparation: `79e788e3 87b9d5f1 b7d4f667 d702280e 27ee42e3 9a3cbb10 e1df3bbe eacb98d6`
- Actual parsed verification evidence: `02946143 f169a340 a0bc83bb 6d0f927f 18a87779 0609560d ad325df9 a2766471`
- Actual valid-CLI stdout/stderr capture: `fe8b8f58 76729db8 d3b82159 5f1e944b e8e44637 e2c97c40 4f82c419 bc816c70`
- Three actual negative-CLI captures: `ed865e10 596437be 96221d2f 5cbfaaea f3c2335b 41f1eacc 281a0535 357915a9`
- Actual public test output: `c3a83770 2ebdb1d8 bd3b3931 99720a4e ee1b2fd0 efc564c1 3c3097e2 52d60fc2`

`VERDICT.json` supplies additional grouped digests. `PRIVATE_EVIDENCE.json` maps them to exact local paths. `FREEZE.json` hashes every retained report/evidence file except itself; its digest is supplied at handoff. Read-only permissions and a hash manifest detect later changes; they are not a digital signature.
