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Ă—900 and 390Ă—900
    • dedicated quiz route: additional 320Ă—720 capture
  • static signals:
    • navigation errors: 0
    • console errors: 0
    • horizontal-overflow failures: 0
    • raw generic-wrapper dErr assertions: 2, both retained in evidence-owner10.json as 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

ContractObserved resultEvidence
Settings autosave at 390Ă—900Toggle produced dirty=true, state=unsaved, then state=saved; the original category state was restored.interactions-owner.json
Settings last railClicking the last “Erweitert” rail item set aria-current=true, aria-pressed=true, and #qw-advanced.interactions-owner.json
Large quiz reorder, remove/undo, save58-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 filtersBoth list tables retained the selected tech-algorithms filter and narrowed their result rows.interactions-owner.json
Ten-question Player runCompleted 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 embedDirect 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 insertionMobile 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 mutationOwned 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

IDSeverityBucketFindingDecision
PW-01highsourceSubscribers 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

IDSeverityBucketInitial findingClosure
PW-02mediumsourceThe 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

IDSeverityBucketInitial gapClosure
PW-03lowevidenceThe 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-text nodes at 1Ă—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Ă—1 until 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 448 and autosave post 1496: 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.