Desktop Material

Close-all-open-issues verification run

Expected UI and behavior

Issue #96 strengthened source checkpoint

Post-checkpoint acceptance and CI reconciliation

Final-build issue acceptance matrix

Existing PNG presence is not acceptance. All visual rows below require the fresh final build, original-pixel inspection, privacy checks, and retained receipts where declared.

Issue Exact verifier/scene Required candidate evidence Ordering and fixture constraint
#23 gallery_capture_plan.js; canonical capture; every declared specialist verifier; Pages verifier 84 promoted Windows PNGs: 67 canonical plus 17 specialists; specialist receipts; Pages desktop/mobile captures Canonical driver emits 68 candidates, but material-cheap-lfs-preparing.png is deferred. The private live pair and packaged updater are separate gates.
#80 capture_gallery_cdp.js --scenes canonical-remote-warning-evidence canonical-remote-warning-1280x860.png; canonical-remote-warning-evidence.json Provider-backed P0 fixture, English, clean branch ahead of origin; exactly one actionable warning, no generic duplicate, dialog, receive-pack, or ref mutation; restore origin.
#81 capture_gallery_cdp.js --scenes tab-group-management-evidence collapsed, edit, and persisted 1280×860 PNGs; switch-receipt.json Fresh isolated profile with one ungrouped tab and zero groups; the scene creates two fresh Git repositories. Also refresh the gallery tab-group frame.
#82 verify_progressive_loading_cdp.js failure and recovered 1280×860 PNGs; issue82.json First action in a fresh renderer, before another deferred section opens; require all seven repository-*.js chunks; restore the sabotaged chunk and verifier state.
#85 real operation fixture, then verify_issue_85_encrypted_restore_cdp.js operation.json; decrypting-bilingual.png; decrypting-bilingual.json Separate owned direct-Temp root and disposable Git repository; prove genuine Downloading → Decrypting → Decompressing → Verifying → Materializing callbacks.
#87 canonical error-notice plus cheap-lfs-commit-password-evidence material-error-notice.png; commit-auto-pin-password-dialog.png Provider-backed fixture; background path is one non-modal skip notice with no password dialog, upload, anchor, or swallowed commit; interactive scene proves the real empty-password dialog and cancellation.
#94 capture_gallery_cdp.js --scenes tab-group-tooltip-dismissal-evidence 1440×960 and 1180×820 dismissal PNGs Fresh profile; zero stale owner tooltip, dialog in #dialog-layer, six usable swatches, contained geometry.
#95 capture_gallery_cdp.js --scenes tab-group-member-singular-evidence tab-group-member-singular-1280x860.png Fresh English/light profile; visible and accessible copy must both say “1 tab”; unit tests carry zero/many and Cantonese.
#96 affected pair, then complete app/test/unit/cheap-lfs suite test/build/CI logs; no PNG Recorded source checkpoint is 82/82 and 673/673; rerun final-tree typecheck/lint/build and prove pushed-default ancestry and CI.

The P0 UI order is fixed: prepare the fixture/provider, launch the final unpackaged build on the owned desktop, run #82 first in the untouched renderer, then canonical and other P0 scenes. #81 uses a separate fresh profile, #85 a separate owned root, and the updater a separate exact packaged development build and desktop. Never promote a partial gallery.

Ordered background interactions

  1. Preflight the exact lowlevel-computer-use MCP HTTP server, scheduled-task command, and MCP checkout revision.
  2. Run the reproducible unpackaged production build through the MCP server.
  3. Create one owned temporary run root containing deterministic Git fixtures, isolated app user data, captures, logs, and a cleanup ledger.
  4. Create one uniquely named off-screen Win32 desktop.
  5. Launch only the freshly built Desktop Material Electron binary with --disable-gpu, the isolated user-data directory, and the disposable fixture supplied through --cli-open.
  6. Resolve the live HWND from the saved PID, capture a stable nonblank frame, and use only HWND-targeted allowlisted input.
  7. Exercise each UI acceptance path, recapturing after every meaningful state transition.
  8. Inspect candidate PNGs at original resolution, promote only accepted captures, then verify dimensions, bytes, and SHA-256.
  9. Gracefully close the verified HWND, fall back only to the exact saved PID, close the owned desktop, and remove only containment-checked owned paths.

Fixture and capture contract

Change and documentation allowlist

Any path outside this allowlist requires an explicit manifest update explaining why it is necessary before it is staged.

Verification gates

Issue closure requires shipped remote ancestry plus acceptance evidence. If an issue is genuinely blocked by missing external authority or information, the run will record the exact blocker and will not misrepresent it as closed.

Headless preflight receipt

Final main integration updater capture continuation

Continuation preflight receipt

Superseding current-source updater acceptance — 2026-07-29

This section supersedes only the unfinished updater-capture state above. The dated preflight, rejected attempts, and historical cleanup facts remain accurate records of those earlier runs.

The verifier exercised real Electron/Squirrel events through loopback with a disclosed inert, no-executable 9000.0.1 full nupkg. Acceptance required the current development x64 source, frontmost About, onboarding absent, and the exact updater-ready state. Protected install and external state remained unchanged. File Exit was requested, followed by the graceful direct-quit fallback; Quit and Install was never clicked. The owned processes, registry state, install tree, profile, temporary state, and ready tree were removed. The desktop then listed zero windows before it was closed.

Original-pixel inspection had rejected a prior formally successful capture because the Welcome surface covered About. The fixed verifier now requires the first-run checklist to be absent and uses elementFromPoint to prove About is frontmost before capture. No temporary or private path is retained in this publication record.

香港粵語:舊 run 嘅失敗紀錄照留,但新 run 已經用真 Electron/Squirrel 事件、離屏視窗同完整清理證明收貨;Welcome 遮住畫面嗰張舊候選圖唔算數, 修正 gate 之後先發佈。