Expand description
Repo scanner host capability.
Deterministic project-wide file enumeration honoring .gitignore and
the [extensions::EXCLUDED_DIRS] table, symbol extraction,
import-derived dependency graph, reference + churn + importance
scoring, source/test pairing, folder aggregates, project metadata
(language stats + detected test commands + code-pattern hints),
sub-project detection, and a token-budgeted text repo map.
scan_project returns the full result::ScanResult alongside an
opaque snapshot_token derived from the canonicalized root path. The
result is persisted to <root>/.harn/hostlib/scanner-snapshot.json so
that scan_incremental can diff against it later — without forcing the
caller to pass the previous result back over the wire.
Structs§
- Dependency
Edge - One edge of the file-level dependency graph.
- File
Record - One file’s metadata + import list.
- Folder
Record - One folder’s aggregate metadata.
- Incremental
Scan - Result returned by
scan_incremental. - Language
Stat - Per-language summary.
- Project
Metadata - Project-level metadata.
- Scan
Delta - Path-delta accompanying a
scan_incrementalresponse. - Scan
Project Options - Tunable knobs accepted by
scan_project. - Scan
Result - Top-level scanner output.
- Scanner
Capability - Scanner capability handle.
- SubProject
- Detected sub-project marker (Cargo.toml, package.json, etc.).
- Symbol
Record - One symbol’s metadata.
Enums§
- Symbol
Kind - Coarse symbol kinds emitted by the scanner.
Traits§
- GitCapabilities
- Git data needed by the scanner.
Functions§
- scan_
incremental - Refresh the snapshot named by
token. If the snapshot is missing, the diff is too large (>30%), orchanged_pathsis empty after>30%of the workspace mtime-mismatched, falls back to a full rescan. - scan_
incremental_ with_ git - Refresh a snapshot using caller-supplied Git data.
- scan_
project - Run a full scan of
root, persist a snapshot, and return the result. - scan_
project_ with_ git - Run a full scan using caller-supplied Git data.