idx-cli/crates/idx-core/src
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
..
analysis refactor(core): move stocks fetching, caching, and analysis into idx-core 2026-10-14 09:41:31 +00:00
api fix: address final review (path traversal, sync races, MCP limits) 2026-10-14 21:58:37 +00:00
ownership fix: readers lock read-only instead of skipping, one path per sync 2026-10-14 23:00:26 +00:00
cache.rs fix: close the remaining review findings (cross-process lock, partials) 2026-10-14 22:20:57 +00:00
client.rs refactor(core): move ownership queries, import, and sync into idx-core 2026-10-14 09:52:17 +00:00
config.rs refactor(core): move ownership queries, import, and sync into idx-core 2026-10-14 09:52:17 +00:00
curl_impersonate.rs refactor: split into idx-core library and idx-cli binary workspace 2026-10-14 09:13:46 +00:00
error.rs feat(mcp): add idx-mcp, a stdio MCP server over idx-core 2026-10-14 18:19:04 +00:00
financial.rs refactor(core): move stocks fetching, caching, and analysis into idx-core 2026-10-14 09:41:31 +00:00
investor.rs fix: readers lock read-only instead of skipping, one path per sync 2026-10-14 23:00:26 +00:00
lib.rs refactor(core): move ownership queries, import, and sync into idx-core 2026-10-14 09:52:17 +00:00
market.rs refactor(core): move stocks fetching, caching, and analysis into idx-core 2026-10-14 09:41:31 +00:00