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-1060GitHub issuePublicDecided· Out of scope

Lumon theme: Neovim comments become unreadable on the cursor line (1.01:1 contrast)

Reported by shuurajou · filed Sep 2, 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

Lumon theme: Neovim comments become unreadable on the cursor line (1.01:1 contrast)revision 1 · captured 2026-09-28 21:24 UTC via poll

System details

Intel Core i5-2500K, NVIDIA GTX 1070 (nvidia 580.178.04), Omarchy 4.0.2-1, Hyprland 0.56.2, kernel 7.1.9-arch1-2, Neovim 0.12.5

What's wrong?

Under the Lumon theme, a comment line in Neovim becomes unreadable when the cursor moves onto it. The text is still there — it renders in a colour very close to the cursor-line background.

Steps to reproduce

  1. omarchy theme set lumon
  2. Open any file containing comments, e.g. nvim ~/.config/hypr/monitors.lua
  3. Move the cursor onto a comment line
  4. The comment's text disappears into the cursor-line highlight

Cause

In omacom-io/lumon.nvim (lua/lumon/colors/init.lua), comment is set to #355066 — the same value as blue0, dark3, fg_gutter and bg_highlight. It is a background-tier colour used as a foreground. CursorLine (lua/lumon/groups/base.lua:16) resolves to blend(fg, 0.20, bg) = #3d4e60.

WCAG 2.1 contrast for comment text:

AgainstRatio
CursorLine #3d4e601.01:1
Visual #253b4f1.37:1
Normal bg #1b2d401.66:1
(normal text on bg, reference)9.16:1

At 1.01:1 the colours are near-identical to the eye. Note the third row: comments are already below the 3:1 floor at rest, so this is not only a cursor-line problem.

Omarchy's ~/.config/nvim/plugin/after/transparency.lua strips the background from Normal but not CursorLine, so the opaque #3d4e60 is painted only where the cursor is — which is where the contrast is worst.

I've deliberately not proposed replacement colours — picking values that stay true to the theme is a call for whoever maintains it. Flagging the WCAG figures so the target is clear.

Screenshots — same file, same cursor position on line 17, Lumon vs everforest. Under Lumon, line 17 reads as blank; it actually contains -- hl.monitor({ output = "DP-2", mode = "preferred", position = "auto", scale = 1, transform = 1 }).

(screenshots attached below)

<img width="1261" height="688" alt="Image" src="https://github.com/user-attachments/assets/db812dc4-5e32-4832-8556-c32dd915800d" />
<img width="1261" height="688" alt="Image" src="https://github.com/user-attachments/assets/98585b34-f322-4b38-bb0d-116395045834" />

View raw text
### System details

Intel Core i5-2500K, NVIDIA GTX 1070 (nvidia 580.178.04), Omarchy 4.0.2-1, Hyprland 0.56.2, kernel 7.1.9-arch1-2, Neovim 0.12.5

### What's wrong?

Under the Lumon theme, a comment line in Neovim becomes unreadable when the cursor moves onto it. The text is still there — it renders in a colour very close to the cursor-line background.

**Steps to reproduce**

1. `omarchy theme set lumon`
2. Open any file containing comments, e.g. `nvim ~/.config/hypr/monitors.lua`
3. Move the cursor onto a comment line
4. The comment's text disappears into the cursor-line highlight

**Cause**

In `omacom-io/lumon.nvim` (`lua/lumon/colors/init.lua`), `comment` is set to `#355066` — the same value as `blue0`, `dark3`, `fg_gutter` and `bg_highlight`. It is a background-tier colour used as a foreground. `CursorLine` (`lua/lumon/groups/base.lua:16`) resolves to `blend(fg, 0.20, bg)` = `#3d4e60`.

WCAG 2.1 contrast for comment text:

| Against | Ratio |
| --- | --- |
| `CursorLine` `#3d4e60` | **1.01:1** |
| `Visual` `#253b4f` | 1.37:1 |
| `Normal` bg `#1b2d40` | 1.66:1 |
| _(normal text on bg, reference)_ | 9.16:1 |

At 1.01:1 the colours are near-identical to the eye. Note the third row: comments are already below the 3:1 floor at rest, so this is not only a cursor-line problem.

Omarchy's `~/.config/nvim/plugin/after/transparency.lua` strips the background from `Normal` but not `CursorLine`, so the opaque `#3d4e60` is painted only where the cursor is — which is where the contrast is worst.

I've deliberately not proposed replacement colours — picking values that stay true to the theme is a call for whoever maintains it. Flagging the WCAG figures so the target is clear.

**Screenshots** — same file, same cursor position on line 17, Lumon vs everforest. Under Lumon, line 17 reads as blank; it actually contains `-- hl.monitor({ output = "DP-2", mode = "preferred", position = "auto", scale = 1, transform = 1 })`.

_(screenshots attached below)_

<img width="1261" height="688" alt="Image" src="https://github.com/user-attachments/assets/db812dc4-5e32-4832-8556-c32dd915800d" />
<img width="1261" height="688" alt="Image" src="https://github.com/user-attachments/assets/98585b34-f322-4b38-bb0d-116395045834" />

  • db812dc4-5e32-4832-8556-c32dd915800d
  • 98585b34-f322-4b38-bb0d-116395045834

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.

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