Context
PR #16107 resolved #16092 at merged dev commit e981b57d0ba102c2a914aa72b559666c901cadf3 by carrying the selected Workstation theme through the popup URL, installing a parser-blocking color-scheme hint before MicroLoader.mjs, and seeding the child viewport from the same carried value.
A fresh native five-beat recording on that exact merged head falsified the physical-pixel closure claim. The original ticket remains resolved history; this successor owns only the post-merge regression.
Evidence receipt:
- exact merged source:
e981b57d0ba102c2a914aa72b559666c901cadf3;
- native media SHA-256:
103b63c000c7a17af78f25b25a71f5fd844c8a30878dcc760460572bebf6162d;
- exact-head five-beat suite: 9 expected / 9 passed;
- full native decode: 720 / 720 frames;
- whole-media disposition: quarantined, not eligible as a film parent.
The first popup visibly presents white at approximately 6.05–6.25s and becomes themed by 6.30s. The second popup repeats the defect at approximately 9.0–9.3s while the first child remains fully themed. The second-popup white raster at approximately 9.10s has SHA-256 66ad5eaebdb6de8253419965342224ebb63c14d6c28e3b0a592d1e706988b20c.
Live latest-open sweep: checked the newest 20 open issues and recent A2A claims at 2026-07-28T19:50Z; no post-merge successor duplicate exists.
The Problem
The selected Neo theme and final child VDOM are correct after boot, but each newly born native popup can expose a transient white document canvas for roughly 150–300 ms. This makes the defect recoverable but still plainly visible inside the continuous docking gesture.
The branch-bound retained-frame matrix from PR #16107 proved carried-theme parity on the frames it sampled. It did not prove absence of a shorter presentation excursion between those samples. DOM presence of the dynamic color-scheme meta is therefore insufficient evidence for physical first-paint continuity.
The simultaneous state—one child fully themed while the next child is white—narrows the defect to per-child bootstrap/presentation. It does not support a global stylesheet-reset diagnosis.
The Architectural Reality
apps/workstation/view/Workspace.mjs#openTearOutVessel() owns the selected me.theme and carries it into the child URL.
apps/workstation/index.html synchronously maps the admitted theme to a dynamically inserted meta[name="color-scheme"] before src/MicroLoader.mjs.
apps/workstation/app.mjs seeds the child viewport from the same validated theme.
src/Main.mjs#windowOpen() deliberately stages same-origin children through about:blank, writes the one-use native-route token, and only then calls location.replace(). That authority order was introduced by PR #15573 and must not regress.
- Current continuous evidence includes white
about:blank frames and white final-URL frames. The exact first-paint boundary still needs a mechanically discriminating mutation matrix.
This remains Workstation-local unless evidence proves that a framework-level initial-canvas contract is required.
The Fix
- Build a high-frequency native mutation matrix that distinguishes the staged blank realm, the earliest final-document paint, and the first themed viewport frame.
- Identify the smallest prepaint owner that keeps the selected Neo theme visible across every physical frame of both popup births.
- Preserve one carried theme authority for both canvas polarity and initial viewport theme.
- Preserve blank → route token →
location.replace() ordering and all existing admission/failure semantics.
- Prove the replacement through continuous physical pixels, not DOM/meta presence or sparse retained samples alone.
Contract Ledger
| Target surface |
Source of authority |
Required behavior |
Fallback |
Docs |
Evidence |
| Popup bootstrap canvas |
validated Workspace.me.theme |
no white or opposite-theme physical frame from native birth through first themed viewport |
configured Workstation default for missing/invalid carrier only |
ticket + source JSDoc |
continuous native frame matrix |
| Child initial Neo theme |
same validated carried value |
first VDOM paint matches the parent-selected theme |
configured default |
source JSDoc |
semantic child-theme receipt plus native pixels |
| Native route admission |
Main.windowOpen() one-use token order |
storage precedes replace; token is consumed by the correct child |
existing failure cleanup |
existing route contract |
unit authority specs plus five-beat journey |
Decision Record impact
None. This is a post-merge regression leaf within the existing native-window and Workstation theme contracts.
Acceptance Criteria
Out of Scope
- The separate full Workstation-body blackouts tracked through #15955.
- The empty/tab-only reintegration shell tracked through #15955.
- Editing away the defect in composition.
- Film promotion before whole-media QA passes.
- A framework-wide bootstrap abstraction without a second proven consumer.
Avoided Traps
- Treating DOM/meta presence as proof of a physical first paint.
- Sampling a small set of retained frames and inferring the unseen intervals.
- Fixed
dark, ambiguous dark light, or host preference as Neo theme authority.
- Styling only
about:blank or only the final document without discriminating the other interval.
- Direct-opening the final URL and reopening the route-authority race fixed by PR
#15573.
- Reopening #16092 after its resolving PR merged.
Related
Regression after PR #16107.
Related: #16092, #15955, #15252.
Origin Session ID: 019f9e1e-2ef1-72c3-a04d-6bc67a531a8b
Retrieval Hint: query_raw_memories("post-merge continuous popup white canvas theme carrier")
Authored by Emmy (@neo-gpt-emmy, GPT-5.6 Sol Ultra, Codex).
Context
PR #16107 resolved #16092 at merged
devcommite981b57d0ba102c2a914aa72b559666c901cadf3by carrying the selected Workstation theme through the popup URL, installing a parser-blockingcolor-schemehint beforeMicroLoader.mjs, and seeding the child viewport from the same carried value.A fresh native five-beat recording on that exact merged head falsified the physical-pixel closure claim. The original ticket remains resolved history; this successor owns only the post-merge regression.
Evidence receipt:
e981b57d0ba102c2a914aa72b559666c901cadf3;103b63c000c7a17af78f25b25a71f5fd844c8a30878dcc760460572bebf6162d;The first popup visibly presents white at approximately
6.05–6.25sand becomes themed by6.30s. The second popup repeats the defect at approximately9.0–9.3swhile the first child remains fully themed. The second-popup white raster at approximately9.10shas SHA-25666ad5eaebdb6de8253419965342224ebb63c14d6c28e3b0a592d1e706988b20c.Live latest-open sweep: checked the newest 20 open issues and recent A2A claims at
2026-07-28T19:50Z; no post-merge successor duplicate exists.The Problem
The selected Neo theme and final child VDOM are correct after boot, but each newly born native popup can expose a transient white document canvas for roughly 150–300 ms. This makes the defect recoverable but still plainly visible inside the continuous docking gesture.
The branch-bound retained-frame matrix from PR
#16107proved carried-theme parity on the frames it sampled. It did not prove absence of a shorter presentation excursion between those samples. DOM presence of the dynamiccolor-schememeta is therefore insufficient evidence for physical first-paint continuity.The simultaneous state—one child fully themed while the next child is white—narrows the defect to per-child bootstrap/presentation. It does not support a global stylesheet-reset diagnosis.
The Architectural Reality
apps/workstation/view/Workspace.mjs#openTearOutVessel()owns the selectedme.themeand carries it into the child URL.apps/workstation/index.htmlsynchronously maps the admitted theme to a dynamically insertedmeta[name="color-scheme"]beforesrc/MicroLoader.mjs.apps/workstation/app.mjsseeds the child viewport from the same validated theme.src/Main.mjs#windowOpen()deliberately stages same-origin children throughabout:blank, writes the one-use native-route token, and only then callslocation.replace(). That authority order was introduced by PR#15573and must not regress.about:blankframes and white final-URL frames. The exact first-paint boundary still needs a mechanically discriminating mutation matrix.This remains Workstation-local unless evidence proves that a framework-level initial-canvas contract is required.
The Fix
location.replace()ordering and all existing admission/failure semantics.Contract Ledger
Workspace.me.themeMain.windowOpen()one-use token orderDecision Record impact
None. This is a post-merge regression leaf within the existing native-window and Workstation theme contracts.
Acceptance Criteria
about:blank, earliest final-document, and first themed viewport frames for both popup births.#15573ordering and failure-path tests remain green.Out of Scope
Avoided Traps
dark, ambiguousdark light, or host preference as Neo theme authority.about:blankor only the final document without discriminating the other interval.#15573.Related
Regression after PR #16107.
Related: #16092, #15955, #15252.
Origin Session ID:
019f9e1e-2ef1-72c3-a04d-6bc67a531a8bRetrieval Hint:
query_raw_memories("post-merge continuous popup white canvas theme carrier")Authored by Emmy (@neo-gpt-emmy, GPT-5.6 Sol Ultra, Codex).