test(app): repeatable live acceptance, usage guide and fixes from real runs - #259
Conversation
… and mobile failures
PR Review — Loreframe StudioRisk: medium Automated review from Findings
Changed files
CONTRIBUTING checklist
Posted by the repo PR review workflow. Re-runs on each push to the PR. |
Code healthQuality score: 55.4/100Higher is better. The score is a trend dashboard; the independent ratchet below remains the CI gate.
Change vs PR base: +0.4 points.
Markdown, JSON catalogs and tests are out of this table. Only Most complex functions
Trend vs baseline
Warnings
Ratchet passed. |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: serverGenReqId_4188a6f1-e732-46f8-af25-bfd316ad4497) |
|
Revisión independiente (worktree aislado; no se tocó el backend Pinokio ni el workspace por defecto). Aporta: harness live repetible con aislamiento real (carpeta
Marcado ready for review. |
The acceptance branch now certifies a current end-to-end Wizard pass against the isolated Pinokio QA backend. The visible Ask to the Wizard panel submitted two independent native generations, then the test observed their canonical tasks, downloaded their published outputs, read sidecar metadata and decoded each output in the browser. The app tour also closes responsive Director/Wizard overlays before continuing, so all main destinations can be audited in one session.
This PR also provides isolated browser workspace selection, explicit backend/profile preflight, preserved attempts and failed-test resume, plus an offline usage guide and capability matrix. Its earlier accepted slices fix the upscale route hiding its service import, a cancelled FIFO head blocking successors, and mobile utility controls consuming the category row. These remain part of the final branch diff.
The final live evidence is preserved under
outputs/app-acceptance-20260908/:wizard-media-live-v5/attempt-20260908T183522786577Z, workspacee2e_wizard_media_v5_20260908_7a01a2fc_mtt0f5be: Flux 2 Klein 9B image, task/jobtask-generation-209a8c26/209a8c26, command0abab03d-21ea-41a6-98f8-283d451bf61e, 35 s inference, 137,291 bytes, browser decode 1280x720; ACE-Step v1.5 XL SFT LM_4B music, task/jobtask-generation-cb282a7f/cb282a7f, command387e6932-72c1-4ff8-95f5-4041a374495d, 47 s inference, requested and decoded duration 20 s, 3,843,268 bytes.app-tour-live-v5/attempt-20260908T185413143401Z: 52 feature and mobile navigation captures passed in 13 s. Workspace isolation reports the server folder asdefaultbefore and after the browser-local test folder.The implementation also fixes three live findings:
Validation on commit
556d77e4:npm run i18n:check, ESLint with--max-warnings=0, TypeScript/Vite build and the 28-test job-lifecycle unittest suite passed.Coverage remains representative rather than every model/parameter combination. The live media pass covers Flux 2 Klein 9B and ACE-Step only; broader model coverage is left to the existing simulated/targeted suites. The image evidence attachment is named
.pngby the generic test label while its canonical published bytes are JPEG; the decoded copy and sidecar metadata preserve the correct JPEG type. The full required CI now passes on556d77e4, including Python, UI and Chromium E2E; both Cursor automations pass. Independent product and harness reviews approve the current delta within their documented scope. The formal Independent QA publisher remains neutral. The generic image test attachment is labelled PNG although its bytes are JPEG; canonical metadata and the preserved.jpgcopy are correct. No merge or release was performed.Note
Medium Risk
Changes affect the GPU FIFO queue, tools upscale wiring, and audio duration submission—areas that can block or mis-schedule generation jobs—alongside a large but mostly isolated E2E surface.
Overview
Adds a repeatable live acceptance harness with timestamped evidence roots,
run.jsonmanifests, safe--resume(failed-test IDs only), andacceptance_report.pyfor an offline HTML audit index. New Playwright scenariosapp-tour,app-generate,app, andwizard-mediaexercise native UI navigation (including mobile), real Flux/ACE-Step/upscale flows, and Wizard-submitted media—with browser-only workspace isolation so shared server folders and global prefs are not overwritten.Production fixes bundled with the audit work: rename
tools_upscaleimport totools_upscale_serviceso the HTTP route no longer shadows the Python module; drain cancelled FIFO queue heads inacquire_generation_slotwhen a worker never starts; mobile TabFilter stacks category tabs vs utility controls; Wizard reconciliation for English audio/voice vs educational “how to” prompts; await model options and treat only zero duration as “auto” so short ACE-Step requests (e.g. 20s) are not replaced by model defaults.Docs add
APP_USER_GUIDE.md,APP_ACCEPTANCE_COVERAGE.md, and expandedWIZARD_ACCEPTANCE_TESTING.md; comic/series Wizard specs gain stricter export and plan-then-apply steps.Reviewed by Cursor Bugbot for commit 556d77e. Configure here.