- Core (
src/core/): Models, errors, config, versioning - Index (
src/index/): Index building, storage, loading - Query (
src/query/): Query planning, execution, verification - Output (
src/output/): SearchOutput formatting - Connectors (
src/connectors/): Source-specific adapters - CLI (
src/cli/): Command-line interface - Daemon (
src/daemon/): Persistent local process - Security (
src/security/): Safety checks, path validation - Util (
src/util/): Shared utilities
- Config loaded -> Sources registered
- Index build -> Source scanned -> Segments written -> Manifest committed
- Query received -> Normalized -> Planned -> Candidates gathered -> Verified -> Sorted -> SearchOutput returned
- Create: Full scan -> Write segments -> Atomic manifest commit
- Update: Diff source -> New segments -> Atomic manifest update
- Compact: Merge segments -> New manifest -> Remove old segments
- Verify: Check checksums -> Report health
- Parse query object
- Normalize text (NFC, case handling)
- Resolve source selectors to source IDs
- Plan: Choose most selective index
- Gather candidates from indexes
- Intersect candidate sets
- Verify candidates against metadata
- Sort results deterministically
- Paginate and return SearchOutput
- Persistent process with hot indexes
- Unix domain socket communication
- Newline-delimited JSON protocol
- Supports health checks and graceful shutdown