* 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>
* fix(scope-resolution): link Record graph nodes
Register Record definitions and caller anchors so Java and C# record targets and initializer sources resolve to canonical nodes. Keep generated LadybugDB relation pairs and the production benchmark baseline synchronized.
Co-authored-by: Cursor <cursoragent@cursor.com>
* fix(bench): harden schema-pair production gate
Derive the production count from executable DDL, fail closed when its budget is missing, and independently pin Record-to-Property coverage. Keep benchmark evidence machine-scoped and correct stale schema counts.
---------
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Gergő Magyar <gergomagyar@icloud.com>