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.
omarchy-dev-add-migration stamps HEAD commit time, so branches from the same commit collide on migration id
Reported by ekollof · filed Sep 28, 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
Problem
bin/omarchy-dev-add-migration names a new migration after HEAD's committer time:
migration_file="migrations/$(git log -1 --format=%cd --date=unix).sh"Every branch cut from the same commit therefore receives the same migration id, and the migration runner skips an id it has already recorded — so the second migration with that id silently never runs for affected accounts.
Observed collisions on id 1789095456
That timestamp is the committer time of the quattro merge commit of #11263, so branches started from it all got the same id:
- the deleted PTL-kernel migration,
- the Mise Work PATH cleanup from #11336 (fix open as #12174, renaming to
1789584463.sh), - the lock-screen fingerprint repair in #11322 (warned its author here).
Merging #12174 removes the conflict that currently exposes the reuse; if #11322 then merges with its current id, its repair silently won't run for accounts holding that marker. (How the PTL migration got the id was not established — possibly the same helper on a branch of that commit.)
Suggestions
- Name new migrations with the current time instead of HEAD's commit time.
- Add a merge-time check that refuses a migration id already used in the target branch's history.
Happy to implement either if that direction sounds right.
View raw text
## Problem `bin/omarchy-dev-add-migration` names a new migration after HEAD's committer time: ```bash migration_file="migrations/$(git log -1 --format=%cd --date=unix).sh" ``` Every branch cut from the same commit therefore receives the same migration id, and the migration runner skips an id it has already recorded — so the second migration with that id silently never runs for affected accounts. ## Observed collisions on id `1789095456` That timestamp is the committer time of the `quattro` merge commit of #11263, so branches started from it all got the same id: - the deleted PTL-kernel migration, - the Mise Work PATH cleanup from #11336 (fix open as #12174, renaming to `1789584463.sh`), - the lock-screen fingerprint repair in #11322 (warned its author [here](https://github.com/omacom/omarchy/pull/11322#issuecomment-5865568604)). Merging #12174 removes the conflict that currently exposes the reuse; if #11322 then merges with its current id, its repair silently won't run for accounts holding that marker. (How the PTL migration got the id was not established — possibly the same helper on a branch of that commit.) ## Suggestions - Name new migrations with the current time instead of HEAD's commit time. - Add a merge-time check that refuses a migration id already used in the target branch's history. Happy to implement either if that direction sounds right.
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 19:58 UTC