Desktop Material

Current frozen-renderer capture ledger — 2026-08-21

The previous capture ledger was derived from a removed design-contract fixture and described the reverted MD3 shell. It could neither regenerate nor honestly describe the current desktop UI. This replacement inventory is hand-written and maps each required current surface to the source module that renders it.

The ledger is app/test/fixtures/capture-coverage.json and is regenerated by script/extract-capture-coverage.mjs. The companion coverage test rejects a missing mapping, missing source file, missing high-risk row, missing pending reason, or a claimed capture with no commit and PNG.

Baseline and evidence state

No capture was collected by this reconciliation. Existing gallery images are historical evidence only; they are not counted as proof of the frozen current renderer.

Current high-risk evidence rows

Area Ledger rows Current source boundary
Toy-lock enforcement toy-lock-disabled-target, toy-lock-unlock-prompt, toy-lock-appearance-value appearance-lock-gate.ts, prompt host, current tab and appearance-editor routes
School mode school-mode-active, school-mode-renamed-discovery app root, Appearance, settings-search, command-palette catalog
Narrator controls narrator-voice-automatic, narrator-voice-unavailable Sound preferences and narrator-voice resolver
Attention accommodations five attention-* rows Attention preferences and current app root
Support Tickets and authenticator history support-tickets-*, authenticator-history About/Help, support desk, Authenticator settings, version-history surface
Publishing recovery publish-account-selection, publish-organization-retry, publish-reauthentication current Publish repository dialog

How to close a row

  1. Build the Windows desktop application from the intended commit.
  2. Use the approved headless capture route and script/capture-app.js only against that built artifact.
  3. Save the PNG under docs/assets/screenshots/<ledger-id>.png and record the exact capture commit in the ledger.
  4. Run the focused coverage contract after the source and receipt are present.

Do not rename, rebuild, or restore the reverted shell in order to satisfy this inventory. A row is evidence for the current UI, not a request to change it.