Skip to main content

Module model

Module model 

Source
Expand description

Comindly core domain model.

Storage-agnostic types shared by every crate: global symbol identity (SCIP scheme), symbols, edges, languages, and source ranges. No heavy dependencies — this crate is the stable contract the rest of the workspace builds on.

Structs§

Commit
A git commit SHA — indexes are versioned per commit in S3.
Edge
A directed relationship between two symbols. Edges may cross repo boundaries once the link-resolver has bound package-managed references to their definitions.
Fingerprint
Normalized AST hashes: signature, body, and body with identifiers alpha-renamed (rename-stable).
GlobalSymbolId
Globally-unique symbol identity following the SCIP symbol scheme, so identity is stable and unique across repos — the primitive that makes cross-repo ripple possible.
Position
A byte/line/column source position.
Range
A half-open source range [start, end).
RepoId
Identifier for a repository within the federated index.
Symbol
A code entity extracted from a source file.

Enums§

EdgeKind
Edge kinds between symbols. cross_repo on Edge marks whether an edge spans repos.
Language
Languages we can parse. Backed by tree-sitter grammars (polyglot from day 1).
SymbolKind
What a symbol is. Superset of the Python model, widened for polyglot codebases.