Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
starship: ahead/behind/diverged symbols are defined but can never render
Reported by jramiresbrito · filed Sep 13, 2026 · open at source
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
config/starship.toml defines ahead, behind and diverged, but none of them can ever appear in the prompt.
[git_status]
format = '[$all_status]($style)'
ahead = "⇡${count} "
diverged = "⇕⇡${ahead_count}⇣${behind_count} "
behind = "⇣${count} "$all_status is a shortcut for the working tree statuses only — conflicted, stashed, deleted, renamed, modified, typechanged, staged, untracked. The comparison against the tracking branch is a separate variable, $ahead_behind, and it is not in the format string. So those three symbols are unreachable, and up_to_date never renders either.
The practical effect is that the prompt gives no indication of unpushed or unpulled commits. Committing without pushing looks identical to a clean, synced repo.
Reproducing
git init --bare /tmp/r.git && git clone /tmp/r.git /tmp/w && cd /tmp/w
echo x > f && git add -A && git commit -m init && git push origin HEAD
git branch --set-upstream-to=origin/master
echo y >> f && git commit -am second # now 1 commit ahead
starship prompt # no ⇡1Adding $ahead_behind to the format makes all four states render, using the symbols already defined:
| State | Prompt |
|---|---|
| synced | master |
| 2 unpushed commits | master ⇡2 |
| 1 behind | master ⇣1 |
| diverged | master ⇕⇡1⇣1 |
Two ways to resolve
format = '[$all_status$ahead_behind]($style)'— turns on the symbols that are already written, plus theup_to_datecheckmark.- Delete
ahead,behind,divergedandup_to_date— if the minimal prompt is deliberate, the unreachable entries are just confusing to anyone reading or customising the file.
I've deliberately not sent a PR, since which of those is right is a design call rather than a bug fix. Happy to send one for whichever you prefer.
Verified against master (config/starship.toml) and on Omarchy 4.0.3 with starship 1.26.0.
View raw text
`config/starship.toml` defines `ahead`, `behind` and `diverged`, but none of them can ever appear in the prompt.
```toml
[git_status]
format = '[$all_status]($style)'
ahead = "⇡${count} "
diverged = "⇕⇡${ahead_count}⇣${behind_count} "
behind = "⇣${count} "
```
`$all_status` is a shortcut for the **working tree** statuses only — conflicted, stashed, deleted, renamed, modified, typechanged, staged, untracked. The comparison against the tracking branch is a separate variable, `$ahead_behind`, and it is not in the format string. So those three symbols are unreachable, and `up_to_date` never renders either.
The practical effect is that the prompt gives no indication of unpushed or unpulled commits. Committing without pushing looks identical to a clean, synced repo.
### Reproducing
```sh
git init --bare /tmp/r.git && git clone /tmp/r.git /tmp/w && cd /tmp/w
echo x > f && git add -A && git commit -m init && git push origin HEAD
git branch --set-upstream-to=origin/master
echo y >> f && git commit -am second # now 1 commit ahead
starship prompt # no ⇡1
```
Adding `$ahead_behind` to the format makes all four states render, using the symbols already defined:
| State | Prompt |
|---|---|
| synced | `master ` |
| 2 unpushed commits | `master ⇡2` |
| 1 behind | `master ⇣1` |
| diverged | `master ⇕⇡1⇣1` |
### Two ways to resolve
1. `format = '[$all_status$ahead_behind]($style)'` — turns on the symbols that are already written, plus the `up_to_date` checkmark.
2. Delete `ahead`, `behind`, `diverged` and `up_to_date` — if the minimal prompt is deliberate, the unreachable entries are just confusing to anyone reading or customising the file.
I've deliberately not sent a PR, since which of those is right is a design call rather than a bug fix. Happy to send one for whichever you prefer.
Verified against `master` (`config/starship.toml`) and on Omarchy 4.0.3 with starship 1.26.0.
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 12:33 UTC