You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Security
Bump lopdf to 0.42 (RUSTSEC-2026-0187 nesting-depth DoS). Already on the 0.42 API in ragfs-extract.
Bump pyo3 and pyo3-async-runtimes to 0.29 (RUSTSEC-2026-0176 / RUSTSEC-2026-0177).
Replace unmaintained daemonize with nix (fork + setsid, stdio redirect, pid file) for ragfs mount without --foreground. rustix 1.x does not expose fork outside its unstable runtime feature.
Changed
Background ragfs mount still writes a PID file to $XDG_RUNTIME_DIR/ragfs/<hash>.pid (fallback ~/.cache/ragfs/run/) and logs to ~/.cache/ragfs/logs/<hash>.log. Unmount remains fusermount -u <mountpoint>.
Documented actual code chunking (pattern matching) and removed unused tree-sitter dependency
FUSE .help now covers .ops/, .safety/, .semantic/ and product limits
FUSE .config includes api_version and states it is mount wiring, not user TOML
Added
Directory-scoped vector search: persist relative dir_path on chunks and filter with ragfs query --scope <dir> (exact directory or subdirectory; IVF-PQ ANN is unchanged)
Lance chunks schema v2 migration: existing indexes gain dir_path / dir_depth / path_components on open (sidecar ragfs-schema.json); --force is not a schema upgrade
FUSE mount2 runs on a dedicated OS thread so callbacks can block_on without panicking
Best-effort IVF-PQ ANN index on vector when a Lance table has at least 256 rows (cosine-trained; incrementally refreshed after large appends; L2/Dot and failed builds stay exact)
Office text extraction for .docx, .xlsx, .pptx, and .odt (ZIP+XML; not binary .doc)
Python bindings: New ragfs-python crate with PyO3 bindings
RAGFSIndex class for indexing and querying
RAGFSStore for direct vector store access
Async support via pyo3-async-runtimes
Framework adapters for LangChain, LlamaIndex, Haystack
Build with maturin build
FUSE capabilities exposed to Python (Propose-Review-Apply pattern for AI agents):