100%

01 — scip-per-file-incremental

Goal

Make SCIP emission incremental in sync-ori-graph.sh --changed: re-emit SCIP only for the changed .rs/.ori files in the delta, never the whole workspace. ori scip <file> is already per-file, so this wires per-changed-file emit + per-file import (suppression of tree-sitter CALLS stays per-file via the existing scip_imported gate).

Implementation Sketch

In sync_ori_graph.py run_incremental, for each changed in-scope source file run oric scip <file> (Ori) / the rust-analyzer SCIP path (reference) and import just that file’s index; record the per-file scip_imported manifest so tree-sitter CALLS suppression stays scoped. Whole-workspace SCIP emit runs only on --full.

Spec References

intel_repo/neo4j/import_scip.py (SCIP_SOURCE_TAG, ori-compiler-scip); intel_repo/neo4j/import_code_graph.py (scip_imported per-file suppression gate, precedence scip > rust-analyzer-scip > tree-sitter); compiler_repo/compiler/oric ori scip

Work Items

  • Per-changed-file oric scip <file> emit in run_incremental (in-scope .rs/.ori only)
  • Per-file SCIP import + per-file scip_imported manifest entry (scoped tree-sitter suppression)
  • Whole-workspace SCIP emit gated to --full only
  • Test: changed-file SCIP delta replaces tree-sitter CALLS for that file only; untouched files unchanged