Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 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.

Inbox
ReportR-635GitHub issuePublicFixed

Lid close suspends mid-task: skip suspend for working agents and on demand

Reported by colorfulfool · filed Sep 12, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Lid close suspends mid-task: skip suspend for working agents and on demandrevision 1 · captured 2026-09-28 21:23 UTC via poll

Problem

Closing the lid suspends the machine immediately, whatever is running. That regularly lands mid-task: #10203 tracks an update killed by a lid close, and the same fate hits coding agent runs — close the lid on the way to a meeting and hours of agent work stall on suspend.

There is currently no way to say "not this close," and the system has zero awareness of background work. Lid close is an unconditional suspend (modulo dock/docked config), full stop.

Solution

Two safeguards, both fail-open:

  1. Skip once, anywhere. omarchy toggle lid-suspend skip-once (Super + Alt + L) skips suspend for the next lid close only, on AC or battery — the user explicitly asked for it, so we assume they know what they're doing. The lid still locks, it just does not suspend. Consumed on reopen; disarms after 30 minutes.
  2. Automatic guard, AC only. While herdr reports a working agent and the machine is on AC power, lid close never suspends. On battery the guard stays out of the way — a working agent must never silently drain a battery in a bag. Hyprland's lid-switch binds still fire, so omarchy-system-lid-close keeps locking and reconciling displays. No herdr installed, no guard — the lid behaves exactly as before.

omarchy toggle lid-suspend status shows whether a skip is armed and whether the guard currently holds the lid.

Rabbit holes (out of scope)

  • General activity detection (CPU, per-app heuristics) — herdr's working state is the only signal.
  • Battery-level-aware guarding (e.g. "guard below 80%") — the rule is binary: AC guards, battery doesn't.
  • Touching the lock path — omarchy-system-lid-close is untouched; the inhibitor only suppresses logind's suspend action.

No-gos

  • No new hard dependencies — herdr is optional, absence means fail-open.
  • Never suspend a docked closed lid — clamshell stays awake.
  • No persistent "never suspend on lid close" mode — the manual side is one-shot by design; the permanent toggles (suspend-off) already exist for that.
View raw text
## Problem

Closing the lid suspends the machine immediately, whatever is running. That regularly lands mid-task: #10203 tracks an update killed by a lid close, and the same fate hits coding agent runs — close the lid on the way to a meeting and hours of agent work stall on suspend.

There is currently no way to say "not this close," and the system has zero awareness of background work. Lid close is an unconditional suspend (modulo dock/docked config), full stop.

## Solution

Two safeguards, both fail-open:

1. **Skip once, anywhere.** `omarchy toggle lid-suspend skip-once` (`Super + Alt + L`) skips suspend for the next lid close only, on AC or battery — the user explicitly asked for it, so we assume they know what they're doing. The lid still locks, it just does not suspend. Consumed on reopen; disarms after 30 minutes.
2. **Automatic guard, AC only.** While herdr reports a working agent **and the machine is on AC power**, lid close never suspends. On battery the guard stays out of the way — a working agent must never silently drain a battery in a bag. Hyprland's lid-switch binds still fire, so `omarchy-system-lid-close` keeps locking and reconciling displays. No herdr installed, no guard — the lid behaves exactly as before.

`omarchy toggle lid-suspend status` shows whether a skip is armed and whether the guard currently holds the lid.

## Rabbit holes (out of scope)

- General activity detection (CPU, per-app heuristics) — herdr's working state is the only signal.
- Battery-level-aware guarding (e.g. "guard below 80%") — the rule is binary: AC guards, battery doesn't.
- Touching the lock path — `omarchy-system-lid-close` is untouched; the inhibitor only suppresses logind's suspend action.

## No-gos

- No new hard dependencies — herdr is optional, absence means fail-open.
- Never suspend a docked closed lid — clamshell stays awake.
- No persistent "never suspend on lid close" mode — the manual side is one-shot by design; the permanent toggles (`suspend-off`) already exist for that.

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

  • Fixed bypr/11525· confirmed
  • Related PRpr/12882· confirmed
  • Related PRpr/14273· confirmed
  • Related PRpr/14959· confirmed

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 12:19 UTC