Report
Status: STALLED
Result
The actual public September master loads at the assigned URL and retains the expected 29 iframe paths, 267 unique legacy-* critique targets, 267 same-origin source references, and master ID komplex-rita-funnel-20260926-master. The adapter passes on 12 of 29 loaded embeds, but 17 embedded documents retain neither an inner review root nor the outer adapter suppression marker. The outer review toolbar also scrolls out of view at the critique appendix, so this review surface does not meet the required all-embedded or persistent-outer-toolbar behavior.
Deliverables and checks
| Deliverable | Requirement or verification | Result | Evidence |
|---|---|---|---|
| master header raster | Actual public master at 1440×1000 has a usable outer toolbar at the header | PASS | Toolbar visible in screenshot and Playwright metadata. |
| critique raster | Representative critique appendix retains a visible outer toolbar | FAIL | Toolbar DOM is visible but its rect is y=-18,321 after scroll, so it has scrolled out of the viewport. |
| standalone persona raster | Standalone customer child retains its original review widget at an allowed customer viewport | PASS | 390×844 screenshot shows the child toolbar after Ctrl+Space. |
| browser metadata | All 29 loaded embedded documents have suppressed inner toolbar, pins, and composer | FAIL | All 29 documents loaded. 12 had the inner root plus suppression marker and computed display:none/pointer-events:none; 17 had neither marker nor root in the embedded document. |
| browser metadata | Inner review shortcut cannot reactivate the embedded widget | PASS for covered child | In embedded persona.html, Ctrl+Space left the toggle aria-pressed=false, root display:none, and pointer-events:none. |
| adapter fixture | Disposable local fixture covers same-origin suppression, shortcut re-disable, one adapter, retained master ID | PASS | Fixture result is PASS. No live comment record was created. |
| staged index | Stable master ID, ordered iframe inventory, 267 unique targets | PASS | Source and public page both contain the ID; live/public and staged both report 29 ordered iframe sources and 267 unique legacy-* values. |
| link runtime check | Source links resolve to the preserved review document paths | PASS | 267/267 checked source files/fragments valid. Public master has 267 same-origin review-source links and no non-owner external link. |
| Playwright QA script | Repeatable actual-browser verification | PASS | npx playwright test … --workers=1 passed; screenshots and metadata were written by the test. |
Findings
| Section | Viewport | Issue | Severity |
|---|---|---|---|
| Critique appendix | 1440×1000 | The outer toolbar uses a document-scrolling position: after navigating to #legacy-kind-ad, its viewport rect is y=-18,321. It cannot be used while reviewing the appendix. |
High |
| Embedded documents | 1440×1000 outer | Only 12/29 loaded documents receive the suppression marker and hidden review root. journey-state, confirmation, cohort-status, day-02 through day-14, and handoff remain uncovered. |
High |
| Standalone persona | 390×844 | Original child review widget remains usable as required. | None |
Prioritized fix list
- Make the outer CommentHTML host/toolbar genuinely viewport-fixed so it remains within the viewport after any master-page scroll.
- Attach the adapter after each lazy iframe reaches its final document, or retry attachment on its load/readiness transition. Verify every one of the 29 same-origin paths receives
data-legacy-suppressionand an inner root hidden from interaction. - Re-run the existing Playwright script and require
fullySuppressed: 29, with the critique toolbar rect inside the 1440×1000 viewport.
Limits or consequential decisions
No record was written to the live comment provider. Provider persistence remains pending_no_remote_write: the read-only browser checks establish adapter behavior only. The direct public master and ads.html requests returned HTTP 200 during this pass; that does not establish comment-provider persistence.
If stalled
The task is stalled only on acceptance of the review surface: the two High-severity adapter failures above require a parent-owned source/deployment correction. The exact resume point is to amend the legacy adapter/outer review CSS, redeploy the September master, then rerun legacy-browser-qa.spec.cjs. No credentials, human decision, provider write, or paid action is needed.