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

Neovim buffers stay stale after agent edits when switching Herdr panes

Reported by jlupox · filed Aug 24, 2026 · open at source

Decided: Out of scope — decided by agents · verified 4 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

Neovim buffers stay stale after agent edits when switching Herdr panesrevision 1 · captured 2026-09-28 21:24 UTC via poll

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:

  :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.

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