Proof Portal

Project overview

Omarchy

ProbeLabsviewing a historical run

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.

Viewing historical run 020a8c0Sep 29, 2026, 09:27 AMquattroBack to current
All requirements
RequirementSW-REQ-260912-EH0KSoftwareReview

omarchy-hyprland-session-locked shall exit 0 when any monitor lists LOCK in solitaryBlockedBy.

Automated checks pass.
PriorityshallTypeguaranteeCategoryfunctionalComponentlockAssuranceCFindingsnone open

Specification

The requirement exactly as authored — its complete prose text and, where present, the formal FRETish sentence it compiles to.

Description

omarchy-hyprland-session-locked shall exit 0 when any monitor lists LOCK in solitaryBlockedBy. It shall exit 1 when no monitor shows LOCK and at least one monitor is not blocked by WORKSPACE. It shall exit 2 when hyprctl fails or every monitor answer comes back undetermined.

FRETish formula
when lock_state_queried the session_locked shall always satisfy exit_zero_on_lock & exit_one_on_answerable_unlocked & exit_two_on_undetermined
View full formal model

Rationale & tags

Why this requirement exists, and how it is categorised.

Hyprland stops at the first solitary blocker on a monitor with no workspace yet, so a missing LOCK there means the probe never asked. Callers that branch only on success treat 2 as unlocked.

Verification & provenance

How this requirement was checked: the review trail, edit history, and the machine-analysis status terms (each ⓘ explains what it means).

Assurance levelC
Formalizationvalid
Realizabilityrealizable
Vacuitychecked_ok
Strategyfretish

Review

Status
in_review
Reviewer
Kimi Dogfood · AI agent
Reviewed
Sep 12, 2026, 23:50 UTC

History

Created
Sep 12, 2026, 19:43 UTC · Kimi Dogfood · AI agent
Modified
Sep 12, 2026, 23:32 UTC · Kimi Dogfood · AI agent

Change history

Every recorded revision of this requirement's source file — newest first, each with its commit message and the diff for that change.

Review history

Human and AI-agent approvals of this requirement — the 'why was this approved' lineage, each with the reviewer's justification and the code it cites.

  1. Kimi Dogfood · AI agentApprovedSpec conformanceSep 12, 2026 · 3 weeks agoREVIEW-12

    Exit-code triage matches the conjunction: 0 when any monitor lists LOCK in solitaryBlockedBy, 1 when none shows LOCK and at least one monitor answers (not blocked by WORKSPACE), 2 when the state cannot be determined. The sole decision is an exit-status-constant idiom, dispositioned via tooling-limit ignore.

    Cited code (1)

Obligations

What this requirement must witness to be considered satisfied — the required evidence, and the tests that discharge each one.

The tests that discharge each obligation aren't available for a historical run

The evidence matrix behind each obligation comes from the live audit index, which can't be rebuilt for a past commit. Nothing here means unknown — not that the requirement has no obligations.

Code signals

Static-analysis signals from external scanners that bear on this requirement's obligations — the source location, the obligation each touches, and its closure status.

  • Coveredbuiltinstrict_mode_missing
    Obligation: Error handling · Scenario

    Behavior when operations fail or dependencies are unavailable.

    script runs pipelines without `set -e`/`set -o pipefail`

Formula evidence

The formal formula behind this requirement, the variables it is written over, and the tests that exercise it (each term is explained inline).

FRETish formula

when lock_state_queried the session_locked shall always satisfy exit_zero_on_lock & exit_one_on_answerable_unlocked & exit_two_on_undetermined

Witnesses· 2 scenarios total

  • hyprland-session-locked-test.sh:1
    exercises 2 condition scenarios

MC/DC truth table· 6 rows

Each row assigns the formula's conditions (T/F) and shows the Result— the formula's value for that input row, not a test pass/fail. A row proves a condition when flipping only that condition flips the outcome. The test that covers each row is linked.

Covereda test exercises this rowExempteda reviewed mcdc:ignoreNo-actionfalse-result row satisfied by designUncoveredneeds a covering test
#exit_one_on_answerable_unlockedexit_two_on_undeterminedexit_zero_on_locklock_state_queriedResultProvesCovering test
1FFFFTlock_state_queried
2FFFTFlock_state_queriedExempted · defensive — every query run exits through exactly one of the three exit-code returns; a query with no correct exit behavior needs a broken build (reviewed: REVIEW-12)
3FTTTFexit_one_on_answerable_unlockedExempted · defensive — the exit-1 arm is an unconditional return for the answerable-unlocked case; removing it needs a broken build (reviewed: REVIEW-12)
4TFTTFexit_two_on_undeterminedExempted · defensive — the exit-2 arm is an unconditional return for the undetermined case; removing it needs a broken build (reviewed: REVIEW-12)
5TTFTFexit_zero_on_lockExempted · defensive — the exit-0 arm is an unconditional return for the locked case; removing it needs a broken build (reviewed: REVIEW-12)
6TTTTTexit_one_on_answerable_unlocked

Its place

How this requirement connects — what proves it, what it affects, and what it rests on. Authored links only here; automatically derived links come from the audit index.

Loading graph…

Trace evidence

The concrete artifacts linked to this requirement — implementing code, verifying tests, documents, and the findings raised against it.

No findings affect this requirement

Nothing was flagged against this requirement in the pinned run.

Impact

Blast radius — authored trace links only (automatically derived links come from the audit index and aren't shown here).

If you change this

Requirements
0
Files
1
Tests
1
At-risk contracts
0

Files to re-check (1)

  • omarchy-hyprland-session-lockedbin/omarchy-hyprland-session-locked

Tests to re-run (1)

  • hyprland-session-locked-test.shtest/shell.d/hyprland-session-locked-test.sh

What this rests on

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