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-4501GitHub issuePublicReceived

Headless bar widget contract skip exits with status 1

Reported by almondsun · filed Jul 21, 2026Closed upstream on 2026-07-23 by the merge of PR #6338 (closed by dhh). GitHub close reason: completed.

Received and recorded verbatim. Nothing has been checked yet.

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?
Not yet mapped to any requirement or component.
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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

Headless bar widget contract skip exits with status 1revision 1 · captured 2026-10-04 11:56 UTC via poll

System details

Ryzen 3 5300U with integrated Radeon graphics, running the current quattro branch at 0526ebef. The test is run from a terminal without WAYLAND_DISPLAY set.

What is wrong?

The bar widget contract test prints a successful skip message in a headless environment, but exits with status 1:

$ env -u WAYLAND_DISPLAY bash test/shell.d/bar-widget-contract-test.sh
ok - no Wayland compositor; skipping bar widget contract test
$ echo $?
1

This also causes ./test/shell to stop at this test instead of continuing through the suite.

The EXIT trap calls cleanup, whose final command is a conditional [[ ... ]] && rm ... expression. On the early skip path, TMPDIR is unset, so that expression returns 1 and changes the explicit exit 0 into a failure.

Expected: the headless skip exits 0 and the aggregate shell suite continues.

A minimal fix is to make the optional temporary-directory cleanup an if block so a missing directory is a successful no-op.

Investigation and proposed fix prepared with Codex; I reproduced and reviewed the behavior locally.

View raw text
### System details

Ryzen 3 5300U with integrated Radeon graphics, running the current `quattro` branch at `0526ebef`. The test is run from a terminal without `WAYLAND_DISPLAY` set.

### What is wrong?

The bar widget contract test prints a successful skip message in a headless environment, but exits with status 1:

```console
$ env -u WAYLAND_DISPLAY bash test/shell.d/bar-widget-contract-test.sh
ok - no Wayland compositor; skipping bar widget contract test
$ echo $?
1
```

This also causes `./test/shell` to stop at this test instead of continuing through the suite.

The EXIT trap calls `cleanup`, whose final command is a conditional `[[ ... ]] && rm ...` expression. On the early skip path, `TMPDIR` is unset, so that expression returns 1 and changes the explicit `exit 0` into a failure.

Expected: the headless skip exits 0 and the aggregate shell suite continues.

A minimal fix is to make the optional temporary-directory cleanup an `if` block so a missing directory is a successful no-op.

Investigation and proposed fix prepared with Codex; I reproduced and reviewed the behavior locally.

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

Not linked to any known issue, other report or change yet.

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.

No decision has been recorded yet.