v0.0.4
What's Changed
Added
- Background worker —
BackgroundWorkerwith per-path debounced task scheduling,flush()/drain()lifecycle, andIndexingMode. ReplacesEventBus. - Version chain verification —
verify_chain(),verify_versions(),verify_all_versions()for proactive integrity checking. - Composable search pipeline —
vector_search(),lexical_search(),hybrid_search()withSearchProviderprotocol. - Connection service — Filesystem-owned persistent edges. Graph is now a pure in-memory projection.
- Result type algebra —
FileOperationResultandFileSearchResultwith set operations (&,|,-,>>). Refidentity type — Thin frozen wrapper with lazy path decomposition.GroverContext+ 8 facade mixins —GroverAsyncdecomposed for maintainability.- Native async integrations — deepagents and LangChain accept
Grover | GroverAsync.
Changed
- Package restructure —
fs/→backends/,facade/→api/,types/→results/,graph/+search/→providers/. - Protocol consolidation — 5 capability protocols merged into
GroverFileSystem. Graph 8→1, search 9→6, storage 3→1. - Filesystem-centric providers —
DatabaseFileSystemowns all providers.Mountstripped to minimal dataclass. LocalFileSystemsimplified to thinDatabaseFileSystemsubclass (~330 lines).- Graph terminology —
dependents/dependencies→predecessors/successors. - Type safety —
Anyreplaced with concrete types.ty check src/passes clean. - Backward compat aliases removed —
mount()→add_mount(), dead code deleted.
Fixed
- Path traversal vulnerability in
UserScopedFileSystem._resolve_path. - Read-only permission enforcement across all mutation paths.
Full Changelog: v0.0.3...v0.0.4