PL-05 Cross-Surface Discovery Sweep
Historical record — 2026-08-16
Preserved as observed. PW-01 remains an open owner decision — the open-work ledger. Current truth: Program Masterplan.
Release boundary:
releaseEligible: false. These are bench-local observations captured on 2026-08-16 and preserved as historical evidence. They are not a canonical patch, locked build, signed package, provenance record, or authorization to ship.
Result
- corpus:
evidence/2026-08-16-pl05-sweep/ - route index: 26 required persona routes
- owner: 10
- guest: 13
- subscriber: 3, including the owned-quiz mutation path
- captures: 53
- every route:
1280Ă—900and390Ă—900 - dedicated quiz route: additional
320Ă—720capture
- every route:
- static signals:
- navigation errors: 0
- console errors: 0
- horizontal-overflow failures: 0
- raw generic-wrapper
dErrassertions: 2, both retained inevidence-owner10.jsonas the initial PW-03 history; neither is an observed product data failure
- findings: 3 records
- open fix-now: 0
- open decision-required: 1
- closed findings: 2
- source changes during discovery: none
Behavioral exercise
| Contract | Observed result | Evidence |
|---|---|---|
Settings autosave at 390Ă—900 | Toggle produced dirty=true, state=unsaved, then state=saved; the original category state was restored. | interactions-owner.json |
| Settings last rail | Clicking the last “Erweitert” rail item set aria-current=true, aria-pressed=true, and #qw-advanced. | interactions-owner.json |
| Large quiz reorder, remove/undo, save | 58-question order changed and was restored; removal exposed Undo; Undo restored all IDs; save returned the WordPress updated notice with post_status=publish. | interactions-owner.json |
| Quiz and question Subject filters | Both list tables retained the selected tech-algorithms filter and narrowed their result rows. | interactions-owner.json |
| Ten-question Player run | Completed all 10 questions. Reload after question 3 offered “Mit Frage 4 von 10 fortfahren”; resume opened question 4; final result rendered and cleared local attempt storage. | interactions-guest.json |
| Password-protected route and embed | Direct quiz route rendered the WordPress password form; the embed rendered “Password required” and linked to the quiz page without exposing the Player. | interactions-guest.json |
| Gutenberg insertion | Mobile insertion rendered .qwizz-quiz-editor-canvas and “QuizWizz-Quiz”. Final desktop verification inserted the visible Quiz option and measured one editor-frame canvas, rendered text, enabled Undo, selected Block settings, and the Quiz combobox; PW-03 is closed without altering the original wrapper history. | interactions-gutenberg.json, gutenberg-final-verification.json |
| Subscriber-owned publication mutation | Owned published quiz was visible, but the user surface exposed no lifecycle control and direct owned-post editing was denied. The required unpublish/re-publish cycle could not be completed. | interactions-subscriber.json |
Decision-required
| ID | Severity | Bucket | Finding | Decision |
|---|---|---|---|---|
| PW-01 | high | source | Subscribers cannot change publication state for their own quizzes. | Decide whether subscribers own publication lifecycle. If yes, provide scoped user-surface controls; if no, make administrator control explicit and remove the owner-mutation contract. |
Closed source finding
| ID | Severity | Bucket | Initial finding | Closure |
|---|---|---|---|---|
| PW-02 | medium | source | The public Builder visibly presented “Quiz erstellen” as its title but had h1Count: 0 at desktop and mobile. | Closed on 2026-08-17 by rendered browser evidence: evidence/2026-08-17-option-f/verify.json records h1#qwizz-builder-title, and two consecutive documented-loader browser passes returned overallPass=true, 30/30 assertions, no console errors, and no page errors. The original no-H1 finding remains preserved in findings.json history. |
Closed evidence gap
| ID | Severity | Bucket | Initial gap | Closure |
|---|---|---|---|---|
| PW-03 | low | evidence | The generic owner10 wrappers could not retain a deterministic Gutenberg insertion assertion. | A bounded final desktop browser pass inserted the Quiz block through the visible inserter and measured one .qwizz-quiz-editor-canvas, “QuizWizz-Quiz”, enabled Undo, selected Block settings, and the Quiz combobox. Original dErr values remain preserved as raw history. |
Release-owner
No new release-owner finding originated in this discovery pass. The pre-existing canonical build, lock, CI, provenance, signing, and authorization gates remain unchanged.
False positives and constraints
- The probe’s two low-contrast Settings hits were
screen-reader-textnodes at1×1; they are not visible-text contrast failures. - Disabled “Nach oben verschieben” controls in classic WordPress meta boxes are core disabled-state presentation, not a new plugin defect.
- The hidden skip link is intentionally
1×1until focused and is not a target-size defect. - Gutenberg’s top window did not expose
window.wp; its editor canvas is framed, and WordPress core contributed a pathological far-offscreen full-page element. The final proof therefore used the visible inserter and a bounded editor-frame DOM measurement rather than editing the raw wrapper outcome.
Cleanup
- temporary subscriber ID
441: deleted and verified absent - fixture posts
1475,1476,1477: deleted and verified absent - two guest attempt records created by the original sweep: deleted
- final Gutenberg verification administrator
448and autosave post1496: deleted and independently verified absent - cleanup records:
evidence/2026-08-16-pl05-sweep/cleanup.json,gutenberg-final-verification.json
Proposed next batch
PW-02 is closed by 2026-08-17 rendered H1 evidence. PW-01 remains decision-required and must not be silently implemented until the subscriber publication-ownership policy is explicit. PW-03 is closed in evidence.