Verify every setting actually does something

The audit that followed "some things in the settings app don't work".

Sixty-five settings reach the compositor and five of them were checked
against it. The rest were covered only by tests that read source text,
which is exactly where a dead setting hides: the write no-ops, nothing
fails, nothing logs, and the row simply does nothing.

The sweep drives each setting through SystemSettings.commitPreference --
the entry point a settings row uses -- flips it to a value it does not
hold, reads it back from the live compositor, and puts it straight back
before touching the next one. Settings Panama stores itself get the same
treatment against the store, since a value that fails to persist is the
same dead row from the outside.

Result: 61 of 63 compositor settings verified against the running
compositor, and 51 stored settings round-tripped. No failures. The
breakage was confined to the Applications page, which is fixed.

Proven able to fail before being trusted: with commitPreference stubbed
to return true without applying, 61 settings are reported; with the
store stubbed to return nothing, 51 are. A one-second settle window
keeps a slow read from being reported as a dead write, which it briefly
was.

Also here: control-center-contract asserted the literal margin
expression that made the panel hang 38 pixels below the bar, so the
contract and the code agreed and the bug was invisible to both. And
settings-page-registry-contract is deleted -- settings-nav-contract
already checked those files and more. It would have caught the Storage
page omission if I had run the suite instead of a hand-picked subset.

Claude-Session: https://claude.ai/code/session_01BRvzt4H8XXLPVH5MyYdk9L
This commit is contained in:
Gabriel Brown
2026-08-19 12:17:27 -04:00
parent b743f44c5b
commit 180308135a
4 changed files with 402 additions and 61 deletions
+7 -1
View File
@@ -69,7 +69,13 @@ rg -Fq 'readonly property int controlCenterWidth: 430' \
rg -Fq 'readonly property int controlCenterTopGap: 2' \
"$source_config_path/config/Theme.qml" \
|| fail 'approved top attachment is missing'
rg -Fq 'margins.top: Theme.barHeight + Theme.controlCenterTopGap' \
# The margin is the GAP alone. This used to assert the bar height plus the gap,
# which is what the code said and what made the panel open 38 pixels below a bar
# it was written to sit 2 pixels under: an exclusiveZone of 0 already places the
# surface below the bar's reserved space, so naming the bar height again counted
# it twice. The contract agreed with the code and so the bug was invisible to
# both. layer-margin-contract now holds that rule for every surface.
rg -Fq 'margins.top: Theme.controlCenterTopGap' \
"$quicksettings_path/QuickSettings.qml" \
|| fail 'Control Center is not tightly attached to the bar'
rg -Fq 'implicitWidth: Theme.controlCenterWidth' \