* perf(scope): reuse deferred sites and signatures for callable-value-flow
Pass the Phase 4 deferred-site collection and signature map into emitCallableValueFlow so the emit path does not rescan the same call sites.
Co-authored-by: Cursor <cursoragent@cursor.com>
* perf(ingestion): nest owner registries instead of composite string keys
Look up methods, fields, and nested types via Map<owner, Map<name, defs>> while keeping EMPTY identity and TypeRegistry miss [] semantics.
Co-authored-by: Cursor <cursoragent@cursor.com>
* perf(scope): memoize resolveDefGraphId per nodeLookup
Cache graph ids on a WeakMap keyed by lookup identity so heritage rebuild invalidates, with an env opt-out that skips the cache.
Co-authored-by: Cursor <cursoragent@cursor.com>
* perf(csv): prepare file content once and LRU-touch via Map order
Cache split lines and binary flags per source file so snippet and FTS extraction do not re-scan the same bytes.
Co-authored-by: Cursor <cursoragent@cursor.com>
* perf(identity): allow in-process cache guards only when opted in or unwritable
Keep the ≥128-guard subprocess default on writable installs; use direct snapshots when the env flag is set or W_OK fails on the analyzer tree.
Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor: share empty CSV payload and restore spacing after memo key (U4, U3)
Co-authored-by: Cursor <cursoragent@cursor.com>
* test(scope): assert resolveDefGraphId memo skips a second lookup walk
The ID-equality checks still passed with the memo disabled. Count Map#get on the lookup so a repeat call must hit the WeakMap cache. Also apply prettier on the remaining emit-path files CI flagged.
Co-authored-by: Cursor <cursoragent@cursor.com>
* test: pin identity W_OK probes and memo env isolation
Co-authored-by: Cursor <cursoragent@cursor.com>
* docs: document emit-path env knobs and fix registry headers
CONTRIBUTING requires README rows for new GITNEXUS_* variables; also drop stale owner\0name comments after the nested-map change.
---------
Co-authored-by: Gergo Magyar <gergomagyar0@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>