Maintainer decision, 2026-11-02: the core implementation and basic live behavior are sufficient for this stage. The original exhaustive done checklist was not fully satisfied and the contract is not marked Final; unfinished verification and known failures remain visible as future work.
A quiet live Wayland desktop is not assumed to yield a reliable single-environment 7/7. Record that a purpose-built private compositor/XWayland harness may be needed and whether split-environment evidence suffices is open for review.
Phase 4 remains in progress and the contract is not Final. This records the verified interim results, the open Wine title and Battle.net blockers, the incomplete Braille pass, and the owed quiet-desktop wine-access CTest run.
Maintainer amendment: no fresh Phase 4 session; the maintainer runs the live corpus, the master session records results and runs automated checks, and defect sessions are spawned only on proven need.
Maintainer disposition: no Phase 4 fix or wine-access defect branch for the pre-attached edit subclass; record it honestly in the Phase 4 results. Future work item: dynamic add/remove of hook exclusions inside the running helper.
Wine preferences tab landed as 75f34ea with maintainer flesh-test results; the pre-attached edit-subclass dynamic-addition caveat is recorded and localized for Phase 4.
Phase 3 of the Wine/Proton stage (decisions 6, 9, 13, 19 in docs/testing/wine-proton.md): a global-only Wine tab modeled on the Pronunciation page, with the controller-only checkbox and a typed editable program list. Wine values flow through the preferences protocol so a global Apply reaches the live Wine settings from Phase 2 with no reader restart. Entries are validated as edited and named in-tab, blocking Apply until fixed; case-insensitive duplicates collapse. Per-application preferences expose no Wine editing and an app-scoped Apply cannot change the governing list.
Live Wine settings landed as 9a10a15; includes the maintainer smoke results and the settled note that external settings-file edits have never auto-reloaded in Go or legacy Cthulhu.
Phase 2 of the Wine/Proton stage (decisions 3, 4, 16, 17, 19 in docs/testing/wine-proton.md): replace the Wine manager's startup snapshot with a live settings source read once per poll, so accepted global settings take effect with no reader restart. The source publishes only the active/global profile's Wine values; per-application profile switching never changes the governing list. A newly listed running program restarts its helper once in the same mode; removals and clearing the global switch never downgrade a running helper.
Settled decisions, scope and done checklist in wine-proton.md; execution ledger with batch amendments, the satisfied Phase 0 gate and the accepted Phase 1 handoff in wine-proton-phases.md.
Phase 1 of the Wine/Proton stage (decisions 2, 5, 16, 17, 18, 24 in docs/testing/wine-proton.md): classify the helper exclusion-count line as info, parse the ready hook_exclusions count, mirror programs=[...] extra=[...] in the helper-start record, and stop passing prefix-wide --no-dialog-reader merely because a listed program is present, so ordinary programs in a mixed prefix keep dialog reading. Wholesale mode remains for the global controller-only switch, the environment override, and helpers whose ready record does not confirm the exclusions sent; unconfirmed binaries are remembered. A newly listed running program restarts its helper once in the same mode; removals never downgrade.