Java, Scala, and Kotlin indexer for SCIP 
The index-semanticdb command supports incremental indexing via --changed-files or --changed-files-path. When either is set, only the specified source files are included in the output index.scip, producing a delta index rather than a full index. Inverse relationships are automatically disabled for incremental runs to skip the expensive all-files scan.
Option 1: Inline comma-separated list
scip-java index-semanticdb \
--changed-files=src/main/java/com/example/Foo.java,src/main/java/com/example/Bar.java \
--output=delta.scip \
my/targetrootOption 2: File containing paths (newline-delimited)
git diff --name-only HEAD~1 > changed.txt
scip-java index-semanticdb \
--changed-files-path=changed.txt \
--output=delta.scip \
my/targetrootPaths should be relative source paths matching the .semanticdb file structure under META-INF/semanticdb/ (e.g., src/main/java/com/example/Foo.java).
The delta index.scip contains only the SCIP documents for the changed files. The consumer (e.g., a knowledge graph or code intelligence backend) is responsible for upserting these documents, replacing stale entries. This is designed for CI pipelines where the build tool already handles incremental compilation — only changed files produce new .semanticdb files, and the indexer filters to just those.
