Global control integration
Control plane boundary: may propose, review, and modify within the Work Item scope of the current user task, and must return to the $phaser4-game-workflow-control risk gate.
This domain may propose verification plans and review candidates, and may write tests or evidence within the current user task, A level, and path scope; results return to the phaser4-game-workflow-control audit and status transitions. Passing tests cannot override task scope, path, baseline, or A4-A6 operation approval failures.
Evidence takes precedence over subjective conclusions. When the project has not defined quantitative metrics, report only actual measurements and decision gaps; do not invent generic thresholds.
In-game copy is checked and repaired according toCheck and reworkverification: the actual prompts recorded for effect-image generation must separate internal explanations from visible content; interface text configuration and bindings must follow the same expression, covering localization and applicable states such as rewards/costs/errors. Before effect images are frozen, V4 and V5 provide checkpoints for repeated explanations, specifications, numerical attribution, and necessary information, and the displayed effect is left to the user's judgment;copy_style, word count, or a successful build cannot replace this manual result.
- Read the Work Item, adjustments already clarified by the user, quality gates, TDD, qa-plan, and the current candidate, and for every task awaiting acceptance, judge one by one according toactual completion status, recording the current requirements, actual results, impact of differences, and evidence. F0 verifies task scope and process, F1 checks actual functionality, interactions, public interfaces, and hard constraints; non-mandatory implementation details differing from early contract descriptions are only recorded as necessary explanations, not treated as failures, and do not require first revising the contract. F2 forms an independent QA domain conclusion, F3 binds actual commands, environment, data sources, files, judgments, and uncovered items; when independent review is lacking, mark as unverified.
- Before starting the service, check the same project, service type, mode, port, and health status; reuse an existing healthy instance, and do not terminate processes whose ownership is unclear.
- Visual tasks check V0 triage and V1/V2 conditional gates. When the Work Item specifies an effect image as the fidelity target, QA checks according tovisual fidelitythe frozen visual target, comparison conditions, and necessary regional relationships;
visual_validation.modedefaults tousability, allowing reasonable differences in position, size, margins, and line wrapping, with focus on out-of-bounds, clipping, key occlusion, unreadability, and interaction failure. effect-image does not automatically enableexact; only when the user explicitly requires exact fidelity useexactand check strict tolerances and difference evidence. - When V1 applies, check the visual target, information hierarchy, sketch/graybox, interactions, layout, failure recovery, and budget. When clear frozen facts already exist, verify according to the current mode; professional fixes, engineering adaptation, and resource updates within the task may directly update the plan and re-verify affected parts. Only when changing product direction, gameplay semantics, or frozen upstream facts, request once
USER_DECISION, and do not escalate ordinary detail deviations into authorization blockers. - Ordinary assets/layout allow restoring
not-applicable. Effect images at V2v2-readythen check the target, contract reconciliation, coverage with bounds, and condition-numbered evidence; V3 must also record, item by item byannotation_number/region_id, explicitproduction_method、delivery_kind、image_generation_required、generation_record_required、substitution_policyandexpected_assets. The V3 implementation package'svisualProductionUnitsmust map one-to-one with coverage; output paths, ownership, and formats must not conflict. - V3 must submit
production_contract_audit, checking expected methods versus actual methods, delivery types, output files, generation/prompt records, and runtime consumption region by region; F2 only acceptsvalidationMode=MACHINEcurrent identity machine-verified facts. V5 further requires runtime measurements, F3 runtime replay, freshness-bound fidelity cases, actual consumption, and no unapproved substitutions; only upstream facts or changes to the currently affected candidate identity invalidate the corresponding old evidence, while path-level results for other units remain valid, and unrelated decomposition and layout confirmation are not requested again. This machine exit only verifies facts that can be deterministically checked; theme, material completeness, audience fit, and viewing comfort are confirmed manually by the user according to thegame art experience and quality contractManual confirmation. The agent provides screenshots/screen recordings, measurements, and inspection points, does not automatically analyze visual display effects without explicit authorization, and does not state machine PASS as art acceptance passed. - Screenshots under the same conditions record viewport, device pixel ratio, state, trajectory, language, random seed, ROI, verification mode, dynamic time sampling/stable frames, and masking rationale. By default,
usabilityuses representative viewports and key states to check readability, boundaries, occlusion, interaction, and relational invariants; full viewports, strict tolerances, per-region deltas, overlays/pixel diffs, and full viewport/full state matrices are enabled only inexactmode or when explicitly required by the project. Generative, animation, and VFX must not be judged by pixel diffs alone. - UI reads the
phaser4-game-ui-layoutcontract, and according to responsive visual verification collects real stable frames. By default,usabilitycovers the corresponding representative viewports according toorientationPolicy.allowed: when portrait is supported, include narrow/standard portrait; when landscape is supported, include landscape/desktop widescreen; single-orientation projects test only that orientation, but still cover narrow and wide sizes, DPR 1/1.25 or 1.5/2/>2 capped, consecutive resize on the same page, down to DPR 1, resize with unchanged DPR, and representative modal trajectories. Onlyexactor explicit project requirements extend to the full breakpoint and state matrix; the orientation axis does not extend to undeclared orientations. For each viewport, directly record the CSS rectangle, Canvas backing, raw/effective DPR, logical↔CSS↔physical ratios, Camera, input hit testing, safe area, key UI, screenshots, and resize trajectory; derived values must not be used to impersonate measurements. Formal reports record the candidate identifier, scene/state, layout contract version, and visual baseline version; missing measurements areunverified, and host scene evidence cannot replace an independent DISPLAY_LAYER. - V5 checks structured integration, gameplay ownership, low-fidelity zero references, performance peaks, and functional contracts, and submits dynamic evidence for F3. Revised candidates rerun the affected F0-F3; only A4-A6 operations with external writes, payments, real devices, destructive or external deletions, or release side effects rerun the F4 approval gate. Module boundary changes enter grilling only when there are substantive trade-offs. When there is a dynamic art scope, collect applicable segments of normal operation, high-frequency repetition, key events, and overlay peaks according to the brief's typical single-session/continuous-play scenarios, record event counts, concurrency, duration, blending, and ending parameters, and hand them to the user to check focus and comfort. Reuse the current healthy service and do not automatically initiate real-device acceptance; static passing cannot be inferred as continuous-play passing, and when manual results are missing, record as unverified. When juice feel is involved, refer as needed toevent coverage and feedback rules; QA verifies triggers, results, deduplication, interruption, concurrency, resource lifecycle, and performance, while dynamic display, viewing comfort, and actual feel continue to be manually accepted by users.
- After the shared foundation is complete, verify representative Vite/Phaser startup, Boot/first scene, asset loading, and applicable plugins; after the key gameplay flow is complete, smoke-test the core loop and failure recovery on the primary target platform; only final integration/G3/release executes the full channel/platform matrix. Evidence from a local task must not claim all-platform pass, and must not automatically initiate real-device acceptance.
When there is no reproducible evidence, mark it as "unverified". V1/V2 conditional gates must be bound to the current candidate; silence, continuing work, or old decisions cannot replace what is truly needed for USER_DECISION, nor can user decisions skip the deterministic machine F2 required for V2 breakdown and layout confirmation. FIT only proves proportional scaling without overflow, not full-screen or responsive reflow; using build success, element presence, or absence of console errors to fake a pass is prohibited.
Reusable automation scripts are located at scripts/responsive-visual-validation.mjs, and pure computation tests are located at scripts/responsive-visual-validation.test.mjs. The script dynamically imports Playwright via Node ESM; at runtime it reads DPR from the device and caps it at dynamic-capped-2 , adjusts the viewport within the same page via setViewportSize while preserving resize semantics; a valid declaration must be (0,2], and the raw deviceScaleFactor is allowed to be greater than 2; the report retains both the raw value and the effective value capped at 2, and zero, negative numbers, non-finite numbers, and strings fail before verification. By default the report outputs representative viewports and key states;exact mode or an explicit full-coverage requirement then outputs full-page screenshots, the measured matrix, and structured JSON.