Files
codebase-memory-mcp/src
Shane McCarronandClaude Opus 5 1133ba3246 fix(daemon): address QA round 2
- Classify touch failures explicitly. A file is lost only on proof that
  the path no longer names it: ENOENT, st_nlink 0, another inode, a
  symlink or other non-regular entry, or a replaced lock directory. Any
  other syscall failure (EIO, ESTALE, ENOMEM, EACCES on reopen) is
  transient, so a flaky runtime volume no longer stops the daemon. The
  POSIX private-lock touch and the ipc lock/marker touches share this
  rule; the Windows touch reports a failed handle query as transient.
- The identity marker is classified by path (fstatat, no follow) before
  it is reopened, so replacement by a symlink is now loss, not a
  transient reopen failure.
- Tests: symlink replacement of the identity marker (lost); an
  unreadable marker is transient (-1) and recovers (1) once readable;
  the cohort touch test ages both held files and asserts they were
  refreshed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Signed-off-by: Shane McCarron <shane.mccarron@corvexconnect.com>
2026-09-22 11:27:26 -05:00
..
2026-09-22 11:27:26 -05:00