GitNexus/gitnexus/src/storage
Gergo Magyar 42c39b5c82 fix(storage): never share a graph from a checkout that hides files (#3374)
Trigger: a sparse checkout, a skip-worktree/assume-unchanged entry, or an
uninitialized submodule leaves `git status` clean, and the run's
indexCoverage.dirtyPaths drops paths with no file hash, so publishSharedGraph
published a graph missing those files as the commit graph. seedSharedSlot
then copied the seed's lastCommit into the new pointer slot, so the next
analyze of a sibling hit the up-to-date fast path without hashing.

Fix: add isWorkingTreePristine (storage/git.ts): the unfiltered
listWorkingTreeDirtyPaths must be empty (null fails closed) and every
gitlink in the index must have a checked-out `.git`. publishSharedGraph
requires it instead of isWorkingTreeDirty. seedSharedSlot keeps the seed's
lastCommit only when the seed is at HEAD and the checkout is pristine, so a
clean sibling still fast-paths onto the shared graph; any other seeded
pointer gets an empty lastCommit, like seedFromLocalIndex, and its next run
hash-diffs, then re-points at the commit graph on publish.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 06:50:08 +00:00
..
branch-index.ts feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00
file-hash.ts fix(status): judge freshness by covered files, not a dirty working tree (#3083) 2026-08-29 12:56:41 +00:00
file-lock.ts perf(lock): probe this process's own start time once (#3222) 2026-09-08 19:06:03 +01:00
fs-atomic.ts perf(store): V8 sidecars plus hardlinked ParsedFile restore (#3099) 2026-08-30 20:50:20 +00:00
git.ts fix(storage): never share a graph from a checkout that hides files (#3374) 2026-09-25 06:50:08 +00:00
gitnexus-managed-paths.ts fix(status): judge freshness by covered files, not a dirty working tree (#3083) 2026-08-29 12:56:41 +00:00
global-dir.ts feat: notify users when a newer gitnexus version is available (#3175) 2026-09-04 18:50:03 +01:00
index-lock.ts fix(storage): guard stale file-lock reclamation (#3234) 2026-09-12 11:47:12 +01:00
map-pool.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
parse-cache.ts feat(ingestion): add tRPC procedure detection and MCP chain/route surfacing (#3339) 2026-09-21 09:44:42 +01:00
parsedfile-store.ts fix(swift): resolve inherited protocol extension calls (#3309) 2026-09-19 07:44:35 +01:00
repo-manager.ts feat(storage): share the index store between clones automatically (#3352) 2026-09-24 21:43:48 +00:00
repo-meta.ts feat(storage): resolve a shared checkout's graph and existing store slot (#3352) 2026-09-24 16:11:34 +00:00
scope-index-store.ts perf(ingestion): Linux-kernel-scale analysis — worker-pool parse + finalize O(n²) + scope-resolution memory wall (#1983) (#2038) 2026-06-06 22:46:34 +01:00
shared-store-lifecycle.ts fix(storage): never follow a symlinked checkout .gitnexus (#3374) 2026-09-25 06:38:26 +00:00
shared-store.ts feat(storage): share the index store between clones automatically (#3352) 2026-09-24 21:43:48 +00:00
stale-branch-slots.ts fix: web citation/code panel bugs and serve analyze/route hardening (#3348) 2026-09-23 13:27:22 +01:00
storage-constants.ts feat(storage): add configurable index storage and content retention tiers (#3060) 2026-09-12 20:31:55 +00:00
storage-resolver.ts fix(storage): address review findings in the shared store (#3352) 2026-09-24 16:13:02 +00:00
storage-slot.ts fix(storage): address second review round on the shared store (#3374) 2026-09-24 17:38:31 +00:00
v8-sidecar.ts perf(scope-resolution): stop re-scanning the ParsedFile store once per language (#3211) 2026-09-08 13:48:30 +01:00