# Batch 05 public review record

Five new code/SVG candidates; zero source-quality approvals.

The R02 document-only recheck closes the source-attribution error and the visible-entry wording ambiguity. It does not repair the five rendered gaps. Reports below retain their original revision scope. Actual assembled-download checks are recorded separately in the publication receipt.


---

## Frozen R02 report

Original report SHA-256: `8c6d9b9b01acde1e0c45d41c45b7424282af123b1a6dc2e24be24eabbe1f839f`.

# Batch 05 — exact document-delta recheck R02

**G01 is closed. G02's clarification is closed. No further repair is required
within this document delta.** This does not close any rendered source-quality gap.
G02 was a nonblocking ambiguity in sealed R01, not a second confirmed blocker.

## Immutable baseline

Original R01 was sealed at **2026-09-14T01:10:44.631985+00:00**; its receipt is
`14833ade0f204b303ad78f4af495131ea3b19569d52362b45abc2ea7aeb2448d`.
Source, label, and R01 report seals still verify. The original configuration and
the two reviewed original guide trees match their R01 pins; none was rewritten.

## Claim closures

| Claim | R02 result |
| --- | --- |
| **G01 — Prism acceptance** | Source observation now says **L463 / retained N1423**. The intentional-differences text explicitly contrasts candidate **L462 / aligned N1422**, one frame early. README and JSON agree. Candidate steps, checkpoints, tracks and recipe remain unchanged; no blanket replacement of 462 occurred. |
| **G02 — Pulse visibility** | Candidate movement begins at **L70 below the visible output**, with first faint entry **about L75**, clear at **L76**. The L70 checkpoint no longer claims visible entry. Source observations remain unchanged, including source sheet entry at L70. “About” preserves the estimated faint-onset claim. |
| **Pulse final composer** | README and JSON now explicitly retain the unresolved bottom-edge crop at L247–299 and require a separately rendered correction. The L247 cut, L286 blank input and L287 caret are not retimed or claimed repaired. |

There is no source/candidate timing conflation in these revised assertions.
The Pulse “visible viewport” wording is read as the final output view, not its
taller internal phone domain; the new visibility qualification resolves the
ambiguity recorded in R01 without altering geometry.

## Exact delta and bindings

- `batch-05-public-r02.json` has six structural changes: two guide-directory
  redirects, two appended `DOCUMENT-REVISION.json` extras, and the new `review`
  and `derivedFrom` metadata. Runtime revision, project sources, source intervals,
  active-archive pins and the other three entries are unchanged.
- Prism `guide.json` changes only three fields: source observation text/frame
  list and the source-versus-candidate differences statement. Its README mirrors
  those changes; its overlay manifest is byte-identical.
- Pulse `guide.json` changes only `steps[1]`, `choreography[1]`,
  `checkpoints[6].expected`, and the appended composer limitation. README mirrors
  them. The overlay changes only the guide artifact's SHA and byte count.
- Both active ZIP containers and both controls CSVs are byte-identical to their
  R01-pinned originals. Pulse's Fusion CSV, provenance and derivative public test
  script also remain byte-identical. Recipe hashes, SVG declarations, numeric
  tracks and Fusion node definitions are unchanged. No assets need rebuilding.
- Both `DOCUMENT-REVISION.json` records correctly bind original/revised guide
  and README hashes plus the unchanged recipe. All configured extras exist;
  the derivative script still maps to downloaded `test_kit.py`.

Across the two revised trees: **8 shared files unchanged, 5 existing documents
changed, 2 revision receipts added**. Full field deltas and byte pins are in
`REPORT-R02-delta.json`.

## Boundaries and handoff

No other candidates, movies, or pending composite review were opened; nothing
was built or encoded. Control generation and public tests were not rerun in
this exact-document check. R01's five visual gaps remain unchanged.

Retained coverage remains **1,980 source + 3,960 candidate frames, STATIC**;
new frame, moving-review, native-Resolve, whole-film and source-quality credit
are all **0**. Label ties are not blind wins. No final published-ZIP or security
approval, audio judgment, source-quality pass, or claim that 200 are complete.

The parent may now compose `batch05-public-r02/REVIEW.md`; that pending file was
not inspected or created here. Final package testing and the separate ZIP
security recheck remain independent gates. This report seals the document delta
only, then pauses. Original R01 and `SOURCE_ONLY_PUBLIC.md` remain immutable.


---

## Frozen R01 report

Original report SHA-256: `834b681a08b11163effcadd599fe6901cb26f2c6764a3a2bf8d10fae459ff47a`.

# Batch 05 — unblinded guide audit R01

**One guide-claim blocker remains. All five pieces retain source-quality gaps.**
No missing portable file was found in the checked current inputs. This is not
final published-ZIP approval; the separate ZIP security recheck is not cleared here.

## Evidence and scope

Authorized unblinding identifies **default/adaptation content variants**, not
Remotion-versus-native-Resolve outputs. Every frozen label tie remains a tie;
none becomes a blind win. Source and label freezes are unchanged.

All 10 runtime MP4s match their frozen label hashes and export-verification
records; all 210 recorded runtime file bindings match. No full-frame redo was
needed. Retained inspection remains **1,980 source + 3,960 candidate frames,
STATIC**, with the existing native-detail crops. New moving/native-Resolve/
whole-film/source-quality credit: **0**. No audio judgment or owner-page/master
verification. Declared 60 fps and frame counts are not recovered master timing.

## Per-piece largest gaps

Both variants retain each listed defect. Local frames are zero-based; retained
alignment is supplied offset + local frame, not newly recovered master PTS.

| Piece | Default / adaptation labels | Largest frozen gap and correction |
| --- | --- | --- |
| knowledge-source-stagger | C / A | **K06**, L188–299: missing citation-linked answer/summary hierarchy. Restore inline source markers, emphasis and a distinct summary heading; keep original copy and the unfinished tail. The guide already admits this omission. |
| pulse-card-to-reading | C / A | **R05**, L247–299: the final composer crosses the actual bottom edge. Fit its complete capsule/controls and lower margin without changing the cut or L286 blank/L287 caret. Add this concrete defect to the guide's generic styling limitations. |
| pulse-prompt-collapse | C / B | **P04/P05**, L310–363: preformed waveform proportions and caret returning at 354, not source 356. Restore staged glyph maturation and the two caret-off frames; preserve blank 362/first glyph 363. Authored-approximation disclaimers do not fix the output. |
| payment-state-sequence | A / B | **C05**, L262–295: new check seed is late (285 versus source 282), but recognizable check is early (288 versus 291). Re-time center/ring/stroke phases independently, keeping cut 262 and the following hold. |
| prism-native-diff | B / C | **D03**, L147–199: displacement and selective defocus do not reproduce the source's coupled vertical reframe. Rebuild moving-layer relationships and directional blur; do not call new blur absent. First acceptance is additionally one frame early. |

The guides disclose original artwork/copy, Geist substitutions, authored curves,
uncalibrated native text/blur, and unresolved quality. Do not repair these
differences by copying official imagery or branding. A numerical sampler pass
cannot resolve the visual defects or establish native Fusion equivalence.

## Minimal guide repairs

Paths below are relative to the dual-toolkit-200 directory. No code, guide,
archive, or frozen label was edited by this reviewer.

**G01 — Prism attributes the candidate's early acceptance to the source.**
`guides/state-next/prism-native-diff/README.md:22` and
`guides/state-next/prism-native-diff/guide.json:10146` say source acceptance is
L462. Frozen adjacent native evidence establishes **source L463/N1423**, with
L462 still pending. Candidate default and adaptation actually accept at L462.

- Change `inspection.sourceObservations[5]` to source L463; include both 462
  and 463 in its frame list. Mirror the README source-observation bullet.
- Replace `implementationDifferences[3]` (`guide.json:10021`, README line 29)
  with: “Cut at 147 follows the retained source. The source first accepts at
  463; this authored candidate accepts at 462, one frame early.”
- **Do not globally replace 462.** Candidate construction steps, gates and
  checkpoints accurately describe current renders and must remain 462 unless
  a separate implementation revision is rendered and reviewed.

**G02 — Optional card-viewport clarification; not a confirmed blocker.**
`guides/reading-next/pulse-card-to-reading/README.md:261` and
`guides/reading-next/pulse-card-to-reading/guide.json:8670` say the sheet first
reaches the viewport at L70. The recipe permits a defensible internal-viewport
reading: sheet Y1280 is inside the 1392px phone viewport. Its parent Y124 places
the sheet top at output Y1404, below the 1080px final canvas. Frozen native
evidence shows first faint final-canvas entry about L75, clear at L76. Thus the
earlier suspected false checkpoint is **not retained as a blocker**. The source
really shows its sheet in the final canvas at L70.

- Clarify `checkpoints[6].expected` as “Sheet activates inside the lower internal
  phone viewport but below the final canvas.” Mirror the README L70 row.
- In `steps[1]`, `choreography[1]` and README line 123, replace “enters at 70”
  with “starts moving below the final canvas at 70; first faint visible entry is
  about 75, clear at 76.” Keep the existing authored position keys.
- If this clarification is applied, refresh the changed guide's SHA/byte count in
  `overlay-manifest.json.artifacts["guide.json"]`. Controls, recipe, SVGs and
  the byte-exact active archive need no rebuild for this documentation repair.

These documentation changes do not repair the five render gaps.

## Portable-file audit

- All **five active ZIP containers** match both current batch and overlay pins;
  all **25 recipe/SVG members** match the inputs used for the reviewed renders.
- The three reading entries include `fusion-controls.csv`, `overlay-manifest.json`,
  `provenance.json`, and map `public-test-kit-r01.py` to downloaded `test_kit.py`.
  Original `test_kit.py` files remain separate; do not overwrite them.
- Core, selected assets, guide/controls, handoff, font and license inputs are
  available under the declared contracts. Five `handoff.py verify` commands
  succeed; **539,340 regenerated control rows** match. Reading CSVs are byte-
  exact; both state CSVs differ only in LF/CRLF endings, not parsed values.
- `public-tests-r02.json` pins three passed private kit assemblies to the
  current derivative-script and active-ZIP hashes. The parent reports 51 tests;
  I did not rerun that suite. This is **not final published-ZIP proof**.
- After authorized guide repairs, refresh affected document pins and rerun the
  applicable private/public tests. Final assembled downloads still need their
  own extraction/run proof, and the separate malformed-ZIP review remains open.

Details and input hashes: `REPORT-R01.json`, `REPORT-R01-inputs.json`, and
`REPORT-R01-controls.json`. Freeze: `REPORT-R01.freeze.json` / `REPORT-R01.sha256`.
The reviewer pauses after this freeze. No completion-count or publication change.
