RUN  v2.1.9 /private/tmp/codegraph-review ✓ |engine| __tests__/frameworks.test.ts (117 tests) 34ms ✓ |engine| __tests__/installer-targets.test.ts (230 tests | 3 skipped) 517ms (node:96782) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96781) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96782) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96781) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-allocation-e2e.test.ts (28 tests) 2108ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-server-api.test.ts (62 tests | 1 skipped) 1561ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/watcher.test.ts > FileWatcher > persistent sync-failure degradation (#1127) > does NOT degrade on a transient sync failure — backoff resets after a clean sync [CodeGraph] Watch sync failed { error: 'transient blip', retryCount: 1 } stderr | __tests__/watcher.test.ts > FileWatcher > persistent sync-failure degradation (#1127) > does NOT degrade on a transient sync failure — backoff resets after a clean sync [CodeGraph] Watch sync failed { error: 'transient blip', retryCount: 2 } stderr | __tests__/watcher.test.ts > FileWatcher > persistent sync-failure degradation (#1127) > does NOT degrade on a transient sync failure — backoff resets after a clean sync [CodeGraph] Watch sync failed { error: 'transient blip', retryCount: 3 } (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96780) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97509) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/frameworks-integration.test.ts (23 tests) 3843ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/expo-router.test.ts (69 tests) 731ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98211) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/watcher.test.ts > FileWatcher > filtering > should ignore .codegraph directory changes [CodeGraph] Watch sync failed { error: 'database is not open', retryCount: 1 } (node:98211) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/upgrade.test.ts (56 tests) 668ms ✓ index extraction-version stamp / isIndexStale > stamps the current extraction version on full index and is not stale 369ms (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98331) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-steps-api-servers.test.ts (18 tests) 1890ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:97575) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/function-ref.test.ts (20 tests) 4678ms ✓ Function-as-value capture (#756) > SWIFT SCOPING: bare ids hit only the enclosing type’s methods; top-level bare hits functions only 307ms ✓ Function-as-value capture (#756) > C UNGATED TABLES: a command table names handlers defined in OTHER files (redis pattern) 453ms ✓ Function-as-value capture (#756) > PHP: HOF string callables, [$this,…] and [Cls::class,…] arrays; non-HOF strings ignored 310ms ✓ Function-as-value capture (#756) > DRAIN: resolvable function_ref rows leave unresolved_refs; re-index is stable 651ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-screens-model.test.ts (35 tests) 247ms (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/watcher.test.ts > FileWatcher > pending file tracking (#403) > should keep entries unchanged when sync fails (rescheduled work sees the same set) [CodeGraph] Watch sync failed { error: 'boom', retryCount: 1 } (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-proportional-allocation.test.ts (38 tests) 220ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/watcher.test.ts > FileWatcher > callbacks > should call onSyncError when sync throws [CodeGraph] Watch sync failed { error: 'sync failed', retryCount: 1 } (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96812) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/watcher.test.ts > FileWatcher > scoped sync fast path (#watcher-scoped) > passes the exact pending paths to syncFn for plain file events [CodeGraph] Watch sync failed { error: 'database is not open', retryCount: 1 } (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99540) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:98819) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/value-reference-edges.test.ts (29 tests) 6108ms ✓ value-reference edges > edges same-file readers to the file-scope const they read (default on) 422ms ✓ |engine| __tests__/security.test.ts (48 tests | 2 skipped) 3688ms ✓ Path Traversal Prevention > should read code for valid nodes within project 336ms ✓ MCP Input Validation > should handle negative limit gracefully 305ms ✓ |engine| __tests__/watcher.test.ts (35 tests) 13709ms ✓ FileWatcher > lock contention degradation (#876) > disables auto-sync after prolonged lock contention, with bounded retries 950ms ✓ FileWatcher > lock contention degradation (#876) > does NOT degrade on brief contention — backoff resets after a clean sync 361ms ✓ FileWatcher > persistent sync-failure degradation (#1127) > disables auto-sync after a persistent non-lock sync failure, with bounded retries 959ms ✓ FileWatcher > persistent sync-failure degradation (#1127) > does NOT degrade on a transient sync failure — backoff resets after a clean sync 344ms ✓ FileWatcher > debounced sync > should debounce rapid changes into a single sync 664ms ✓ FileWatcher > filtering > should ignore files not matching include patterns 435ms ✓ FileWatcher > filtering > end-to-end: deleting a subdirectory removes its files from the index via watch sync (#1285) 589ms ✓ FileWatcher > filtering > should ignore .codegraph directory changes 485ms ✓ FileWatcher > scope config refresh (#1590) > a codegraph.json edit rebuilds the matcher and forces a full sync 811ms ✓ FileWatcher > scope config refresh (#1590) > a root .gitignore edit is a scope change too 612ms ✓ FileWatcher > scope config refresh (#1590) > a .gitignore under an ignored tree (npm install churn) schedules nothing 366ms ✓ FileWatcher > scope config refresh (#1590) > removing the exclude again readmits the tree 469ms ✓ FileWatcher > CodeGraph integration > should auto-sync when files change while watching (real fs.watch end-to-end) 770ms ✓ FileWatcher > scoped sync fast path (#watcher-scoped) > passes the exact pending paths to syncFn for plain file events 574ms ✓ FileWatcher > scoped sync fast path (#watcher-scoped) > falls back to a full sync (undefined paths) after a directory removal event 578ms ✓ FileWatcher > scoped sync fast path (#watcher-scoped) > a lone file event fires on the quick window, well before the full debounce 1640ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:2532) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:2607) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:2670) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:2532) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:2532) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-flow-api.test.ts (30 tests) 929ms (node:2532) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/pr19-improvements.test.ts (33 tests) 1664ms ✓ Graph Traversal Both Direction > should traverse both directions from a node 596ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:3839) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:3839) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-server.test.ts (42 tests) 252ms ✓ |engine| __tests__/type-hierarchy.test.ts (38 tests) 460ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:4508) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:4538) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:4538) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:4508) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-steps-cross-tier.test.ts (12 tests) 1116ms (node:4538) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/react-router.test.ts (29 tests) 1077ms (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-symbol-model.test.ts (36 tests) 122ms (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99804) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5478) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99804) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/extraction.test.ts > Nested non-submodule git repos > does not crash on a .gitignore with an uncompilable pattern (#682) [CodeGraph] Skipped 1 unparseable pattern(s) in a .gitignore; the rest are applied. { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-test-avEt0i/.gitignore' } stderr | __tests__/extraction.test.ts > Nested non-submodule git repos > does not crash on a non-UTF-8 (DLP-encrypted) .gitignore (#682) [CodeGraph] Ignoring a .gitignore that is not valid UTF-8 text — it may have been encrypted in place by endpoint-security software. Indexing continues without it. { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-test-qlNxu8/.gitignore' } stderr | __tests__/extraction.test.ts > Nested non-submodule git repos > buildDefaultIgnore survives a bad .gitignore and still applies valid rules (#682) [CodeGraph] Skipped 1 unparseable pattern(s) in a .gitignore; the rest are applied. { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-test-VnflYp/.gitignore' } (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:99804) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96841) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/sync.test.ts (37 tests) 22028ms ✓ Sync Module > Sync Functionality > getChangedFiles() > should detect added files 327ms ✓ Sync Module > Sync Functionality > getChangedFiles() > should detect removed files 316ms ✓ Sync Module > Sync Functionality > sync() > should reindex added files 389ms ✓ Sync Module > Sync Functionality > sync() > should reindex modified files 304ms ✓ Sync Module > Sync Functionality > sync() > persists an oversized skipped file so later syncs do not retry it (#1557) 353ms ✓ Sync Module > Sync Functionality > sync() > marks a successfully recovered indexing state complete (#1556) 327ms ✓ Sync Module > Git-based sync > should detect modified files via git 651ms ✓ Sync Module > Git-based sync > should detect new untracked files via git 667ms ✓ Sync Module > Git-based sync > should stop reporting untracked files once they are indexed (issue #206) 853ms ✓ Sync Module > Git-based sync > should re-index an untracked file when its contents change 2174ms ✓ Sync Module > Git-based sync > should detect deleted files via git 1294ms ✓ Sync Module > Git-based sync > should skip files with unsupported extensions 981ms ✓ Sync Module > Git-based sync > should report no changes on clean working tree 698ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > the full index excludes both (baseline the sync path must match) 771ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > does not re-index a modified tracked file in a built-in excluded dir (vendor/) 728ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > does not re-index a modified tracked file in a .gitignored dir 891ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > does not index a new untracked file in an excluded dir 888ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > status (getChangedFiles) agrees with sync — no phantom pending changes 972ms ✓ Sync Module > Incremental sync honors the ignore matcher (#766) > still syncs a normal modified source file (no over-filtering) 674ms ✓ Sync Module > Sync resolves refs satisfied by a new export in another file (#1240) > creates the cross-file calls edge from the UNCHANGED file after sync 393ms ✓ Sync Module > Sync resolves refs satisfied by a new export in another file (#1240) > the synced graph matches a full re-index (the issue's exact complaint) 551ms ✓ Sync Module > Sync resolves refs satisfied by a new export in another file (#1240) > a second sync is a no-op and does not duplicate edges 466ms ✓ Sync Module > Sync resolves refs satisfied by a new export in another file (#1240) > retries dotted method refs via the name tail when a class gains the method 524ms ✓ Sync Module > Sync rebinds or parks refs when a resolved symbol is removed (#1240 removal case) > rebinds the unchanged caller when the symbol moves to another file 601ms ✓ Sync Module > Sync rebinds or parks refs when a resolved symbol is removed (#1240 removal case) > drops the edge on removal and restores it when the symbol returns 543ms ✓ Sync Module > Sync rebinds or parks refs when a resolved symbol is removed (#1240 removal case) > handles whole-file deletion: parks the ref, then rebinds when the symbol reappears elsewhere 540ms ✓ Sync Module > Cross-file module-attribute caller edges survive callee re-index (#899) > preserves incoming cross-file calls edges when the callee file is re-indexed 337ms ✓ Sync Module > Cross-file module-attribute caller edges survive callee re-index (#899) > drops incoming edges for a callee that was renamed during re-index 409ms ✓ Scoped sync parity (#watcher-scoped) > a scoped modify lands the same graph as a full sync of the same edit 795ms ✓ Scoped sync parity (#watcher-scoped) > a scoped delete removes the file and resurrects cross-file refs like a full sync 372ms ✓ Scoped sync parity (#watcher-scoped) > a scoped add indexes the new file 467ms ✓ Scoped sync parity (#watcher-scoped) > scoped sync ignores paths outside the change without touching them 319ms ✓ Scoped sync parity (#watcher-scoped) > a scoped path that codegraph.json now excludes is removed, never re-parsed (#1590) 611ms (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96777) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/resolution.test.ts (189 tests) 23144ms ✓ Resolution Module > Local-variable receiver-type inference (#1108) > resolves a local-variable method call — Scala (val x = new T) 551ms ✓ Resolution Module > Local-variable receiver-type inference (#1108) > resolves a local-variable method call — Ruby (x = T.new) 303ms (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-session-state.test.ts (31 tests) 2865ms ✓ explore records what it actually served > files one record per call, with the files and line ranges it emitted 366ms ✓ explore records what it actually served > two sessions on ONE handler never see each other's calls 306ms (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:96776) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6717) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/extraction.test.ts (622 tests) 24675ms ✓ Objective-C messages, class receivers, and #import > resolves single-arg selectors, class-message receivers, and #import headers 405ms ✓ Full Indexing > should index multiple files 338ms ✓ Full Indexing > should track file hashes for incremental updates 343ms ✓ Full Indexing > should sync and detect changes 519ms ✓ Full Indexing > should count file-level tracked YAML files as indexed 314ms ✓ Git Submodules > should index files inside git submodules (issue #147) 1515ms ✓ Nested gitlink repos (#1031, #1033) > indexes a bare gitlink (git add'ed embedded repo, no .gitmodules), recursively 1452ms ✓ Nested gitlink repos (#1031, #1033) > indexes a gitlink alongside an active submodule 2274ms ✓ Nested gitlink repos (#1031, #1033) > does not index a gitlink under a default-ignored directory (e.g. vendor/) 996ms ✓ Nested gitlink repos (#1031, #1033) > leaves an uninitialized submodule (no checkout on disk) alone 1453ms ✓ Nested gitlink repos (#1031, #1033) > does not index a gitlink under a gitignored directory by default (#1065) 1448ms ✓ Nested gitlink repos (#1031, #1033) > re-includes a gitignored gitlink when codegraph.json includeIgnored opts in (#1065) 1436ms ✓ Nested non-submodule git repos > should index files in embedded git repos run from a git super-repo (issue #193) 890ms ✓ Nested non-submodule git repos > should respect each embedded repo's own .gitignore 519ms (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6717) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6717) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-trails.test.ts (25 tests) 883ms ✓ a saved trail survives a re-index > re-resolves hops by qualified name once every node id has changed 311ms (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6874) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6874) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:5784) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/sync-rebuild-convergence.test.ts (8 tests) 5032ms ✓ Incremental sync converges to a full rebuild (CG-33) > rebinds references in UNCHANGED files when a sync adds a competing definition 590ms ✓ Incremental sync converges to a full rebuild (CG-33) > rebinds references in UNCHANGED files when a sync removes a competing definition 531ms ✓ Incremental sync converges to a full rebuild (CG-33) > flags a name added in one changed file even when another changed file already defines it 541ms ✓ Incremental sync converges to a full rebuild (CG-33) > stays converged across a sequence of adds, edits, renames and deletes 1637ms ✓ Incremental sync converges to a full rebuild (CG-33) > never deletes an edge it cannot reconstruct — no refName stamp, or synthesized 319ms ✓ Incremental sync converges to a full rebuild (CG-33) > declines a name over the per-name ceiling instead of rebinding an arbitrary subset 643ms ✓ Incremental sync converges to a full rebuild (CG-33) > CODEGRAPH_NO_REBIND=1 disables the pass without corrupting the index 434ms ✓ Same-name candidate order is content-derived, not insertion-derived (CG-33) > getNodesByName orders by (file_path, start_line) even when rows were written in another order 336ms (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7147) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7147) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-steps-api.test.ts (13 tests) 1838ms ✓ |engine| __tests__/branch-guards.test.ts (28 tests) 874ms ✓ branch guards: on the wire > labels symbol-view rails and flow connectors with the call site's conditions 457ms (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7362) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/frontload-hook.test.ts (33 tests) 172ms (node:7362) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/react-native-bridge.test.ts (24 tests) 573ms ✓ React Native cross-platform pairing — end to end > links the Android (@ReactMethod) and iOS (RCT_EXPORT_METHOD) impls of a JS-called method 535ms (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-highlight.test.ts (33 tests) 969ms (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-export-svg.test.ts (31 tests) 37ms (node:6405) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/graph.test.ts (32 tests) 5498ms ✓ Graph Queries > traverse() > should traverse graph from a starting node 335ms (node:7737) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-map-model.test.ts (25 tests) 74ms (node:7737) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/branch-guards-languages.test.ts (31 tests) 475ms ✓ |engine| __tests__/ui-steps-model.test.ts (18 tests) 73ms ✓ |engine| __tests__/ui-flow-model.test.ts (34 tests) 33ms (node:7945) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:7945) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/foundation.test.ts > CODEGRAPH_DIR override (#636) > codeGraphDirName() > falls back to .codegraph for invalid value "foo/bar" [codegraph] Ignoring invalid CODEGRAPH_DIR="foo/bar" — it must be a plain directory name (no path separators, no "..", not absolute). Using ".codegraph". ✓ |engine| __tests__/drupal.test.ts (30 tests) 702ms ✓ |engine| __tests__/foundation.test.ts (49 tests) 1515ms ✓ CodeGraph Foundation > Recreate (#1067) > returns a fresh, empty, usable instance 513ms ✓ CODEGRAPH_DIR override (#636) > two index dirs coexist in one tree and the override side skips the sibling 359ms ✓ |engine| __tests__/ui-effects.test.ts (13 tests) 77ms (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8362) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8362) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/multi-repo-workspace.test.ts (25 tests) 21503ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > default: .gitignore is respected (#970, #976) > does NOT index embedded repos inside a gitignored dir without opt-in 830ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > default: .gitignore is respected (#970, #976) > does NOT discover gitignored embedded roots without opt-in 612ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > default: .gitignore is respected (#970, #976) > ScopeIgnore: a gitignored dir is fully pruned without opt-in 706ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > indexes embedded repos hidden by the super-repo .gitignore 1419ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > child-pattern spelling revives repos whose PARENT dir carries the gitignore rule (#1295) 1712ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > child-pattern spelling opts in ONLY the named repo; siblings stay out and stay hinted (#1295) 1317ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > only re-includes the opted-in dir, not every gitignored dir 1065ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > discovers the opted-in ignored root alongside untracked roots 1234ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > ScopeIgnore: opted-in embedded files use the child rules; the watcher can descend 704ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > opt-in: codegraph.json includeIgnored re-includes a gitignored dir (#622, #699) > sync picks up a change inside an opted-in gitignored embedded repo 1626ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > keeps respecting the parent .gitignore for the parent own (non-repo) dirs 443ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > never descends into git repos inside node_modules (npm git-dependencies) 1271ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > still indexes UNTRACKED embedded repos by default (#193 regression) 858ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > skips nested git worktrees instead of indexing them as duplicate embedded repos (#848) 931ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > skips a submodule worktree instead of indexing it as a duplicate (#945) 1143ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > non-git workspace: walks children and respects each child own .gitignore 537ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > does not search beyond the embedded-repo depth cap (opted-in dir) 676ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > discovery/classifier machinery (exercised under opt-in) > buildScopeIgnore: indexed root is itself a gitignored subdir of an enclosing repo (#936) 506ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > names the gitignored child repos a default index skipped 1114ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > excludes repos already opted in via includeIgnored (only the rest remain) 761ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > returns [] when every gitignored repo is already opted in (nothing to nag) 534ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > does NOT report nested repos that are NOT gitignored (they already index) 461ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > skips a gitignored node_modules even when it holds a git repo 453ms ✓ multi-repo workspaces (#514) + .gitignore-respect default (#970, #976) > findUnindexedIgnoredRepos: the skipped-child-repos hint (#1156) > finds repos nested inside a gitignored data dir, not just top-level ones 557ms ✓ |engine| __tests__/nextjs.test.ts (36 tests) 728ms (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8830) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8208) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/c-fnptr-synthesizer.test.ts (18 tests) 3131ms ✓ c-fnptr dispatch synthesizer > bridges a {name, fn} command table dispatched through p->fn() (the git shape) 319ms (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8278) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-events-api.test.ts (14 tests) 3279ms ✓ GET /api/events > announces a source file that changed on disk, before any sync 661ms ✓ GET /api/events > announces the index moving, and names what the sync picked up 1296ms ✓ GET /api/events > stops serving a symbol a sync in another process deleted 604ms ✓ |engine| __tests__/adaptive-explore-sizing.test.ts (8 tests) 1213ms ✓ adaptive codegraph_explore sizing — sibling skeletonization > skeletonizes off-spine polymorphic siblings (bodies elided, signatures kept) 341ms (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/dynamic-boundaries.test.ts (20 tests) 2830ms ✓ codegraph_explore — dynamic boundaries > announces the boundary site and shortlists the keyed candidate 510ms ✓ codegraph_explore — dynamic boundaries > surfaces the boundary even when the other symbol is not in the graph 304ms ✓ codegraph_explore — dynamic boundaries > python getattr dispatch surfaces with a prefix-key candidate 327ms ✓ codegraph_explore — interface dispatch > announces the interface, the TRUE implementer count, and sample targets 333ms ✓ codegraph_explore — interface dispatch > stays SILENT when the interface family is below the polymorphism threshold (3 impls) 367ms (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8849) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/arkts-resolution.test.ts (7 tests) 1608ms (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:8254) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/wal-deferral.test.ts (20 tests) 4114ms ✓ indexAll WAL deferral end-to-end > produces the same graph with and without deferral, and restores the interval 437ms ✓ sync WAL deferral end-to-end (#1248) > defers the autocheckpoint interval DURING sync and restores it after 426ms ✓ sync WAL deferral end-to-end (#1248) > produces the same sync result with and without deferral 582ms ✓ valve file-size trigger (§7a.1: backfilled WAL still grows the file) > a fully-backfilled but oversized file is chopped at the barrier 507ms (node:9231) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9231) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9379) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-map-api.test.ts (21 tests) 459ms (node:9380) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9421) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-search-model.test.ts (22 tests) 12ms ✓ |engine| __tests__/dead-code.test.ts (22 tests) 535ms (node:9379) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9422) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-program-model.test.ts (16 tests) 62ms (node:9422) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/ui-entrypoints-api.test.ts (14 tests | 11 skipped) 891ms ✓ |engine| __tests__/explore-allocation-1500.test.ts (17 tests) 1178ms ✓ |engine| __tests__/ui-filecode-model.test.ts (28 tests) 28ms (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9647) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-cross-call-dedup.test.ts (24 tests) 3008ms ✓ a second call against a real index > never re-sends a line it already sent, and points at every line it withholds 578ms ✓ a second call against a real index > always returns real source, even when the session already holds everything 411ms (node:9797) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9647) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/tanstack-router.test.ts (29 tests) 601ms (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9797) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-output-budget.test.ts (20 tests) 1306ms ✓ codegraph_explore output respects the adaptive budget > keeps total output under the small-project cap 321ms (node:9529) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/php-property-receiver-resolution.test.ts (15 tests) 2573ms ✓ PHP property-receiver resolution > resolves a promoted constructor property (`private readonly Greeter $greeter`) 431ms (node:9410) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10086) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10086) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-ui-command.test.ts (13 tests | 13 failed) 1710ms  × codegraph ui — help > reads well and documents the flags 108ms  → expected 1 to be +0 // Object.is equality  × codegraph ui — help > works through `codegraph help ui` 237ms  → expected 1 to be +0 // Object.is equality  × codegraph ui — help > is listed in the top-level help, and `web` is an alias 115ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'ui|web [options] [path]'  × codegraph ui — help > rejects a nonsense --port with a plain message, not a stack trace 81ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain '--port must be a whole number'  × codegraph ui — refusals > gives friendly guidance — never a stack trace — when there is no index 55ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'No CodeGraph index found'  × codegraph ui — refusals > refuses a sensitive system directory 158ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'Refusing to operate on sensitive'  × codegraph ui — serving > serves the viewer and prints where it is 44ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph ui — serving > honours --no-open: no browser is launched 114ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph ui — serving > opens the browser at the served URL when --no-open is absent 178ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph ui — serving > CODEGRAPH_BROWSER=none suppresses the launch like --no-open 74ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph ui — serving > moves off the default port when it is busy 72ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph ui — serving > refuses to move off a port the user pinned with --port 77ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'already in use'  × codegraph ui — serving > refuses a foreign Host end-to-end 74ms  → codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  ✓ |engine| __tests__/npm-shim.test.ts (11 tests) 3805ms ✓ npm-shim launcher > runs the installed optional-dependency bundle without any download 417ms ✓ npm-shim launcher > threads CODEGRAPH_HOST_PPID to the bundled server (#1185) 372ms ✓ npm-shim download fallback (local HTTPS) > downloads, verifies the checksum, extracts, and execs the bundle 530ms ✓ npm-shim download fallback (local HTTPS) > prunes older cached bundles after downloading a new one (#1074) 543ms ✓ npm-shim download fallback (local HTTPS) > proceeds when no SHA256SUMS is published (older releases) 478ms (node:9410) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10064) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10064) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10064) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10064) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/db-perf.test.ts (20 tests) 3116ms ✓ deleteResolvedReferences (chunking) > deletes unresolved refs for more ids than the SQLite parameter limit (#1001) 2486ms (node:10408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10410) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-deep-nesting.test.ts (8 tests | 4 skipped) ✓ |engine| __tests__/telemetry.test.ts (20 tests) 692ms ✓ Telemetry > buffer robustness > caps the queue and drops oldest lines without leaving partial JSON 473ms (node:10408) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-entry-model.test.ts (22 tests) 97ms ✓ |engine| __tests__/explore-relevance-scoring.test.ts (8 tests) 1862ms ✓ explore relevance scoring — incidental name collisions (#1500) > keeps files whose only match is an unused local out of the response 414ms stderr | __tests__/deprioritize-config.test.ts > codegraph.json deprioritize — parsing > warns-and-skips a non-array value instead of throwing [CodeGraph] Ignoring "deprioritize" in codegraph.json: must be an array of gitignore-style patterns { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-deprio-cfg-iwX4C7/p-zAKw5H/codegraph.json' } stderr | __tests__/deprioritize-config.test.ts > codegraph.json deprioritize — parsing > drops blank and non-string entries, keeping the rest [CodeGraph] Ignoring a "deprioritize" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-deprio-cfg-iwX4C7/p-9Lzzo8/codegraph.json' } [CodeGraph] Ignoring a "deprioritize" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-deprio-cfg-iwX4C7/p-9Lzzo8/codegraph.json' } [CodeGraph] Ignoring a "deprioritize" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-deprio-cfg-iwX4C7/p-9Lzzo8/codegraph.json' } (node:10806) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:10806) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/vue-router.test.ts (21 tests) 1177ms (node:10932) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/generated-detection.test.ts (41 tests) 25ms (node:10932) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/deprioritize-config.test.ts (16 tests) 1672ms (node:11156) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-reservation-invariant.test.ts (14 tests) 4175ms (node:11194) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11156) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/query-paths.test.ts (27 tests) 25ms (node:11194) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-steps-program.test.ts (19 tests) 8ms ✓ |engine| __tests__/parse-pool.test.ts (17 tests) 331ms ✓ |engine| __tests__/ui-filecode-api.test.ts (15 tests) 625ms ✓ |engine| __tests__/daemon-socket-fallback.test.ts (14 tests | 1 skipped) 13ms (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11626) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11633) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-diagnostics.test.ts (12 tests) 3120ms ✓ codegraph_explore allocation diagnostic > produces byte-identical output whether the diagnostic is on or off 856ms ✓ codegraph_explore allocation diagnostic > stays off for every falsy env value 788ms ✓ codegraph_explore allocation diagnostic > survives an unwritable sink without failing the explore call 447ms (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11633) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11633) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/worktree-detection.test.ts (16 tests) 15060ms ✓ detectWorktreeIndexMismatch (issue #155) > flags a worktree borrowing the main checkout index 826ms ✓ detectWorktreeIndexMismatch (issue #155) > returns null when the index lives in the same working tree 548ms ✓ detectWorktreeIndexMismatch (issue #155) > returns null for a subdirectory of the same working tree 627ms ✓ detectWorktreeIndexMismatch (issue #155) > returns null when startPath is not in a git repo 521ms ✓ detectWorktreeIndexMismatch (issue #155) > returns null when the index root is a plain (non-worktree) directory 569ms ✓ detectWorktreeIndexMismatch (issue #155) > gitWorktreeRoot reports each tree distinctly 630ms ✓ detectWorktreeIndexMismatch (issue #155) > warning names both trees and the fix 667ms ✓ worktree mismatch surfaces on hot read tools (issue #155) > prefixes a compact notice on codegraph_search run from a nested worktree 1181ms ✓ worktree mismatch surfaces on hot read tools (issue #155) > does NOT prefix when the default project is the main checkout itself 823ms ✓ worktree mismatch surfaces on hot read tools (issue #155) > still shows the verbose warning on codegraph_status 997ms ✓ worktree mismatch surfaces on hot read tools (issue #155) > caches detection — a later tool call needs no further git spawn 1039ms ✓ worktree mismatch verdict re-resolves when the index root changes (issue #926) > drops the stale "borrowed the main index" warning once the index root flips to the worktree 1454ms ✓ detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > does NOT flag an active submodule covered by the parent index 1633ms ✓ detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > does NOT flag a bare gitlink (embedded clone, no .gitmodules) covered by the parent index 1272ms ✓ detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > gitCommonDir differs for a nested repo vs the parent (the discriminator) 1238ms ✓ detectWorktreeIndexMismatch — nested repos covered by the parent index (#1031, #1033) > still flags a genuine linked worktree (same repo, different branch) 1033ms (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11633) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11626) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11632) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/segment-vocab.test.ts (12 tests) 3417ms ✓ name-segment vocabulary + getSegmentMatches (graph-derived gate) > co-occurrence: two prose words on one name find it — the reported-prompt shape 553ms ✓ name-segment vocabulary + getSegmentMatches (graph-derived gate) > sync heals an empty vocab over a populated graph (pre-vocab-table upgrade path) 389ms ✓ name-segment vocabulary + getSegmentMatches (graph-derived gate) > heal covers UNCHANGED files even when the same sync also indexes changed ones 383ms ✓ name-segment vocabulary + getSegmentMatches (graph-derived gate) > a name that exists only as an import statement is never surfaced (#1144) 457ms ✓ |engine| __tests__/integration/full-pipeline.test.ts (4 tests) 3206ms ✓ Integration: full pipeline > runs init → index → resolve → search → callers → context → sync 2188ms ✓ Integration: full pipeline > handles repeated sync calls when nothing has changed 383ms ✓ Integration: full pipeline > reports edgesCreated including resolution + synthesizer phases 434ms ✓ |engine| __tests__/explore-displacement-guard.test.ts (11 tests) 3807ms (node:12511) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/update-check.test.ts (20 tests) 188ms ✓ |engine| __tests__/ui-file-model.test.ts (16 tests) 134ms (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/query-pool.test.ts (12 tests) 200ms stderr | __tests__/include-config.test.ts > include loader (codegraph.json) > trims whitespace and drops blank / non-string entries [CodeGraph] Ignoring an "include" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-19LS5y/codegraph.json' } [CodeGraph] Ignoring an "include" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-19LS5y/codegraph.json' } [CodeGraph] Ignoring an "include" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-19LS5y/codegraph.json' } [CodeGraph] Ignoring an "include" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-19LS5y/codegraph.json' } stderr | __tests__/include-config.test.ts > include loader (codegraph.json) > ignores a non-array include value without throwing [CodeGraph] Ignoring "include" in codegraph.json: must be an array of gitignore-style patterns { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-wEhn1r/codegraph.json' } stderr | __tests__/include-config.test.ts > include loader (codegraph.json) > ignores malformed JSON without throwing [CodeGraph] Ignoring codegraph.json: not valid JSON { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-include-jl8IkN/codegraph.json', error: "Expected property name or '}' in JSON at position 2 (line 1 column 3)" } ✓ |engine| __tests__/include-config.test.ts (17 tests) 2892ms ✓ include behavior — scanDirectory force-indexes gitignored source > indexes a .gitignored source dir when include opts it in (git path) — the core fix 631ms ✓ include behavior — scanDirectory force-indexes gitignored source > supports a recursive ** glob and nested dirs 414ms ✓ include behavior — scanDirectory force-indexes gitignored source > lets an explicit exclude win over include 374ms ✓ include behavior — scanDirectory force-indexes gitignored source > prunes an explicitly-excluded subtree under an included dir (a frontend own deps stay out) 346ms ✓ include behavior — scanDirectory force-indexes gitignored source > never resurrects a built-in default-ignored dir (node_modules) via include 340ms ✓ include behavior — scanDirectory force-indexes gitignored source > is a no-op with no include config (gitignored source stays out) 369ms ✓ |engine| __tests__/explore-declaration-only.test.ts (11 tests) 1446ms (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-lua-parity.test.ts (7 tests | 7 skipped) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12945) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12945) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/sveltekit-router.test.ts (11 tests) 886ms (node:13153) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13153) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/mybatis-extractor-robustness.test.ts (17 tests) 14ms ✓ |engine| __tests__/prepare-release.test.ts (12 tests) 1731ms ✓ |engine| __tests__/remove-binary.test.ts (15 tests) 8ms (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13153) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13312) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13153) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:12705) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13153) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-scaffold.test.ts (10 tests | 10 skipped) ✓ |engine| __tests__/context.test.ts (18 tests) 4537ms ✓ Context Builder > getCode() > should extract code for a node 508ms ✓ Context Builder > buildContext() > should build context with JSON format 338ms ✓ Context Builder > Edge cases > should handle empty query 346ms (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/mcp-staleness-banner.test.ts > MCP staleness banner > prepends a whole-index degraded banner once live watching has permanently stopped (#876) [CodeGraph] File watcher disabled { projectRoot: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-stale-banner-xdVtMD', reason: 'OS watch/file limit exhausted; auto-sync disabled. Run `codegraph sync` (or install git sync hooks) to refresh the graph after changes.', error: 'Error: too many open files' } stderr | __tests__/mcp-staleness-banner.test.ts > MCP staleness banner > surfaces the degraded state as its own section in codegraph_status (#876) [CodeGraph] File watcher disabled { projectRoot: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-stale-banner-iuZzQS', reason: 'OS watch/file limit exhausted; auto-sync disabled. Run `codegraph sync` (or install git sync hooks) to refresh the graph after changes.', error: 'Error: too many open files' } ✓ |engine| __tests__/mcp-staleness-banner.test.ts (7 tests) 2865ms ✓ MCP staleness banner > prepends a stale banner when the response references a pending file 631ms ✓ MCP staleness banner > uses the footer (not the banner) when pending files are not referenced 367ms ✓ MCP staleness banner > drops the banner once the sync completes and clears the pending entry 856ms ✓ MCP staleness banner > surfaces the degraded state as its own section in codegraph_status (#876) 302ms (node:13615) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/glyphs.test.ts (24 tests) 14ms (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-named-symbol-render.test.ts (10 tests) 3237ms ✓ CG-38 — an agent-named symbol renders its definition > renders every named definition — symbol bag 385ms ✓ CG-38 — a penalty on one file cannot shrink an unrelated file's render > renders the same named definitions with the .d.ts flagged and unflagged 422ms (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13615) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/c-fnptr-kernel-sweep.test.ts (2 tests | 2 skipped) (node:13637) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/orphaned-refs-sweep.test.ts (4 tests) 1400ms ✓ Orphaned refs sweep (#1187) > sync() heals an interrupted resolution run > resolves leftover refs on a sync with NO file changes 510ms ✓ Orphaned refs sweep (#1187) > sync() heals an interrupted resolution run > is idempotent: a second no-change sync stays clean 549ms ✓ |engine| __tests__/mcp-stale-slice.test.ts (6 tests) 3213ms ✓ MCP stale-slice guard (#1474) > codegraph_node never serves another symbol's body from a drifted file (cross-project) 784ms ✓ MCP stale-slice guard (#1474) > codegraph_node serves the full CURRENT source of a small drifted file (Read-parity fallback) 478ms ✓ MCP stale-slice guard (#1474) > an identical rewrite (mtime churn, same bytes) does not trip the guard 429ms ✓ MCP stale-slice guard (#1474) > codegraph_explore omits (never mis-slices) a big drifted file and flags line refs 483ms ✓ MCP stale-slice guard (#1474) > re-syncing the project restores normal output with no drift markers 622ms ✓ MCP stale-slice guard (#1474) > the guard also fires on the default project when no watcher is running 415ms (node:13615) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/liveness-watchdog.test.ts (10 tests | 7 skipped) 11ms (node:13988) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13989) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:13615) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/symbol-lookup.test.ts (11 tests) 3274ms ✓ matchesSymbol — module-qualified lookups (#173) > resolves `stage_apply::run` to the run in stage_apply.rs (not stage_detect.rs) 1053ms (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/context-ranking.test.ts (13 tests) 740ms ✓ Context ranking — common-word precision & confidence > does not let a common-word exact match (FLAT) outrank a corroborated symbol 347ms (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-oversize-member.test.ts (9 tests) 922ms (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14122) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/tsconfig-extends-aliases.test.ts (11 tests) 31ms (node:14101) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/nix-option-synthesizer.test.ts (6 tests) 1232ms (node:14122) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/rn-event-channel.test.ts (4 tests) 959ms ✓ RN event channel synthesizer > synthesizes an edge from ObjC sendEventWithName: to JS addListener handler 376ms (node:14243) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/index-command.test.ts (5 tests | 5 failed) 495ms  × codegraph index — full re-index keeps the graph populated (#874) > reproduces init's node/edge counts instead of emptying the index 115ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph index — full re-index keeps the graph populated (#874) > is idempotent: a second index does not grow the graph 104ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph index — full re-index keeps the graph populated (#874) > --quiet path also rebuilds a populated graph 109ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph index — recovers a stale/oversized prior index (#1067) > rebuilds to the current disk state, discarding content for files that no longer exist 66ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph index — recovers a stale/oversized prior index (#1067) > rebuilds a fresh database rather than clearing the old one in place 98ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  (node:14243) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14243) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14243) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-ccpp-parity.test.ts (10 tests | 10 skipped) (node:14313) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14243) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14357) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/name-lookup-index.test.ts (5 tests) 153ms ✓ |engine| __tests__/generated-flag-index.test.ts (10 tests) 777ms ✓ generated flag — written at index time > re-decides on sync: removing the banner clears the flag 454ms [CodeGraph daemon] Reaping client with dead peer (pid 111); clients=1. [CodeGraph daemon] Reaping client with dead peer (pid 100); clients=0. [CodeGraph daemon] Reaping client with dead peer (pid 111); clients=0. ✓ |engine| __tests__/daemon-client-liveness.test.ts (19 tests) 22ms ✓ |engine| __tests__/swift-objc-bridge-resolver.test.ts (13 tests) 10ms (node:14371) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14313) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-csharp-parity.test.ts (15 tests | 15 skipped) ↓ |engine| __tests__/kernel-dart-parity.test.ts (18 tests | 18 skipped) (node:14384) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14384) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14396) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14313) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-cluster-starvation.test.ts (9 tests) 915ms ✓ |engine| __tests__/wal-heal.test.ts (7 tests) 2439ms ✓ WAL heal after killed sessions (#1431) > reproduces the ratchet and heals it: killed sessions stack the WAL, open() truncates it 1360ms ✓ WAL heal after killed sessions (#1431) > open() itself kicks off the heal without being asked 1046ms (node:11863) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:11863) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/mcp-ppid-watchdog.test.ts (1 test | 1 failed) 910ms  × MCP PPID watchdog (#277) > shuts down when its parent is SIGKILL'd and stdin stays open 909ms  → expected false to be true // Object.is equality (node:14396) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-factory-closure.test.ts (6 tests) 845ms (node:14468) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-tsjs-parity.test.ts (17 tests | 17 skipped) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14501) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14501) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14513) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14501) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14513) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14501) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14513) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/rtk-query-synthesizer.test.ts (2 tests) 501ms ✓ rtk-query synthesizer > extracts endpoints + generated hooks and bridges hook→endpoint (arrow + method + lazy + factory forms) 334ms (node:14501) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [CodeGraph MCP] Catch-up reconcile still running after 50ms; serving this tool call now and finishing the reconcile in the background (#905). Set CODEGRAPH_CATCHUP_GATE_TIMEOUT_MS=0 to always wait for it. ✓ |engine| __tests__/cfml-receiver-inference.test.ts (8 tests) 1392ms ✓ |engine| __tests__/mcp-catchup-gate.test.ts (7 tests) 2315ms ✓ MCP catch-up gate > awaits the gate before serving the first tool call 453ms ✓ MCP catch-up gate > catch-up reconciles a deleted file before the first tool call sees it 542ms ✓ MCP catch-up gate > catch-up that converges the project to 0 files clears all rows 427ms ↓ |engine| __tests__/kernel-scala-parity.test.ts (21 tests | 21 skipped) (node:14763) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/object-literal-methods.test.ts (6 tests) 366ms (node:14828) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:14840) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/erlang-behaviour-synthesizer.test.ts (4 tests) 461ms ↓ |engine| __tests__/kernel-r-parity.test.ts (4 tests | 4 skipped) (node:14840) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/cfml-inheritance-resolution.test.ts (10 tests) 1070ms (node:14956) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/expo-modules.test.ts (6 tests) 408ms (node:14985) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/laravel-event-synthesizer.test.ts (2 tests) 317ms (node:15017) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/goframe.test.ts (2 tests) 276ms ↓ |engine| __tests__/kernel-php-parity.test.ts (8 tests | 8 skipped) stderr | __tests__/exclude-config.test.ts > exclude loader (codegraph.json) > trims whitespace and drops blank / non-string entries [CodeGraph] Ignoring an "exclude" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-fhLy8d/codegraph.json' } [CodeGraph] Ignoring an "exclude" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-fhLy8d/codegraph.json' } [CodeGraph] Ignoring an "exclude" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-fhLy8d/codegraph.json' } [CodeGraph] Ignoring an "exclude" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-fhLy8d/codegraph.json' } stderr | __tests__/exclude-config.test.ts > exclude loader (codegraph.json) > ignores a non-array exclude value without throwing [CodeGraph] Ignoring "exclude" in codegraph.json: must be an array of gitignore-style patterns { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-GJReIi/codegraph.json' } stderr | __tests__/exclude-config.test.ts > exclude loader (codegraph.json) > ignores malformed JSON without throwing [CodeGraph] Ignoring codegraph.json: not valid JSON { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-exclude-RQlMrR/codegraph.json', error: "Expected property name or '}' in JSON at position 2 (line 1 column 3)" } ✓ |engine| __tests__/exclude-config.test.ts (12 tests) 812ms ✓ exclude behavior — scanDirectory drops excluded paths (#999) > keeps a TRACKED excluded dir out of the index (git path) — the core fix 313ms ✓ |engine| __tests__/swift-objc-bridge.test.ts (34 tests) 5ms (node:14702) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) stderr | __tests__/extension-mapping.test.ts > custom extension → language mapping (#906) > loadExtensionOverrides (codegraph.json) > skips entries whose target is not a supported language [CodeGraph] Ignoring extension ".bad" in codegraph.json: "pyhton" is not a supported language { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-LXNFQv/codegraph.json' } [CodeGraph] Ignoring extension ".x" in codegraph.json: "unknown" is not a supported language { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-LXNFQv/codegraph.json' } stderr | __tests__/extension-mapping.test.ts > custom extension → language mapping (#906) > loadExtensionOverrides (codegraph.json) > skips multi-part and otherwise unusable extension keys [CodeGraph] Ignoring extension mapping in codegraph.json: ".d.ts" is not a valid file extension { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-FADWnK/codegraph.json' } [CodeGraph] Ignoring extension mapping in codegraph.json: "a/b" is not a valid file extension { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-FADWnK/codegraph.json' } [CodeGraph] Ignoring extension mapping in codegraph.json: "." is not a valid file extension { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-FADWnK/codegraph.json' } stderr | __tests__/extension-mapping.test.ts > custom extension → language mapping (#906) > loadExtensionOverrides (codegraph.json) > ignores malformed JSON without throwing [CodeGraph] Ignoring codegraph.json: not valid JSON { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-extmap-GRvPx2/codegraph.json', error: "Expected property name or '}' in JSON at position 2 (line 1 column 3)" } (node:15234) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/extension-mapping.test.ts (13 tests) 217ms (node:15335) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-trails-model.test.ts (17 tests) 3ms ✓ |engine| __tests__/identifier-segments.test.ts (20 tests) 11ms ✓ |engine| __tests__/explore-corroboration-ranking.test.ts (2 tests) 545ms ✓ codegraph_explore — multi-term corroboration tier > sources the corroborated backend file alongside a denser frontend cluster in a multi-layer repo 352ms stderr | __tests__/include-ignored-config.test.ts > includeIgnored loader (codegraph.json) > trims whitespace and drops blank / non-string entries [CodeGraph] Ignoring an "includeIgnored" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-BMjZYH/codegraph.json' } [CodeGraph] Ignoring an "includeIgnored" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-BMjZYH/codegraph.json' } [CodeGraph] Ignoring an "includeIgnored" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-BMjZYH/codegraph.json' } [CodeGraph] Ignoring an "includeIgnored" entry in codegraph.json: every pattern must be a non-empty string { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-BMjZYH/codegraph.json' } stderr | __tests__/include-ignored-config.test.ts > includeIgnored loader (codegraph.json) > ignores a non-array includeIgnored value without throwing [CodeGraph] Ignoring "includeIgnored" in codegraph.json: must be an array of gitignore-style patterns { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-ftrNgz/codegraph.json' } stderr | __tests__/include-ignored-config.test.ts > includeIgnored loader (codegraph.json) > ignores malformed JSON without throwing [CodeGraph] Ignoring codegraph.json: not valid JSON { file: '/var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-includeignored-Hb2021/codegraph.json', error: "Expected property name or '}' in JSON at position 2 (line 1 column 3)" } ✓ |engine| __tests__/include-ignored-config.test.ts (15 tests) 25ms (node:15386) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ↓ |engine| __tests__/kernel-kotlin-parity.test.ts (6 tests | 6 skipped) ✓ |engine| __tests__/large-corpus-regressions.test.ts (6 tests) 497ms ✓ |engine| __tests__/strip-cstyle-differential.test.ts (69 tests | 23 skipped) 59ms (node:15476) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/lombok.test.ts (4 tests) 417ms ✓ |engine| __tests__/daemon-registry.test.ts (8 tests) 349ms (node:15523) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15524) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/kernel-retry-materialize.test.ts (2 tests | 1 skipped) 262ms ✓ |engine| __tests__/ts-field-classification.test.ts (3 tests) 395ms ✓ |engine| __tests__/beta-signup.test.ts (14 tests) 17ms ↓ |engine| __tests__/kernel-ruby-parity.test.ts (4 tests | 4 skipped) (node:15576) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/concurrent-locking.test.ts (6 tests) 241ms (node:15579) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/closure-collection-synthesizer.test.ts (2 tests) 260ms (node:15617) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/mcp-subproject-adoption.test.ts (3 tests | 3 failed) 15197ms  × MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > adopts the single indexed sub-project below a workspace root as the default project 5131ms  → Timed out. Messages so far: []  × MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > lists several indexed sub-projects instead of adopting one, in stderr and in tool responses 5030ms  → Timed out. Messages so far: []  × MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > does not scan below a base that is not a workspace (no manifest, no .git) 5032ms  → Timed out. Messages so far: [] ✓ |engine| __tests__/react-hook-handlers.test.ts (5 tests) 170ms ❯ |engine| __tests__/status-json.test.ts (5 tests | 4 failed) 569ms  × codegraph status --json — CI fields (#329) > status --json on an UNINITIALIZED project reports version + indexPath + lastIndexed:null 60ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph status --json — CI fields (#329) > status --json on an INDEXED project reports version + indexPath + a round-trippable lastIndexed 136ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × index completeness marker (index_state) > a clean full index stamps state=complete with reconciled counts 126ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × index completeness marker (index_state) > a run killed mid-index leaves state=indexing, and status --json surfaces it 117ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  ↓ |engine| __tests__/kernel-swift-parity.test.ts (3 tests | 3 skipped) ✓ |engine| __tests__/ppid-watchdog.test.ts (14 tests) 7ms (node:15670) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15686) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/same-name-disambiguation.test.ts (6 tests) 385ms (node:15689) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/mediatr-dispatch-synthesizer.test.ts (2 tests) 216ms ✓ |engine| __tests__/explore-path-pinning.test.ts (8 tests) 610ms (node:15727) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/spring-event-synthesizer.test.ts (2 tests) 263ms (node:15810) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/mcp-roots.test.ts (3 tests | 3 failed) 15093ms  × MCP project resolution via roots/list (issue #196) > resolves the project from the client roots/list when no rootUri is sent 5060ms  → Timed out. Messages so far: []  × MCP project resolution via roots/list (issue #196) > returns an actionable error when there is no rootUri and no roots capability 5014ms  → Timed out. Messages so far: []  × MCP project resolution via roots/list (issue #196) > honors an explicit rootUri without asking the client for roots 5018ms  → Timed out. Messages so far: [] ✓ |engine| __tests__/wasm-runtime-flags.test.ts (10 tests) 187ms (node:15884) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/mcp-unindexed.test.ts (8 tests | 4 failed) 32317ms  × No-root-index session policy > initialize returns the per-project instructions (not "inactive", not the full playbook) 8033ms  → Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".  × No-root-index session policy > tools/list exposes the tools even when the server root has no index (#964) 8020ms  → Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".  × No-root-index session policy > a query by projectPath reaches an INDEXED sub-project of an unindexed root (monorepo) (#964) 8016ms  → Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout".  × No-root-index session policy > an INDEXED workspace still gets the full playbook and the explore tool 8011ms  → Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". (node:15884) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15810) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15884) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/react-hoc-component.test.ts (4 tests) 711ms (node:15927) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15927) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:15956) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/fabric-view.test.ts (4 tests) 297ms ✓ |engine| __tests__/vue-store-extraction.test.ts (2 tests) 382ms (node:15810) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16062) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/search-query-parser.test.ts (23 tests) 11ms ✓ |engine| __tests__/node-file-view.test.ts (9 tests) 2110ms (node:16136) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/redux-thunk-synthesizer.test.ts (2 tests) 380ms (node:16235) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-nl-stopword-collision.test.ts (3 tests) 796ms ✓ codegraph_explore — NL-stopword collision guard > a bare English word ("check") does not tier its namesake above the corroborated answer file 378ms ✓ |engine| __tests__/batched-ref-cleanup.test.ts (3 tests) 59ms ↓ |engine| __tests__/kernel-rustlang-parity.test.ts (3 tests | 3 skipped) ✓ |engine| __tests__/npm-sdk.test.ts (3 tests) 222ms ✓ |engine| __tests__/strip-comments.test.ts (17 tests) 8ms (node:16360) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16359) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/install-sh-prune.test.ts (4 tests) 182ms (node:16359) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/celery-dispatch-synthesizer.test.ts (2 tests) 337ms (node:16370) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/sidekiq-dispatch-synthesizer.test.ts (2 tests) 365ms ✓ |engine| __tests__/explore-blast-radius.test.ts (4 tests) 1000ms ✓ codegraph_explore — blast radius > lists dependents (locations only) and covering tests for an entry symbol 369ms (node:16439) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16439) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16439) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/db-reopen-on-replace.test.ts (6 tests | 1 skipped) 514ms ✓ CodeGraph.reopenIfReplaced (issue #925) > heals a held connection after the index is removed and recreated at the same path 362ms (node:16467) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16551) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/erlang-arity-resolution.test.ts (4 tests) 573ms (node:16571) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16551) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/mcp-require-project-path.test.ts (6 tests) 432ms (node:16551) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16647) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16551) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-node-command.test.ts (5 tests | 4 failed) 921ms  × codegraph node — argument handling (#1044) > file mode via -f reads the file (was rejected as "missing required argument") 239ms  → expected 1 to be +0 // Object.is equality  × codegraph node — argument handling (#1044) > a path-like positional still routes to file mode 180ms  → expected 1 to be +0 // Object.is equality  × codegraph node — argument handling (#1044) > a bare symbol positional still routes to symbol mode 160ms  → expected 1 to be +0 // Object.is equality  × codegraph node — symbol pinned to a file includes the body (#1284) > `node -f ` prints the pinned definition WITH its source body 186ms  → expected 1 to be +0 // Object.is equality ✓ |engine| __tests__/git-hooks.test.ts (7 tests) 787ms ✓ |engine| __tests__/mcp-tool-annotations.test.ts (4 tests) 221ms ✓ |engine| __tests__/resolver-pool-sizing.test.ts (10 tests | 1 skipped) 22ms (node:16815) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16927) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16927) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16935) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16935) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:16935) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/config-secret-redaction.test.ts (4 tests) 666ms ❯ |engine| __tests__/mcp-initialize.test.ts (3 tests | 3 failed) 20068ms  × MCP initialize handshake (issue #172) > responds to initialize quickly when no .codegraph exists in cwd 5029ms  → Timed out waiting for predicate. Events: [{"seq":0,"stream":"stderr","text":"node:internal/modules/cjs/loader:1451"},{"seq":1,"stream":"stderr","text":" throw err;"},{"seq":2,"stream":"stderr","text":" ^"},{"seq":3,"stream":"stderr","text":""},{"seq":4,"stream":"stderr","text":"Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'"},{"seq":5,"stream":"stderr","text":" at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)"},{"seq":6,"stream":"stderr","text":" at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)"},{"seq":7,"stream":"stderr","text":" at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)"},{"seq":8,"stream":"stderr","text":" at Module._load (node:internal/modules/cjs/loader:1234:25)"},{"seq":9,"stream":"stderr","text":" at TracingChannel.traceSync (node:diagnostics_channel:328:14)"},{"seq":10,"stream":"stderr","text":" at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)"},{"seq":11,"stream":"stderr","text":" at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)"},{"seq":12,"stream":"stderr","text":" at node:internal/main/run_main_module:33:47 {"},{"seq":13,"stream":"stderr","text":" code: 'MODULE_NOT_FOUND',"},{"seq":14,"stream":"stderr","text":" requireStack: []"},{"seq":15,"stream":"stderr","text":"}"},{"seq":16,"stream":"stderr","text":""},{"seq":17,"stream":"stderr","text":"Node.js v24.13.1"}]  × MCP initialize handshake (issue #172) > sends initialize response BEFORE tryInitializeDefault finishes 10026ms  → Timed out waiting for predicate. Events: [{"seq":0,"stream":"stderr","text":"node:internal/modules/cjs/loader:1451"},{"seq":1,"stream":"stderr","text":" throw err;"},{"seq":2,"stream":"stderr","text":" ^"},{"seq":3,"stream":"stderr","text":""},{"seq":4,"stream":"stderr","text":"Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'"},{"seq":5,"stream":"stderr","text":" at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)"},{"seq":6,"stream":"stderr","text":" at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)"},{"seq":7,"stream":"stderr","text":" at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)"},{"seq":8,"stream":"stderr","text":" at Module._load (node:internal/modules/cjs/loader:1234:25)"},{"seq":9,"stream":"stderr","text":" at TracingChannel.traceSync (node:diagnostics_channel:328:14)"},{"seq":10,"stream":"stderr","text":" at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)"},{"seq":11,"stream":"stderr","text":" at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)"},{"seq":12,"stream":"stderr","text":" at node:internal/main/run_main_module:33:47 {"},{"seq":13,"stream":"stderr","text":" code: 'MODULE_NOT_FOUND',"},{"seq":14,"stream":"stderr","text":" requireStack: []"},{"seq":15,"stream":"stderr","text":"}"},{"seq":16,"stream":"stderr","text":""},{"seq":17,"stream":"stderr","text":"Node.js v24.13.1"}]  × MCP initialize handshake (issue #172) > answers resources/list and prompts/list with empty lists, not -32601 (issue #621) 5011ms  → Timed out waiting for predicate. Events: [{"seq":0,"stream":"stderr","text":"node:internal/modules/cjs/loader:1451"},{"seq":1,"stream":"stderr","text":" throw err;"},{"seq":2,"stream":"stderr","text":" ^"},{"seq":3,"stream":"stderr","text":""},{"seq":4,"stream":"stderr","text":"Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'"},{"seq":5,"stream":"stderr","text":" at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)"},{"seq":6,"stream":"stderr","text":" at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)"},{"seq":7,"stream":"stderr","text":" at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)"},{"seq":8,"stream":"stderr","text":" at Module._load (node:internal/modules/cjs/loader:1234:25)"},{"seq":9,"stream":"stderr","text":" at TracingChannel.traceSync (node:diagnostics_channel:328:14)"},{"seq":10,"stream":"stderr","text":" at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)"},{"seq":11,"stream":"stderr","text":" at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)"},{"seq":12,"stream":"stderr","text":" at node:internal/main/run_main_module:33:47 {"},{"seq":13,"stream":"stderr","text":" code: 'MODULE_NOT_FOUND',"},{"seq":14,"stream":"stderr","text":" requireStack: []"},{"seq":15,"stream":"stderr","text":"}"},{"seq":16,"stream":"stderr","text":""},{"seq":17,"stream":"stderr","text":"Node.js v24.13.1"}] (node:16815) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-context-command.test.ts (6 tests | 6 failed) 984ms  × codegraph context — registered CLI command (#1611) > --format json emits clean machine-parseable JSON on stdout 222ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-mrb44B parseToken expiry handling  × codegraph context — registered CLI command (#1611) > --max-nodes bounds the returned symbol set 144ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json --max-nodes 1 -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-Ex7hdA parseToken expiry handling  × codegraph context — registered CLI command (#1611) > --no-code omits code blocks (the Memorix contract shape) 151ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json --max-nodes 8 --no-code -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-ry6GAi parseToken expiry handling  × codegraph context — registered CLI command (#1611) > defaults to markdown output 106ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-x18NQa parseToken expiry handling  × codegraph context — registered CLI command (#1611) > fails cleanly on an uninitialized project 197ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'not initialized'  × codegraph context — registered CLI command (#1611) > rejects an unknown --format value 162ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'Unknown format' ❯ |engine| __tests__/cli-install-init.test.ts (5 tests | 5 failed) 337ms  × codegraph install --init / init --yes (#1578) > install --yes --target none --init builds the current project's index in one command 71ms  → node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 : expected 1 to be +0 // Object.is equality  × codegraph install --init / init --yes (#1578) > install --init on an already-initialized project reports that and still exits 0 72ms  → expected 1 to be +0 // Object.is equality  × codegraph install --init / init --yes (#1578) > install --init refuses an unsafe root (filesystem root) with exit code 1, like init does 34ms  → expected '' to contain 'Refusing to initialize'  × codegraph install --init / init --yes (#1578) > init --yes runs non-interactively with stdin closed and builds the index 68ms  → node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 : expected 1 to be +0 // Object.is equality  × codegraph install --init / init --yes (#1578) > documents the new flags in --help 91ms  → expected '' to match /-y, --yes\b/ (node:16815) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17282) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17335) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17345) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/mcp-files-path-normalization.test.ts (13 tests) 2326ms ✓ codegraph_files path normalization > does not match sibling directories that share a prefix 354ms ✓ |engine| __tests__/explore-result-count.test.ts (1 test) 367ms ✓ codegraph_explore — curated result count (#1046) > header file count equals the number of rendered source sections 366ms ✓ |engine| __tests__/android-res-exclusion.test.ts (1 test) 154ms (node:17345) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-synth-constant-endpoints.test.ts (1 test) 398ms ✓ codegraph_explore — synthesized constant→constant edges surface on small repos > surfaces an RTK thunk→thunk hop (both `constant`) in the Dynamic-dispatch links section 397ms ✓ |engine| __tests__/daemon-manager.test.ts (8 tests) 10ms ❯ |engine| __tests__/mcp-startup-orphan.test.ts (2 tests | 2 failed) 3090ms  × startup-orphan backstop (#1185) > a server that never receives MCP traffic shuts itself down 82ms  → expected 1 to be +0 // Object.is equality  × startup-orphan backstop (#1185) > a server that got an initialize is never reaped by the backstop 3007ms  → expected 1 to be null [CodeGraph MCP] No .codegraph/ at or above /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-bind-YkkF13: no default project, live sync disabled. ✓ |engine| __tests__/daemon-bind-failure.test.ts (4 tests) 25ms ✓ |engine| __tests__/cooperative-yield.test.ts (8 tests) 41ms (node:17494) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/ui-conditions.test.ts (5 tests) 22ms ✓ |engine| __tests__/is-test-file.test.ts (7 tests) 7ms (node:17494) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/vuex-dispatch-synthesizer.test.ts (1 test) 304ms ✓ vuex-dispatch synthesizer > bridges namespaced dispatch + local commit to the right store handler, excluding an api collision 303ms (node:17516) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17516) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/field-name-retrieval.test.ts (2 tests) 667ms ✓ field-name query retrieval (#1196) > a bag of field-name tokens surfaces the files that DEFINE those fields 448ms (node:17534) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17536) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17538) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17536) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/startup-handshake.test.ts (11 tests) 679ms (node:17536) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/pinia-store-synthesizer.test.ts (2 tests) 336ms ❯ |engine| __tests__/index-orphan-watchdog.test.ts (1 test | 1 failed) 10017ms  × index/init orphan supervision (#999) > self-terminates when its parent is SIGKILL'd mid-index 10015ms  → child did not report its pid in time (node:17534) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17538) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-no-color.test.ts (6 tests | 6 failed) 730ms  × CLI color handling (#1281) > piped stdout gets no ANSI codes by default (status, query, callers, files) 80ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × CLI color handling (#1281) > NO_COLOR=1 suppresses ANSI codes even when colors are forced on by env 112ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'  at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)  at Module._load (node:internal/modules/cjs/loader:1234:25)  at TracingChannel.traceSync (node:diagnostics_channel:328:14)  at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)  at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)  at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × CLI color handling (#1281) > FORCE_COLOR=1 emits ANSI codes even though stdout is piped 69ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'  at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)  at Module._load (node:internal/modules/cjs/loader:1234:25)  at TracingChannel.traceSync (node:diagnostics_channel:328:14)  at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)  at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)  at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × CLI color handling (#1281) > --color forces ANSI codes on piped stdout; --no-color wins over FORCE_COLOR 73ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --color node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × CLI color handling (#1281) > --color / --no-color are accepted in any argv position (not rejected by subcommands) 132ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query alpha --no-color node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × CLI color handling (#1281) > piped `codegraph index` emits plain per-phase lines: no ANSI, no \r rewrites 81ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js index node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  ✓ |engine| __tests__/fatal-handler.test.ts (8 tests) 3ms (node:17534) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) [CodeGraph MCP] Found a daemon on /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/cg-proxy-XBvGmm/d.sock but version (0.0.0-not-our-version) differs from ours (1.6.0); serving this session in-process. ✓ |engine| __tests__/proxy-connect.test.ts (3 tests) 8ms (node:17534) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/explore-pinned-allocation.test.ts (5 tests) 3ms (node:17654) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/integration/mcp-input-limits.test.ts (9 tests) 1555ms (node:17654) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17666) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-unlock.test.ts (2 tests | 2 failed) 228ms  × codegraph unlock — daemon artifact recovery (#1553) > removes indexing and phantom-daemon artifacts, then permits indexing 110ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js unlock /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-unlock-yMXWc4 node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph unlock — daemon artifact recovery (#1553) > preserves artifacts when the recorded live daemon answers the socket hello 116ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js unlock /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-unlock-Zkzizk node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  (node:17654) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17654) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/synthesis-tail-scaling.test.ts (3 tests) 658ms (node:17693) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17703) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/installer.test.ts (3 tests) 16ms (node:17693) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/gin-middleware-chain.test.ts (1 test) 345ms ✓ gin middleware-chain synthesizer > links Context.Next to handlers registered via Use/GET and skips inline closures 343ms ✓ |engine| __tests__/object-registry-synthesizer.test.ts (1 test) 396ms ✓ object-registry synthesizer > links a dispatcher to each registered command class’s execute method, gated on dynamic dispatch 395ms (node:17734) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/integration/lru-cache.test.ts (7 tests) 14ms ↓ |engine| __tests__/kernel-grammar-parity.test.ts (19 tests | 19 skipped) (node:17755) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/namespace-object-resolution.test.ts (2 tests) 464ms ✓ |engine| __tests__/synthesis-progress.test.ts (2 tests) 238ms ❯ |engine| __tests__/cli-version.test.ts (9 tests | 9 failed) 763ms  × codegraph version affordances > `codegraph version` prints exactly the package version 106ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > `codegraph -v` prints exactly the package version 69ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -v node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > `codegraph -version` prints exactly the package version 79ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > `codegraph --version` prints exactly the package version 94ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > `codegraph -V` prints exactly the package version 81ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -V node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > lists the `version` subcommand in --help 75ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > `codegraph help` prints usage and the command list 63ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > hides the internal `serve` command from --help 107ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   × codegraph version affordances > a trailing `-v` is still the subcommand's --verbose, not the version intercept 88ms  → expected 'node:internal/modules/cjs/loader:1451…' to contain 'not initialized' ✓ |engine| __tests__/subprocess-timeouts.test.ts (6 tests) 33ms ✓ |engine| __tests__/node-version-check.test.ts (9 tests) 2ms (node:17802) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/mcp-tool-allowlist.test.ts (7 tests) 4ms ✓ |engine| __tests__/watch-policy.test.ts (8 tests) 3ms (node:17802) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17850) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17852) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17862) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17865) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) (node:17852) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ❯ |engine| __tests__/cli-affected-paths.test.ts (1 test | 1 failed) 348ms  × codegraph affected — input path normalization (#825) > bare-relative, ./-prefixed, and absolute paths all resolve the same affected test 346ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js affected src/util.ts --quiet -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-affected-paths-pD6HEj node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1  (node:17850) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/iterate-nodes-by-kind.test.ts (2 tests) 391ms (node:17862) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/node-sqlite-backend.test.ts (5 tests) 304ms (node:17862) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/unsafe-index-root.test.ts (5 tests) 3ms ✓ |engine| __tests__/git-changed-untracked-dir.test.ts (2 tests) 831ms ✓ getGitChangedFiles — untracked directories (#1213) > still recurses into an untracked embedded git repo (no -uall regression) 562ms ❯ |engine| __tests__/cli-query-command.test.ts (2 tests | 2 failed) 629ms  × codegraph query — score rendering (#1045) > human output ranks results without rendering a raw score as a percentage 341ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query parseToken -l 5 -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-query-cmd-6SviyM  × codegraph query — score rendering (#1045) > --json still carries the raw numeric score for programmatic use 287ms  → Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query parseToken -l 5 --json -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-query-cmd-4XXDU7 ✓ |engine| __tests__/grammar-wasm-bytes.test.ts (4 tests) 76ms ✓ |engine| __tests__/stdin-teardown.test.ts (4 tests) 5ms ✓ |engine| __tests__/store-exported-later.test.ts (4 tests) 342ms ✓ |engine| __tests__/mcp-debounce-env.test.ts (5 tests) 5ms ✓ |engine| __tests__/daemon-attach-log.test.ts (2 tests) 73ms (node:18068) ExperimentalWarning: SQLite is an experimental feature and might change at any time (Use `node --trace-warnings ...` to show where the warning was created) ✓ |engine| __tests__/sqlite-backend.test.ts (2 tests) 179ms ✓ |engine| __tests__/refs-by-files-spread.test.ts (1 test) 4252ms ✓ unresolved-ref loads with dense result sets (#1558) > returns 200k pending refs from few files without exhausting the call stack 4250ms ✓ |ui| __tests__/ui-package.test.ts (14 tests) 276ms ❯ |engine| __tests__/mcp-daemon.test.ts (10 tests | 10 failed) 113041ms  × Shared MCP daemon (issue #411) > two invocations share ONE detached daemon; both attach as proxies 10110ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > concurrent launchers converge on a single daemon (lockfile race — must-fix 1) 12120ms  → Timed out after 12000ms  × Shared MCP daemon (issue #411) > daemon survives the first client dying; a second client keeps working (must-fix 2 / #277) 10098ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > CODEGRAPH_NO_DAEMON=1 keeps each process independent (no socket/pidfile) 10100ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > clears a stale (dead-pid) lockfile and a fresh daemon takes over 10153ms  → Timed out after 10000ms stderr: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 daemon.log:   × Shared MCP daemon (issue #411) > takes over after SIGKILL even when the stale PID has been reused (#1553) 10105ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > proxy falls back to direct mode on a daemon version mismatch 10085ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > does NOT reap a live-but-quiet client on the inactivity backstop (#692) 10097ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > daemon idle-times-out after the last client disconnects 10083ms  → Timed out after 10000ms  × Shared MCP daemon (issue #411) > proxy survives the daemon dying mid-session and keeps serving (#662) 20088ms  → Timed out after 20000ms waiting for: initialize response ⎯⎯⎯⎯⎯⎯ Failed Suites 3 ⎯⎯⎯⎯⎯⎯⎯  FAIL |engine| __tests__/liveness-watchdog.test.ts > liveness watchdog (spawned, real watchdog process) Error: Build the project first: /private/tmp/codegraph-review/dist/mcp/liveness-watchdog.js is missing (run npm run build).  ❯ __tests__/liveness-watchdog.test.ts:53:13  51|  beforeAll(() => {  52|  if (!fs.existsSync(MODULE)) {  53|  throw new Error(`Build the project first: ${MODULE} is missing (…  |  ^  54|  }  55|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/87]⎯  FAIL |engine| __tests__/ui-entrypoints-api.test.ts > entry points on a routed service ViewerMissingError: The CodeGraph viewer assets are missing from this installation. Looked in: /private/tmp/codegraph-review/src/viewer /private/tmp/codegraph-review/dist/viewer If you installed CodeGraph normally, reinstall it — the release bundle ships the viewer. If you are working from a source checkout, run: npm run build  ❯ Module.resolveViewerDir src/ui-server/assets.ts:75:9  73|  }  74|  }  75|  throw new ViewerMissingError(candidates);  |  ^  76| }  77|   ❯ Module.startUiServer src/ui-server/index.ts:175:71  ❯ serve __tests__/ui-entrypoints-api.test.ts:84:24  ❯ __tests__/ui-entrypoints-api.test.ts:119:16 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/87]⎯  FAIL |engine| __tests__/ui-entrypoints-api.test.ts > entry points on a project with no routes ViewerMissingError: The CodeGraph viewer assets are missing from this installation. Looked in: /private/tmp/codegraph-review/src/viewer /private/tmp/codegraph-review/dist/viewer If you installed CodeGraph normally, reinstall it — the release bundle ships the viewer. If you are working from a source checkout, run: npm run build  ❯ Module.resolveViewerDir src/ui-server/assets.ts:75:9  73|  }  74|  }  75|  throw new ViewerMissingError(candidates);  |  ^  76| }  77|   ❯ Module.startUiServer src/ui-server/index.ts:175:71  ❯ serve __tests__/ui-entrypoints-api.test.ts:84:24  ❯ __tests__/ui-entrypoints-api.test.ts:278:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/87]⎯ ⎯⎯⎯⎯⎯⎯ Failed Tests 84 ⎯⎯⎯⎯⎯⎯⎯  FAIL |engine| __tests__/cli-affected-paths.test.ts > codegraph affected — input path normalization (#825) > bare-relative, ./-prefixed, and absolute paths all resolve the same affected test Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js affected src/util.ts --quiet -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-affected-paths-pD6HEj node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ affected __tests__/cli-affected-paths.test.ts:22:15  20|   21| function affected(cwd: string, arg: string): string[] {  22|  const out = execFileSync(process.execPath, [BIN, 'affected', arg, '-…  |  ^  23|  encoding: 'utf-8',  24|  env: { ...process.env, CODEGRAPH_NO_DAEMON: '1', CODEGRAPH_WASM_RE…  ❯ __tests__/cli-affected-paths.test.ts:58:12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > --format json emits clean machine-parseable JSON on stdout Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-mrb44B parseToken expiry handling  ❯ runContext __tests__/cli-context-command.test.ts:28:10  26|   27| function runContext(cwd: string, extraArgs: string[], taskParts: strin…  28|  return execFileSync(process.execPath, [BIN, 'context', ...extraArgs,…  |  ^  29|  encoding: 'utf-8',  30|  env: ENV,  ❯ __tests__/cli-context-command.test.ts:56:31 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > --max-nodes bounds the returned symbol set Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json --max-nodes 1 -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-Ex7hdA parseToken expiry handling  ❯ runContext __tests__/cli-context-command.test.ts:28:10  26|   27| function runContext(cwd: string, extraArgs: string[], taskParts: strin…  28|  return execFileSync(process.execPath, [BIN, 'context', ...extraArgs,…  |  ^  29|  encoding: 'utf-8',  30|  env: ENV,  ❯ __tests__/cli-context-command.test.ts:65:31 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > --no-code omits code blocks (the Memorix contract shape) Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context --format json --max-nodes 8 --no-code -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-ry6GAi parseToken expiry handling  ❯ runContext __tests__/cli-context-command.test.ts:28:10  26|   27| function runContext(cwd: string, extraArgs: string[], taskParts: strin…  28|  return execFileSync(process.execPath, [BIN, 'context', ...extraArgs,…  |  ^  29|  encoding: 'utf-8',  30|  env: ENV,  ❯ __tests__/cli-context-command.test.ts:72:7 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > defaults to markdown output Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js context -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-context-cmd-x18NQa parseToken expiry handling  ❯ runContext __tests__/cli-context-command.test.ts:28:10  26|   27| function runContext(cwd: string, extraArgs: string[], taskParts: strin…  28|  return execFileSync(process.execPath, [BIN, 'context', ...extraArgs,…  |  ^  29|  encoding: 'utf-8',  30|  env: ENV,  ❯ __tests__/cli-context-command.test.ts:79:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > fails cleanly on an uninitialized project AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'not initialized' - Expected + Received - not initialized + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-context-command.test.ts:95:34  93|  } catch (err: any) {  94|  expect(err.status).toBe(1);  95|  expect(String(err.stderr)).toContain('not initialized');  |  ^  96|  } finally {  97|  fs.rmSync(empty, { recursive: true, force: true }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/87]⎯  FAIL |engine| __tests__/cli-context-command.test.ts > codegraph context — registered CLI command (#1611) > rejects an unknown --format value AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'Unknown format' - Expected + Received - Unknown format + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-context-command.test.ts:111:34 109|  } catch (err: any) { 110|  expect(err.status).toBe(1); 111|  expect(String(err.stderr)).toContain('Unknown format');  |  ^ 112|  } 113|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/87]⎯  FAIL |engine| __tests__/cli-install-init.test.ts > codegraph install --init / init --yes (#1578) > install --yes --target none --init builds the current project's index in one command AssertionError: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 : expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-install-init.test.ts:72:43  70|  it('install --yes --target none --init builds the current project\'s…  71|  const r = runCodegraph(['install', '--yes', '--target', 'none', '-…  72|  expect(r.status, r.stdout + r.stderr).toBe(0);  |  ^  73|  // The installer ran (and had nothing to wire) …  74|  expect(r.stdout).toContain('No agent targets selected'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[11/87]⎯  FAIL |engine| __tests__/cli-install-init.test.ts > codegraph install --init / init --yes (#1578) > install --init on an already-initialized project reports that and still exits 0 AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-install-init.test.ts:81:61  79|   80|  it('install --init on an already-initialized project reports that an…  81|  expect(runCodegraph(['init', '--yes'], tempDir).status).toBe(0);  |  ^  82|  const r = runCodegraph(['install', '--yes', '--target', 'none', '-…  83|  expect(r.status, r.stdout + r.stderr).toBe(0); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[12/87]⎯  FAIL |engine| __tests__/cli-install-init.test.ts > codegraph install --init / init --yes (#1578) > install --init refuses an unsafe root (filesystem root) with exit code 1, like init does AssertionError: expected '' to contain 'Refusing to initialize' - Expected + Received - Refusing to initialize  ❯ __tests__/cli-install-init.test.ts:93:22  91|  const r = runCodegraph(['install', '--yes', '--target', 'none', '-…  92|  expect(r.status).toBe(1);  93|  expect(r.stdout).toContain('Refusing to initialize');  |  ^  94|  expect(fs.existsSync(path.join(root, '.codegraph'))).toBe(false);  95|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[13/87]⎯  FAIL |engine| __tests__/cli-install-init.test.ts > codegraph install --init / init --yes (#1578) > init --yes runs non-interactively with stdin closed and builds the index AssertionError: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 : expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-install-init.test.ts:99:43  97|  it('init --yes runs non-interactively with stdin closed and builds t…  98|  const r = runCodegraph(['init', '--yes'], tempDir);  99|  expect(r.status, r.stdout + r.stderr).toBe(0);  |  ^ 100|  expect(r.stdout).toContain('Initialized in'); 101|  expect(fs.existsSync(path.join(tempDir, '.codegraph', 'codegraph.d… ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[14/87]⎯  FAIL |engine| __tests__/cli-install-init.test.ts > codegraph install --init / init --yes (#1578) > documents the new flags in --help AssertionError: expected '' to match /-y, --yes\b/ - Expected: /-y, --yes\b/ + Received: ""  ❯ __tests__/cli-install-init.test.ts:105:62 103|  104|  it('documents the new flags in --help', () => { 105|  expect(runCodegraph(['init', '--help'], tempDir).stdout).toMatch(/…  |  ^ 106|  expect(runCodegraph(['install', '--help'], tempDir).stdout).toMatc… 107|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[15/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > piped stdout gets no ANSI codes by default (status, query, callers, files) Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:72:19 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[16/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > NO_COLOR=1 suppresses ANSI codes even when colors are forced on by env Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'  at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)  at Module._load (node:internal/modules/cjs/loader:1234:25)  at TracingChannel.traceSync (node:diagnostics_channel:328:14)  at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)  at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)  at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:78:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[17/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > FORCE_COLOR=1 emits ANSI codes even though stdout is piped Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'  at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)  at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)  at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)  at Module._load (node:internal/modules/cjs/loader:1234:25)  at TracingChannel.traceSync (node:diagnostics_channel:328:14)  at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)  at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)  at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:83:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[18/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > --color forces ANSI codes on piped stdout; --no-color wins over FORCE_COLOR Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --color node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:88:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[19/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > --color / --no-color are accepted in any argv position (not rejected by subcommands) Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query alpha --no-color node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:97:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[20/87]⎯  FAIL |engine| __tests__/cli-no-color.test.ts > CLI color handling (#1281) > piped `codegraph index` emits plain per-phase lines: no ANSI, no \r rewrites Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js index node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-no-color.test.ts:44:10  42|   43| function run(args: string[], env: NodeJS.ProcessEnv, cwd: string): str…  44|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  45|  cwd,  46|  encoding: 'utf-8',  ❯ __tests__/cli-no-color.test.ts:102:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[21/87]⎯  FAIL |engine| __tests__/cli-node-command.test.ts > codegraph node — argument handling (#1044) > file mode via -f reads the file (was rejected as "missing required argument") AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-node-command.test.ts:53:18  51|  it('file mode via -f reads the file (was rejected as "missing requir…  52|  const { stdout, code } = runNode(tempDir, ['-f', 'src/util.ts']);  53|  expect(code).toBe(0);  |  ^  54|  expect(stdout).toContain('src/util.ts');  55|  expect(stdout).toContain('export function util'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[22/87]⎯  FAIL |engine| __tests__/cli-node-command.test.ts > codegraph node — argument handling (#1044) > a path-like positional still routes to file mode AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-node-command.test.ts:62:18  60|  it('a path-like positional still routes to file mode', () => {  61|  const { stdout, code } = runNode(tempDir, ['src/util.ts']);  62|  expect(code).toBe(0);  |  ^  63|  expect(stdout).toContain('src/util.ts');  64|  expect(stdout).toContain('export function util'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[23/87]⎯  FAIL |engine| __tests__/cli-node-command.test.ts > codegraph node — argument handling (#1044) > a bare symbol positional still routes to symbol mode AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-node-command.test.ts:69:18  67|  it('a bare symbol positional still routes to symbol mode', () => {  68|  const { stdout, code } = runNode(tempDir, ['util']);  69|  expect(code).toBe(0);  |  ^  70|  expect(stdout).toContain('util');  71|  expect(stdout).toContain('Location:'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[24/87]⎯  FAIL |engine| __tests__/cli-node-command.test.ts > codegraph node — symbol pinned to a file includes the body (#1284) > `node -f ` prints the pinned definition WITH its source body AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-node-command.test.ts:111:18 109|  // only Location + trail — no code fence — so the user had nothing… 110|  const { stdout, code } = runNode(tempDir, ['setState', '-f', 'a/st… 111|  expect(code).toBe(0);  |  ^ 112|  expect(stdout).toContain('a/state.ts'); 113|  // The body is present (line-numbered fence), and it's the pinned … ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[25/87]⎯  FAIL |engine| __tests__/cli-query-command.test.ts > codegraph query — score rendering (#1045) > human output ranks results without rendering a raw score as a percentage Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query parseToken -l 5 -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-query-cmd-6SviyM  ❯ query __tests__/cli-query-command.test.ts:23:10  21|   22| function query(cwd: string, extraArgs: string[]): string {  23|  return execFileSync(process.execPath, [BIN, 'query', 'parseToken', .…  |  ^  24|  encoding: 'utf-8',  25|  env: { ...process.env, CODEGRAPH_NO_DAEMON: '1', CODEGRAPH_WASM_RE…  ❯ __tests__/cli-query-command.test.ts:51:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[26/87]⎯  FAIL |engine| __tests__/cli-query-command.test.ts > codegraph query — score rendering (#1045) > --json still carries the raw numeric score for programmatic use Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js query parseToken -l 5 --json -p /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-query-cmd-4XXDU7  ❯ query __tests__/cli-query-command.test.ts:23:10  21|   22| function query(cwd: string, extraArgs: string[]): string {  23|  return execFileSync(process.execPath, [BIN, 'query', 'parseToken', .…  |  ^  24|  encoding: 'utf-8',  25|  env: { ...process.env, CODEGRAPH_NO_DAEMON: '1', CODEGRAPH_WASM_RE…  ❯ __tests__/cli-query-command.test.ts:60:31 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[27/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — help > reads well and documents the flags AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-ui-command.test.ts:125:18 123|  it('reads well and documents the flags', () => { 124|  const { code, output } = runCli(['ui', '--help']); 125|  expect(code).toBe(0);  |  ^ 126|  expect(output).toContain('--port'); 127|  expect(output).toContain('--no-open'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[28/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — help > works through `codegraph help ui` AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/cli-ui-command.test.ts:138:33 136|  const viaHelpCommand = runCli(['help', 'ui']); 137|  const viaFlag = runCli(['ui', '--help']); 138|  expect(viaHelpCommand.code).toBe(0);  |  ^ 139|  expect(viaHelpCommand.output).toBe(viaFlag.output); 140|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[29/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — help > is listed in the top-level help, and `web` is an alias AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'ui|web [options] [path]' - Expected + Received - ui|web [options] [path] + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-ui-command.test.ts:144:24 142|  it('is listed in the top-level help, and `web` is an alias', () => { 143|  const top = runCli(['--help']); 144|  expect(top.output).toContain('ui|web [options] [path]');  |  ^ 145|  const viaAlias = runCli(['help', 'web']); 146|  expect(viaAlias.code).toBe(0); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[30/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — help > rejects a nonsense --port with a plain message, not a stack trace AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain '--port must be a whole number' - Expected + Received - --port must be a whole number + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-ui-command.test.ts:153:20 151|  const { code, output } = runCli(['ui', '--port', 'banana']); 152|  expect(code).toBe(1); 153|  expect(output).toContain('--port must be a whole number');  |  ^ 154|  expect(output).not.toContain('at Object.'); 155|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[31/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — refusals > gives friendly guidance — never a stack trace — when there is no index AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'No CodeGraph index found' - Expected + Received - No CodeGraph index found + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-ui-command.test.ts:173:20 171|  const { code, output } = runCli(['ui', unindexed]); 172|  expect(code).toBe(1); 173|  expect(output).toContain('No CodeGraph index found');  |  ^ 174|  expect(output).toContain('codegraph init'); 175|  expect(output).not.toContain('at Object.'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[32/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — refusals > refuses a sensitive system directory AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'Refusing to operate on sensitive' - Expected + Received - Refusing to operate on sensitive + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-ui-command.test.ts:184:20 182|  const { code, output } = runCli(['ui', '/etc']); 183|  expect(code).toBe(1); 184|  expect(output).toContain('Refusing to operate on sensitive');  |  ^ 185|  }); 186| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[33/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > serves the viewer and prints where it is  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > honours --no-open: no browser is launched  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > opens the browser at the served URL when --no-open is absent  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > CODEGRAPH_BROWSER=none suppresses the launch like --no-open  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > moves off the default port when it is busy  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > refuses a foreign Host end-to-end Error: codegraph ui exited with 1 before serving. Output: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ ChildProcess. __tests__/cli-ui-command.test.ts:104:14 102|  child.on('exit', (code) => { 103|  clearTimeout(timer); 104|  reject(new Error(`codegraph ui exited with ${code} before servin…  |  ^ 105|  }); 106|  }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[34/87]⎯  FAIL |engine| __tests__/cli-ui-command.test.ts > codegraph ui — serving > refuses to move off a port the user pinned with --port AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'already in use' - Expected + Received - already in use + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-ui-command.test.ts:322:22 320|  const { code, output } = runCli(['ui', '--no-open', '--port', St… 321|  expect(code).toBe(1); 322|  expect(output).toContain('already in use');  |  ^ 323|  expect(output).not.toContain('at Object.'); 324|  } finally { ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[35/87]⎯  FAIL |engine| __tests__/cli-unlock.test.ts > codegraph unlock — daemon artifact recovery (#1553) > removes indexing and phantom-daemon artifacts, then permits indexing Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js unlock /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-unlock-yMXWc4 node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/cli-unlock.test.ts:14:10  12|   13| function runCodegraph(args: string[], cwd: string): string {  14|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  15|  cwd,  16|  encoding: 'utf8',  ❯ __tests__/cli-unlock.test.ts:62:20 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[36/87]⎯  FAIL |engine| __tests__/cli-unlock.test.ts > codegraph unlock — daemon artifact recovery (#1553) > preserves artifacts when the recorded live daemon answers the socket hello Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js unlock /var/folders/yl/rqjl_67x2h318qjds6cdylym0000gq/T/codegraph-unlock-Zkzizk node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ __tests__/cli-unlock.test.ts:29:27  27|  { cwd, encoding: 'utf8', env: { ...process.env, CODEGRAPH_NO_DAE…  28|  (error, stdout, stderr) => {  29|  if (error) reject(new Error(`${error.message}\n${stderr}`));  |  ^  30|  else resolve(stdout);  31|  }, ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[37/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph version` prints exactly the package version Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:37:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[38/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph -v` prints exactly the package version Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -v node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:37:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[39/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph -version` prints exactly the package version Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:37:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[40/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph --version` prints exactly the package version Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --version node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:37:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[41/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph -V` prints exactly the package version Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js -V node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:37:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[42/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > lists the `version` subcommand in --help Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:42:12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[43/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > `codegraph help` prints usage and the command list Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:46:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[44/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > hides the internal `serve` command from --help Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js --help node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ run __tests__/cli-version.test.ts:25:10  23|   24| function run(args: string[]): string {  25|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  26|  encoding: 'utf-8',  27|  // Skip the daemon and the wasm-flag re-exec so the command resolv…  ❯ __tests__/cli-version.test.ts:55:12 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[45/87]⎯  FAIL |engine| __tests__/cli-version.test.ts > codegraph version affordances > a trailing `-v` is still the subcommand's --verbose, not the version intercept AssertionError: expected 'node:internal/modules/cjs/loader:1451…' to contain 'not initialized' - Expected + Received - not initialized + node:internal/modules/cjs/loader:1451 + throw err; + ^ + + Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' + at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) + at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) + at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) + at Module._load (node:internal/modules/cjs/loader:1234:25) + at TracingChannel.traceSync (node:diagnostics_channel:328:14) + at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) + at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) + at node:internal/main/run_main_module:33:47 { + code: 'MODULE_NOT_FOUND', + requireStack: [] + } + + Node.js v24.13.1 +  ❯ __tests__/cli-version.test.ts:78:22  76|  }  77|  expect(combined.trim()).not.toBe(PKG_VERSION);  78|  expect(combined).toContain('not initialized');  |  ^  79|  });  80| }); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[46/87]⎯  FAIL |engine| __tests__/index-command.test.ts > codegraph index — full re-index keeps the graph populated (#874) > reproduces init's node/edge counts instead of emptying the index Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/index-command.test.ts:34:10  32|   33| function runCodegraph(args: string[], cwd: string): string {  34|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  35|  cwd,  36|  encoding: 'utf-8',  ❯ __tests__/index-command.test.ts:75:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[47/87]⎯  FAIL |engine| __tests__/index-command.test.ts > codegraph index — full re-index keeps the graph populated (#874) > is idempotent: a second index does not grow the graph Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/index-command.test.ts:34:10  32|   33| function runCodegraph(args: string[], cwd: string): string {  34|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  35|  cwd,  36|  encoding: 'utf-8',  ❯ __tests__/index-command.test.ts:93:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[48/87]⎯  FAIL |engine| __tests__/index-command.test.ts > codegraph index — full re-index keeps the graph populated (#874) > --quiet path also rebuilds a populated graph Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/index-command.test.ts:34:10  32|   33| function runCodegraph(args: string[], cwd: string): string {  34|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  35|  cwd,  36|  encoding: 'utf-8',  ❯ __tests__/index-command.test.ts:106:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[49/87]⎯  FAIL |engine| __tests__/index-command.test.ts > codegraph index — recovers a stale/oversized prior index (#1067) > rebuilds to the current disk state, discarding content for files that no longer exist Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/index-command.test.ts:34:10  32|   33| function runCodegraph(args: string[], cwd: string): string {  34|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  35|  cwd,  36|  encoding: 'utf-8',  ❯ __tests__/index-command.test.ts:155:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[50/87]⎯  FAIL |engine| __tests__/index-command.test.ts > codegraph index — recovers a stale/oversized prior index (#1067) > rebuilds a fresh database rather than clearing the old one in place Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js init node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runCodegraph __tests__/index-command.test.ts:34:10  32|   33| function runCodegraph(args: string[], cwd: string): string {  34|  return execFileSync(process.execPath, [BIN, ...args], {  |  ^  35|  cwd,  36|  encoding: 'utf-8',  ❯ __tests__/index-command.test.ts:186:5 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[51/87]⎯  FAIL |engine| __tests__/index-orphan-watchdog.test.ts > index/init orphan supervision (#999) > self-terminates when its parent is SIGKILL'd mid-index Error: child did not report its pid in time  ❯ Timeout._onTimeout __tests__/index-orphan-watchdog.test.ts:96:45  94|  const { pid } = await new Promise<{ pid: number }>((resolve, rejec…  95|  let buf = '';  96|  const timer = setTimeout(() => reject(new Error('child did not r…  |  ^  97|  wrapper!.stdout.on('data', (chunk: Buffer) => {  98|  buf += chunk.toString('utf8'); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[52/87]⎯  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > two invocations share ONE detached daemon; both attach as proxies  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > daemon survives the first client dying; a second client keeps working (must-fix 2 / #277)  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > CODEGRAPH_NO_DAEMON=1 keeps each process independent (no socket/pidfile)  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > takes over after SIGKILL even when the stale PID has been reused (#1553)  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > proxy falls back to direct mode on a daemon version mismatch  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > does NOT reap a live-but-quiet client on the inactivity backstop (#692)  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > daemon idle-times-out after the last client disconnects Error: Timed out after 10000ms  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-daemon.test.ts:136:23 134|  // timeout can't tell WHICH step flaked (the #662 test's recur… 135|  // timeout was undiagnosable for exactly this reason). 136|  return reject(new Error(`Timed out after ${timeoutMs}ms${label…  |  ^ 137|  } 138|  setTimeout(tick, pollMs); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[53/87]⎯  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > concurrent launchers converge on a single daemon (lockfile race — must-fix 1) Error: Timed out after 12000ms  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-daemon.test.ts:136:23 134|  // timeout can't tell WHICH step flaked (the #662 test's recur… 135|  // timeout was undiagnosable for exactly this reason). 136|  return reject(new Error(`Timed out after ${timeoutMs}ms${label…  |  ^ 137|  } 138|  setTimeout(tick, pollMs); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[54/87]⎯  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > clears a stale (dead-pid) lockfile and a fresh daemon takes over Error: Timed out after 10000ms stderr: node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1 daemon.log:   ❯ __tests__/mcp-daemon.test.ts:330:13 328|  sendInitialize(server.child, `file://${tempDir}`, 1); 329|  const resp = await waitFor(() => findResponse(server.stdout, 1), 1… 330|  throw new Error(`${(e as Error).message}\nstderr:\n${server.stde…  |  ^ 331|  }); 332|  expect(resp.result.serverInfo.name).toBe('codegraph');  ❯ __tests__/mcp-daemon.test.ts:329:18 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[55/87]⎯  FAIL |engine| __tests__/mcp-daemon.test.ts > Shared MCP daemon (issue #411) > proxy survives the daemon dying mid-session and keeps serving (#662) Error: Timed out after 20000ms waiting for: initialize response  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-daemon.test.ts:136:23 134|  // timeout can't tell WHICH step flaked (the #662 test's recur… 135|  // timeout was undiagnosable for exactly this reason). 136|  return reject(new Error(`Timed out after ${timeoutMs}ms${label…  |  ^ 137|  } 138|  setTimeout(tick, pollMs); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[56/87]⎯  FAIL |engine| __tests__/mcp-initialize.test.ts > MCP initialize handshake (issue #172) > responds to initialize quickly when no .codegraph exists in cwd  FAIL |engine| __tests__/mcp-initialize.test.ts > MCP initialize handshake (issue #172) > sends initialize response BEFORE tryInitializeDefault finishes  FAIL |engine| __tests__/mcp-initialize.test.ts > MCP initialize handshake (issue #172) > answers resources/list and prompts/list with empty lists, not -32601 (issue #621) Error: Timed out waiting for predicate. Events: [{"seq":0,"stream":"stderr","text":"node:internal/modules/cjs/loader:1451"},{"seq":1,"stream":"stderr","text":" throw err;"},{"seq":2,"stream":"stderr","text":" ^"},{"seq":3,"stream":"stderr","text":""},{"seq":4,"stream":"stderr","text":"Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js'"},{"seq":5,"stream":"stderr","text":" at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15)"},{"seq":6,"stream":"stderr","text":" at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19)"},{"seq":7,"stream":"stderr","text":" at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22)"},{"seq":8,"stream":"stderr","text":" at Module._load (node:internal/modules/cjs/loader:1234:25)"},{"seq":9,"stream":"stderr","text":" at TracingChannel.traceSync (node:diagnostics_channel:328:14)"},{"seq":10,"stream":"stderr","text":" at wrapModuleLoad (node:internal/modules/cjs/loader:245:24)"},{"seq":11,"stream":"stderr","text":" at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)"},{"seq":12,"stream":"stderr","text":" at node:internal/main/run_main_module:33:47 {"},{"seq":13,"stream":"stderr","text":" code: 'MODULE_NOT_FOUND',"},{"seq":14,"stream":"stderr","text":" requireStack: []"},{"seq":15,"stream":"stderr","text":"}"},{"seq":16,"stream":"stderr","text":""},{"seq":17,"stream":"stderr","text":"Node.js v24.13.1"}]  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-initialize.test.ts:94:23  92|  if (hit) return resolve(hit);  93|  if (Date.now() - started > timeoutMs) {  94|  return reject(new Error(`Timed out waiting for predicate. Even…  |  ^  95|  }  96|  setTimeout(tick, 20); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[57/87]⎯  FAIL |engine| __tests__/mcp-ppid-watchdog.test.ts > MCP PPID watchdog (#277) > shuts down when its parent is SIGKILL'd and stdin stays open AssertionError: expected false to be true // Object.is equality - Expected + Received - true + false  ❯ __tests__/mcp-ppid-watchdog.test.ts:146:31 144|  stdinHolderPid = pids.stdinHolderPid; 145|  146|  expect(isAlive(childPid)).toBe(true);  |  ^ 147|  expect(isAlive(stdinHolderPid)).toBe(true); 148|  ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[58/87]⎯  FAIL |engine| __tests__/mcp-roots.test.ts > MCP project resolution via roots/list (issue #196) > resolves the project from the client roots/list when no rootUri is sent  FAIL |engine| __tests__/mcp-roots.test.ts > MCP project resolution via roots/list (issue #196) > returns an actionable error when there is no rootUri and no roots capability  FAIL |engine| __tests__/mcp-roots.test.ts > MCP project resolution via roots/list (issue #196) > honors an explicit rootUri without asking the client for roots Error: Timed out. Messages so far: []  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-roots.test.ts:63:23  61|  if (hit) return resolve(hit);  62|  if (Date.now() - started > timeoutMs) {  63|  return reject(new Error(`Timed out. Messages so far: ${JSON.st…  |  ^  64|  }  65|  setTimeout(tick, 20); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[59/87]⎯  FAIL |engine| __tests__/mcp-startup-orphan.test.ts > startup-orphan backstop (#1185) > a server that never receives MCP traffic shuts itself down AssertionError: expected 1 to be +0 // Object.is equality - Expected + Received - 0 + 1  ❯ __tests__/mcp-startup-orphan.test.ts:86:18  84|  // no stdin EOF ever arrives; only the backstop can reap the serve…  85|  const code = await waitForExit(child, 15_000);  86|  expect(code).toBe(0);  |  ^  87|  expect(stderr).toContain('No MCP traffic since startup');  88|  }, 20_000); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[60/87]⎯  FAIL |engine| __tests__/mcp-startup-orphan.test.ts > startup-orphan backstop (#1185) > a server that got an initialize is never reaped by the backstop AssertionError: expected 1 to be null - Expected: null + Received: 1  ❯ __tests__/mcp-startup-orphan.test.ts:99:28  97|  // Well past the 1s backstop window: the first byte disarmed it fo…  98|  await sleep(3000);  99|  expect(child.exitCode).toBeNull();  |  ^ 100|  101|  // Normal lifecycle still intact: closing stdin ends the session. ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[61/87]⎯  FAIL |engine| __tests__/mcp-subproject-adoption.test.ts > MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > adopts the single indexed sub-project below a workspace root as the default project  FAIL |engine| __tests__/mcp-subproject-adoption.test.ts > MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > lists several indexed sub-projects instead of adopting one, in stderr and in tool responses  FAIL |engine| __tests__/mcp-subproject-adoption.test.ts > MCP workspace sub-project adoption (#1606) + no-default diagnostics (#1607) > does not scan below a base that is not a workspace (no manifest, no .git) Error: Timed out. Messages so far: []  ❯ Timeout.tick [as _onTimeout] __tests__/mcp-subproject-adoption.test.ts:68:23  66|  if (hit) return resolve(hit);  67|  if (Date.now() - started > timeoutMs) {  68|  return reject(new Error(`Timed out. Messages so far: ${JSON.st…  |  ^  69|  }  70|  setTimeout(tick, 20); ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[62/87]⎯  FAIL |engine| __tests__/mcp-unindexed.test.ts > No-root-index session policy > initialize returns the per-project instructions (not "inactive", not the full playbook)  FAIL |engine| __tests__/mcp-unindexed.test.ts > No-root-index session policy > tools/list exposes the tools even when the server root has no index (#964)  FAIL |engine| __tests__/mcp-unindexed.test.ts > No-root-index session policy > a query by projectPath reaches an INDEXED sub-project of an unindexed root (monorepo) (#964)  FAIL |engine| __tests__/mcp-unindexed.test.ts > No-root-index session policy > an INDEXED workspace still gets the full playbook and the explore tool Error: Test timed out in 5000ms. If this is a long-running test, pass a timeout value as the last argument or configure it globally with "testTimeout". ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[63/87]⎯  FAIL |engine| __tests__/status-json.test.ts > codegraph status --json — CI fields (#329) > status --json on an UNINITIALIZED project reports version + indexPath + lastIndexed:null Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runStatusJson __tests__/status-json.test.ts:23:18  21|   22| function runStatusJson(cwd: string): Record<string, unknown> {  23|  const stdout = execFileSync(process.execPath, [BIN, 'status', '--jso…  |  ^  24|  cwd,  25|  encoding: 'utf-8',  ❯ __tests__/status-json.test.ts:63:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[64/87]⎯  FAIL |engine| __tests__/status-json.test.ts > codegraph status --json — CI fields (#329) > status --json on an INDEXED project reports version + indexPath + a round-trippable lastIndexed Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runStatusJson __tests__/status-json.test.ts:23:18  21|   22| function runStatusJson(cwd: string): Record<string, unknown> {  23|  const stdout = execFileSync(process.execPath, [BIN, 'status', '--jso…  |  ^  24|  cwd,  25|  encoding: 'utf-8',  ❯ __tests__/status-json.test.ts:79:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[65/87]⎯  FAIL |engine| __tests__/status-json.test.ts > index completeness marker (index_state) > a clean full index stamps state=complete with reconciled counts Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runStatusJson __tests__/status-json.test.ts:23:18  21|   22| function runStatusJson(cwd: string): Record<string, unknown> {  23|  const stdout = execFileSync(process.execPath, [BIN, 'status', '--jso…  |  ^  24|  cwd,  25|  encoding: 'utf-8',  ❯ __tests__/status-json.test.ts:117:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[66/87]⎯  FAIL |engine| __tests__/status-json.test.ts > index completeness marker (index_state) > a run killed mid-index leaves state=indexing, and status --json surfaces it Error: Command failed: /usr/local/bin/node /private/tmp/codegraph-review/dist/bin/codegraph.js status --json node:internal/modules/cjs/loader:1451 throw err; ^ Error: Cannot find module '/private/tmp/codegraph-review/dist/bin/codegraph.js' at Module._resolveFilename (node:internal/modules/cjs/loader:1448:15) at defaultResolveImpl (node:internal/modules/cjs/loader:1059:19) at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1064:22) at Module._load (node:internal/modules/cjs/loader:1234:25) at TracingChannel.traceSync (node:diagnostics_channel:328:14) at wrapModuleLoad (node:internal/modules/cjs/loader:245:24) at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5) at node:internal/main/run_main_module:33:47 { code: 'MODULE_NOT_FOUND', requireStack: [] } Node.js v24.13.1   ❯ runStatusJson __tests__/status-json.test.ts:23:18  21|   22| function runStatusJson(cwd: string): Record<string, unknown> {  23|  const stdout = execFileSync(process.execPath, [BIN, 'status', '--jso…  |  ^  24|  cwd,  25|  encoding: 'utf-8',  ❯ __tests__/status-json.test.ts:140:17 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[67/87]⎯  Test Files  21 failed | 199 passed | 16 skipped (236)  Tests  84 failed | 3950 passed | 202 skipped (4240)  Start at  12:10:09  Duration  129.88s (transform 9.95s, setup 0ms, collect 118.65s, tests 523.94s, environment 847ms, prepare 25.98s) vitest-full exit: 1