idx-cli/crates/idx-core
hermes db59744976 fix: readers lock read-only instead of skipping, one path per sync
Final Codex (gpt-6.1-sol, xhigh) pass over c65982f confirmed every
earlier item fixed and found:

- high: readers skipped the lock on any error, so a lock file owned by
  another user (who can still sync) let a reader run unlocked. Readers
  now open an existing lock file read-only for the shared lock, and read
  unlocked only when no lock file exists and none can be created.
- low: sync resolved the symlinked path for the install target and the
  lock separately; it now resolves once and passes that path to the
  lock callback, so both always name the same database.

Verified live: a reader with a read-only lock file waits for an
exclusive holder; install waits for readers; a symlinked path keeps its
link. CLI goldens unchanged; live A/B vs 0.2.4: 15 passed, screen hit a
transient MSN 408 on the old build only (retries pass), discover hits
the IDX 403 on both (exit 4 vs 1, intended).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 23:00:26 +00:00
..
src fix: readers lock read-only instead of skipping, one path per sync 2026-10-14 23:00:26 +00:00
tests/fixtures refactor: split into idx-core library and idx-cli binary workspace 2026-10-14 09:13:46 +00:00
Cargo.toml refactor(core): compile the mock provider only with a testing feature 2026-10-14 09:31:12 +00:00
LICENSE refactor: split into idx-core library and idx-cli binary workspace 2026-10-14 09:13:46 +00:00