Proof Portal
Omarchy
omarchy75 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.
The JSONC stripper takes any text as input.
component menu · guarantee · assurance level C
What it says
The JSONC stripper takes any text as input. Outside string literals, each character that JS \s matches is whitespace. This includes ASCII whitespace with the vertical tab and the form feed, and a byte order mark U+FEFF at the start or anywhere else. It also includes the Unicode spaces U+00A0, U+1680, U+2000 to U+200A, U+2028, U+2029, U+202F, U+205F and U+3000. The stripper keeps each line feed and emits each other such character as one ASCII space. Inside string literals it copies every character unchanged.
when space_outside_string the menu_model shall always satisfy space_passed_as_asciiWhere it sits
- Parent
- SYS-REQ-260922-PPDW
- Satisfies
- SYS-REQ-260922-PPDW
- Component
- menu
- Traces at the evaluated commit
- 1 implemented by · 1 satisfies · 2 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 · 2 tests: 2 passed · 0 failed
Obligations
| Kind of evidence | From | Observed | Tests |
|---|---|---|---|
| Boundary | inherited from SYS-REQ-260922-PPDW | Observed passing | 1 · 1✓ 0✗ 0∅ |
| Error handling | inherited from SYS-REQ-260922-PPDW | Observed passing | 1 · 1✓ 0✗ 0∅ |
| Malformed input | its own checklist | Observed passing | 2 · 2✓ 0✗ 0∅ |
| Totality | its own checklist | Observed passing | 2 · 2✓ 0✗ 0∅ |
Tests that verify it 2
- test/node/menumodel-replay.test.mjspassed
- test/shell.d/menu-test.shpassed
Code it is traced to
- Changed functions
- shell/plugins/menu/MenuModel.js:stripJsonc
- Implemented by
- shell/plugins/menu/MenuModel.js:stripJsonc
- Changed files (3)
- shell/plugins/menu/MenuModel.js
- test/node/menumodel-replay.test.mjs
- test/shell.d/menu-test.sh
Behaviour changes attributed to it
123 observed output differences · 124 compatibility findings (124 unapproved) — review them on the change
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · intended
- a JS whitespace character JSON does not accept, outside strings, is read as a space (b2dae8db): the file parses instead of emptying · 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:a97b50725d21…