Proof Portal

Project overview

Omarchy

ProbeLabs73 findings · 87 requirements

A 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.

Map
Component

lock

21 requirements allocated to this component across category functional.

16 open findings affect this component (worst: High). Coverage: 20/21 implemented, 21/21 tested.

Contracts

Interface contracts this component is a producer or consumer of.

No interface contracts

This component neither produces nor consumes a declared interface contract.

Responsibilities

the requirements this component owns, by intent — filter for coverage gaps
Requirement (by intent)CoverageGap
The user shall lock the session on demandSTKSTK-REQ-260912-XJ5DITD
omarchy-update-lock held shall exit 0 only when…SWSW-REQ-260912-0Y70ITD
When fingerprint authentication is available, the lock view…SWSW-REQ-260912-41VVITD
omarchy-hyprland-session-locked shall exit 0 when any…SWSW-REQ-260912-EH0KITD
When omarchy-apply-lock runs with EUID 0, it shall replace…SWSW-REQ-260912-EKJPITD
omarchy-system-sleep-lock shall derive the wait budget from…SWSW-REQ-260912-FAWVITD
omarchy-update-lock run shall open the update lock file on…SWSW-REQ-260912-FVHSITD
omarchy-system-sleep-lock shall request the session lock…SWSW-REQ-260912-GGGSITD
When the budget expires before the session reports secure,…SWSW-REQ-260912-H2YFITD
When the lock IPC handler receives a lock request and…SWSW-REQ-260912-J8SXITD
When the user locks the session and the ttfx screensaver is…SWSW-REQ-260912-MXQGITD
When the idle blank timer expires during a locked session,…SWSW-REQ-260912-ND55ITD
omarchy-apply-lock shall test fingerprint enrollment by…SWSW-REQ-260912-S154ITD
When entered password text exceeds the field width, the…SWSW-REQ-260912-WBS3ITD
When the stranded-lock probe exits 0, the service holds no…SWSW-REQ-260912-WJYMITD
When the target user has no enrolled fingerprint or…SWSW-REQ-260912-Y0WTITD
The system shall report the compositor session-lock state…SYSSYS-REQ-260912-FRG0ITD
While an Omarchy update runs, the system shall hold an…SYSSYS-REQ-260912-H8A5ITD
When suspend is imminent, the system shall request the…SYSSYS-REQ-260912-HC86ITD
The system shall install the PAM password stack for the…SYSSYS-REQ-260912-JW2JITD
When the user locks the session, the system shall engage…SYSSYS-REQ-260912-T0XPITD

Findings 16 open · 0 resolved

Open (16)

known issues, coverage gaps and checks that still need attention

Attached code & tests

traced files across this component’s requirements, deduplicated by path
Code(7 files)
  • LockView.qmlshell/plugins/lock/LockView.qml
  • omarchy-apply-lockbin/omarchy-apply-lock
  • omarchy-hyprland-session-lockedbin/omarchy-hyprland-session-locked
  • omarchy-system-lockbin/omarchy-system-lock
  • omarchy-system-sleep-lockbin/omarchy-system-sleep-lock
  • omarchy-update-lockbin/omarchy-update-lock
  • Service.qmlshell/plugins/lock/Service.qml
Tests(11 files)
  • apply-lock-test.shtest/shell.d/apply-lock-test.sh
  • hyprland-session-locked-test.shtest/shell.d/hyprland-session-locked-test.sh
  • lock-acceptance-test.shtest/shell.d/lock-acceptance-test.sh
  • lock-blank-fingerprint-test.shtest/shell.d/lock-blank-fingerprint-test.sh
  • lock-fingerprint-indicator-test.shtest/shell.d/lock-fingerprint-indicator-test.sh
  • lock-missing-pam-test.shtest/shell.d/lock-missing-pam-test.sh
  • lock-password-overflow-test.shtest/shell.d/lock-password-overflow-test.sh
  • lock-stranded-recovery-test.shtest/shell.d/lock-stranded-recovery-test.sh
  • sleep-lock-test.shtest/shell.d/sleep-lock-test.sh
  • system-lock-test.shtest/shell.d/system-lock-test.sh
  • update-lock-test.shtest/shell.d/update-lock-test.sh

How this component connects

Open in graph
Mapping this component’s neighbourhood…

Discussions

Discuss this with the proof team. Nothing changes in your audit automatically — you open a request and a staff member records any outcome inside the thread.

Sign in to discuss this with the proof team.Sign in