Skip to content

fix: harden daemon and large-index recovery paths - #1562

Draft
danusha2345 wants to merge 1 commit into
colbymchenry:mainfrom
danusha2345:fix/upstream-bug-reports-1553-1560
Draft

fix: harden daemon and large-index recovery paths#1562
danusha2345 wants to merge 1 commit into
colbymchenry:mainfrom
danusha2345:fix/upstream-bug-reports-1553-1560

Conversation

@danusha2345

Copy link
Copy Markdown

Summary

  • verify daemon identity through the socket hello before trusting or signaling a recorded PID, prune phantom daemon listings, and let codegraph unlock clean stale daemon artifacts
  • bound pathological large-file parse deadlines, persist skipped and failed file records, and restore every secondary index dropped by an interrupted bulk load
  • avoid V8 argument-limit and RegExp code-space failures on dense C/C++ corpora
  • restrict JSX child synthesis to JavaScript-family files, including mixed-language repositories

Root causes and impact

Several recovery paths treated process liveness, file rejection, and interrupted bulk-load state as stronger evidence than they actually were. PID reuse could block daemon startup or target an unrelated process; rejected files could be retried forever; a killed bulk load could reopen without its lookup indexes; and corpus-controlled collection sizes could cross V8 runtime limits.

The changes make those paths bounded and durable while preserving explicit timeout overrides and deterministic file-order storage.

The stale PID/artifact half of #1553 is addressed here. The reported React Native startup OOM does not yet have a proven root cause and is deliberately not claimed as fixed by this PR.

Fixes #1555
Fixes #1556
Fixes #1557
Fixes #1558
Fixes #1559
Fixes #1560

Validation

  • npm test — 3081 passed, 9 skipped
  • focused regression suite — 151 passed
  • npx tsc --noEmit
  • npm run build
  • live shared-daemon restart and MCP retrieval probe on this repository — 0 timeouts
  • CodeGraph index state complete, with 0 pending changes and 0 pending references

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment