Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
A summon can arrive while the uninstall confirmation shows.
component menu · guarantee · assurance level C
What it says
A summon can arrive while the uninstall confirmation shows. The menu then closes the confirmation and removes nothing, as its Cancel button does. The summoned prompt or route then takes the next key. So the confirmation cannot answer a request that replaced its rows.
when summon_over_pending_uninstall the menu_actions shall immediately satisfy pending_uninstall_dismissedWhere it sits
- Parent
- SYS-REQ-260922-6642
- Satisfies
- SYS-REQ-260922-6642
- Component
- menu
- Traces at the evaluated commit
- 1 implemented by · 1 satisfies · 8 verified by
- Fields this change sets
- status, priority, category, req_type, fretish, description, formalization_strategy, parent, component, rationale, variables, traces.satisfies, verification.assurance_level, verification.formalization_status
Evidence in this change
Changed as intended — Observed passing · 8 tests: 8 passed · 0 failed
Obligations
| Kind of evidence | From | Observed | Tests |
|---|---|---|---|
| Error handling | inherited from SYS-REQ-260922-6642 | No test linked yet | 0 · 0✓ 0✗ 0∅ |
Tests that verify it 1
- test/shell.d/menu-uninstall-confirm-test.shpassed
7 tests observed by the behaviour comparison run: 7 passed · 0 failed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-cancel-button.eventspassed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-enter.eventspassed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-escape.eventspassed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-input-enter.eventspassed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-menu-enter.eventspassed
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-select-enter.eventspassed
- test/bdiff/harness.mjspassed
Code it is traced to
- Implemented by
- shell/plugins/menu/Menu.qml:open
- Changed files (9)
- shell/plugins/menu/Menu.qml
- test/bdiff/corpus/lifecycle/seq-delete-confirm-cancel-button.events
- test/bdiff/corpus/lifecycle/seq-delete-confirm-enter.events
- test/bdiff/corpus/lifecycle/seq-delete-confirm-escape.events
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-input-enter.events
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-menu-enter.events
- test/bdiff/corpus/lifecycle/seq-delete-confirm-then-select-enter.events
- test/bdiff/harness.mjs
- test/shell.d/menu-uninstall-confirm-test.sh
Behaviour changes attributed to it
3 observed output differences · 4 compatibility findings (4 unapproved) — review them on the change
- Same as the select case for an input prompt: base removed the app and cancelled the caller; head answered the prompt with the typed text (empty here) and removed nothing. · intended
- Route summon over a raised confirmation, then Enter. Base: the stale confirmation removed the app. Head: the confirmation was cancelled; Enter activated the first row of the new menu (the app row launches, as in the harness menu) and nothing was removed. · intended
- Delete raised the uninstall confirmation, then a select prompt was summoned and Enter pressed. Base: the stale confirmation answered (Uninstall preselected): the app was removed and the prompt caller got a cancel. Head: the summon cancelled the confirmation; Enter picked the first row (alpha) and nothing was removed. This is the fix. · intended
What to check in review
- Confirm the new requirement is needed, sits in the right part of the spec, and is labeled with the right kind of rule and concern.
- Check that parent decomposition and planned implementation/test/doc evidence are intentional before merge.
- Make sure lifecycle state is merge-ready and not left as unfinished authoring work.
Every fact on this page comes from the evidence package sha256:8921e417abbb…