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.
Neovim buffers stay stale after agent edits when switching Herdr panes
Reported by jlupox · filed Aug 24, 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
What's wrong?
When using Neovim inside a Herdr workspace, files modified externally by a coding agent can remain stale in the open Neovim buffer after switching back from the agent pane.
The file on disk has already changed, but Neovim continues to display the previous buffer contents until :checktime or :edit! is run manually.
## To reproduce
- Start a Herdr workspace.
- Open Neovim in the workspace with
nvim .. - Open a file in Neovim.
- Start Codex or another coding agent in a different Herdr pane.
- Ask the agent to modify the open file.
- Switch back to the Neovim pane.
## Actual behavior
The Neovim buffer still shows the old contents, even though the file on disk has changed.
:set autoread? reports that autoread is enabled.
Running this command manually immediately updates the buffer:
:checktimeThe issue occurs when switching Herdr panes because Neovim does not appear to receive a FocusGained event.
## Expected behavior
When the user returns to the Neovim pane, externally modified files should be detected and reloaded automatically when the buffer has no unsaved local changes.
Buffers with local unsaved changes should remain protected from automatic overwrites.
System details
- Omarchy Quattro 4.0.0-1
- omarchy-nvim 2026.8.13-1
- herdr 0.8.0.r13-1
- Coding agent: Codex (version 0.149.1)
Additional context
Omarchy Quattro ships Neovim with LazyVim and includes Herdr as the agent workspace manager.
The default LazyVim checktime autocmds use FocusGained, TermClose, and TermLeave, but switching between Herdr panes does not reliably trigger FocusGained for Neovim.
A possible fix would be to also check for external changes on BufEnter and/or CursorHold, while skipping buffers with modified set.
View raw text
### What's wrong? When using Neovim inside a Herdr workspace, files modified externally by a coding agent can remain stale in the open Neovim buffer after switching back from the agent pane. The file on disk has already changed, but Neovim continues to display the previous buffer contents until `:checktime` or `:edit!` is run manually. ## To reproduce 1. Start a Herdr workspace. 2. Open Neovim in the workspace with `nvim .`. 3. Open a file in Neovim. 4. Start Codex or another coding agent in a different Herdr pane. 5. Ask the agent to modify the open file. 6. Switch back to the Neovim pane. ## Actual behavior The Neovim buffer still shows the old contents, even though the file on disk has changed. `:set autoread?` reports that `autoread` is enabled. Running this command manually immediately updates the buffer: ```vim :checktime ``` The issue occurs when switching Herdr panes because Neovim does not appear to receive a FocusGained event. ## Expected behavior When the user returns to the Neovim pane, externally modified files should be detected and reloaded automatically when the buffer has no unsaved local changes. Buffers with local unsaved changes should remain protected from automatic overwrites. ### System details - Omarchy Quattro 4.0.0-1 - omarchy-nvim 2026.8.13-1 - herdr 0.8.0.r13-1 - Coding agent: Codex (version 0.149.1) ## Additional context Omarchy Quattro ships Neovim with LazyVim and includes Herdr as the agent workspace manager. The default LazyVim checktime autocmds use FocusGained, TermClose, and TermLeave, but switching between Herdr panes does not reliably trigger FocusGained for Neovim. A possible fix would be to also check for external changes on BufEnter and/or CursorHold, while skipping buffers with modified set.
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 08:38 UTC