# Phase 2 acceptance — integrated source record

Status: implemented through PR [#465](https://github.com/mekhovov/revealline/pull/465), merged in
the combined creator PR [#564](https://github.com/mekhovov/revealline/pull/564), and published in
`v0.141.0`. The current `v0.141.6` Pages release retains this behavior. This record preserves the
Phase 2 evidence and the remaining browser/device limits below.

## Automated evidence completed

- The active `creator-layouts.v3` registry contains six authored layout families with two bounded variants each; `creator-layouts.v2` remains supported for existing drafts. Deterministic selection, legacy Phase 1 compatibility and all six difficulty/steering route configurations pass focused tests.
- Batch-core tests cover 1-, 12- and 50-picture preparation, natural order, duplicate names and bytes, deterministic regeneration, explicit failed-item exclusion, reorder, campaign grouping, checkpoints, cancellation and explicit capacity splits. Full-size hashing and image preparation report at most one active item.
- Batch-review tests cover multi-file selection, editable titles, reorder, exclusion, regeneration, removal, cancellation, 24 MiB package-capacity choices, focus retention and object-URL cleanup. Production intake uses an exact-byte adapter that revalidates the displayed one-mission preparations as one ordered campaign.
- Bundle integration tests cover 1-, 12- and 50-mission round trips, authored continuation order, exact media closure, forged per-mission evidence, stale approval, immutable installed editions, complete source-backup recovery and split-package closure.
- A focused exact-edition regression suspends the second mission of a two-picture campaign during its verified route, restores and completes that same mission, and resolves its distinct picture bytes. Reordering the missions produces a different edition and attempt key; that edition refuses the saved attempt and loads an empty scoped profile while the original edition retains the second-mission clear.
- The final combined creator regression on the current `creator-layouts.v3` revision passed **36/36 tests in about 50 seconds**. The run covered batch bundle, batch UI, portable bundle, single-image generation, the template registry and scoped tools-host integration together, so this count describes one exact revision rather than adding results from different commits.

## Built-in browser evidence completed

- Native multi-file selection on local origin `8786` chose two existing PNG sources. The page exposed natural order, per-card thumbnails, distinct verified template variants, a 24 MiB package estimate and one bulk approval.
- Exact batch approval saved creator checkpoint 1, prepared a 3.89 MiB two-mission campaign and installed immutable edition `3402e044d78e9e6462033c3fc95f5783fb131bfb5700e35e02cca20990a615a3`.
- Ordinary Custom play completed the first mission legally at 100% / 23,800 points, showed its exact earned picture and offered **Next level**. Next started the second mission with the same selected difficulty and steering. Its legal completion reached 100% / 21,640 points, showed the second picture and changed continuation to **Back to my creations**.
- Reloading the original creator URL restored its two-mission local source checkpoint and private-backup action. The actual downloaded `.rlpack` is 4,082,072 bytes, SHA-256 `0b3a3943ff8e8d64149d3260fb331afd6d0f680d952082b066065f5c10b21904`, with two missions, two payloads and no trailing bytes.
- The actual downloaded `.rlsource` is 9,614,330 bytes, SHA-256 `83ab8ce8be1f709cd8d5e6968e116761415ff78eb2de42b589b4a89abd395f45`, with two missions, four payloads, two original hashes and no trailing bytes.
- On previously unused origin `8787`, native file selection imported the downloaded `.rlpack`, reproduced the exact full edition identity, approved it locally and installed both missions. The downloaded `.rlsource` also imported and saved as a local two-mission checkpoint. This verifies a separate origin, not a separate browser profile.
- Native selection of 12 existing PNG sources included duplicate visible names from different source collections. All 12 cards prepared serially with visible verified variants. Exact approval produced immutable edition `4c958785a58c8939f29f53d85f6e8292aa321a6bb8c6ccbf42c47c67a0e83402` and installed it as a 12-mission Custom campaign.
- The downloaded 12-picture `.rlpack` is 23,494,623 bytes, SHA-256 `e42d9c2673ba5c2509721d248cbc5e39b160486376c92318205d047118f0ee89`, with a 343,778-byte manifest, 12 missions, 12 exact PNG payloads and no trailing bytes. On previously unused origin `8788`, native file selection revalidated that package, reproduced the exact edition, installed all 12 missions and opened the ordinary player in its ready state.
- Native selection of 50 naturally named PNG files displayed `picture1` through `picture50` in natural order and refused approval at the initial 147.85 MiB package / 295.71 MiB staging estimate. Cancellation after four successful items preserved those results and returned the other 46 cards to an editable waiting state. Resuming prepared every card with one active card visible at a time.
- The completed 50-item review reported a conservative 96.47 MiB package / 192.93 MiB staging estimate and required an explicit capacity choice. **Split into smaller packs** accepted five ordered parts of 12, 12, 12, 12 and 2 missions. Revalidating part 5 produced a 1.96 MiB reviewed package and installed immutable two-mission edition `68fe0662b7ce7ec2f54c0af530edaed69e7cae2e80d8576b1ae31cb180028e2a` without discarding the other prepared cards.

### Current `creator-layouts.v3` repetition

- The Codex built-in browser repeated the 12-picture case on previously unused local origin `9893` with generated `picture1.png` through `picture12.png` inputs. The review preserved natural numeric order and enabled one approval at a 22.51 MiB estimate under the 24 MiB package limit.
- This repetition exposed a review gap: batch cards named the template and variant but did not show the enemies and obstacles that were already present in the compiled map. The batch review now derives its summary from each exact generated mission and map. All 12 cards visibly reported one enemy plus authored walls, safe islands or terrain zones before approval. The exact approved 22.49 MiB campaign installed as edition `40d04d6648941460c6df1003f0c75553e8a35497c9f7bbe693ca5941d490afe8`; ordinary Custom play completed its first `ember-garden · vertical-passage` mission at 50% reveal, three lives and 11,740 points.
- The same built-in browser repeated the 50-picture case on previously unused local origin `9894`. The selection displayed `picture1` through `picture50` in natural numeric order. Cancellation after three completed items retained those three ready cards, marked the active fourth card cancelled and left the other 46 waiting. Resuming completed all 50 cards; every card visibly reported one enemy and authored obstacles or terrain.
- The completed current-v3 selection estimated a 93.78 MiB pack and 187.56 MiB staging requirement, kept bulk approval disabled and required an explicit capacity decision. **Split into smaller packs** again produced five ordered parts of 12, 12, 12, 12 and 2 missions. Part 5 revalidated as a 3.75 MiB two-level campaign, installed as immutable edition `cd047ced051ec8fa0b2abfd036d4df4de1c20c5d7494b7441d698989801909e2`, and completed `picture49` through ordinary Custom play at 50% reveal, three lives and 11,250 points. The earned picture and **Next level** action appeared after the legal win.
- A final local-origin `8786` edge run selected a real 540 × 960 portrait PNG, two landscape PNGs and a file named `.png` with an invalid signature. Natural order was edited manually, **Gentle start** pacing was selected, and every valid card visibly showed its exact enemy and obstacles. The invalid item retained its own actionable error and approval remained disabled until it was explicitly excluded.
- Per-item regeneration changed `static-default` from `twin-corridors · west-lane` to `island-chain · middle-channel`, with one enemy, two walls and two safe islands. The page wrote immutable batch checkpoint 8, then the same `?draft` URL was reloaded. Exact source bytes, portrait, order, exclusion, pacing, generation counter and deterministic seed survived; regenerated cards retained the same template variants and obstacle counts. A second reload after the status repair reached checkpoint 16 and reported **3 levels passed preparation and are ready for one approval** instead of resetting the creator.
- The `v0.141.0` combined candidate passed 545/545 creator/runtime tests and 43/43 community tests.
  These are historical baseline counts; the later `v0.141.2` exact-head local aggregate passed
  556/556, including the direct 63/63 community-service suite. Focused tests bind the
  pre/post-reopen project and provenance, reject a stale tab, reject altered retained source bytes
  and continue a cleared campaign at its first uncleared mission.
- Two tabs opened the same exact draft at checkpoint 1. After tab A advanced the durable source to checkpoint 2, tab B retained its local edit but refused the overwrite with **A newer draft exists** and kept its source backup downloadable.
- Thirteen identical 1,992,938-byte PNG inputs produced a visible 25.10 MiB estimate and an explicit 12-plus-1 split. The downloaded packs were 2,352,483 and 2,024,333 bytes; each contained exactly one asset with SHA-256 `a023375013a3f07b24618377e2885fa47f00c873780b34fa32b06fd8b27b6926`, proving actual-file payload deduplication.
- The browser completed mission one, entered mission two, saved a mid-route attempt, reloaded, resumed that exact mission and legally completed it at 70% with three lives and 14,080 points. The exported edition-scoped profile retained both distinct clears. A subsequent reload exposed that the lobby still defaulted to mission one; the combined candidate now honors exact library handoffs, continues at the first uncleared mission and selects the latest earned reward. Its focused 12-mission regression passes. Repeating the reload on the corrected source visibly selected earned picture02 and Start launched picture03 at 0% with three lives.

## Remaining browser gates after publication

- Capture browser-process memory measurements during another large preparation run. The UI and automated probes establish serial full-size work, but this record does not yet claim a measured peak-memory bound.
- Exercise failed installation recovery. Browser quota estimates remain advisory.
- The combined hosted, freeze, immutable release, selector and public-byte gates completed for
  `v0.141.0` and are retained by `v0.141.2`; see
  [combined-release-acceptance.md](combined-release-acceptance.md).

The user directed this delivery to use the Codex built-in browser. Firefox, Safari and physical mobile remain untested until separately qualified and must not be inferred from this record.
