diff --git a/CHANGELOG.md b/CHANGELOG.md index fb26db15..f45dd049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog ## [Unreleased] +### Fixed + +- **`info` and `history` commands**: Open database in read-only mode to prevent write failures on read-only filesystems + ## [0.31.0] - 2026-02-20 ### Added diff --git a/haiku_rag_slim/haiku/rag/app.py b/haiku_rag_slim/haiku/rag/app.py index 33c82d64..4b2c0f15 100644 --- a/haiku_rag_slim/haiku/rag/app.py +++ b/haiku_rag_slim/haiku/rag/app.py @@ -80,10 +80,16 @@ class HaikuRAGApp: # pragma: no cover versions = get_package_versions() - # Get comprehensive table statistics (this also runs migrations) from haiku.rag.store.engine import Store - store = Store(self.db_path, config=self.config, skip_validation=True) + store = Store( + self.db_path, + config=self.config, + skip_validation=True, + read_only=True, + skip_migration_check=True, + before=self.before, + ) table_stats = store.get_stats() # Read settings after Store init (migrations have run) @@ -199,7 +205,14 @@ class HaikuRAGApp: # pragma: no cover self.console.print("[red]Database path does not exist.[/red]") return - store = Store(self.db_path, config=self.config, skip_validation=True) + store = Store( + self.db_path, + config=self.config, + skip_validation=True, + read_only=True, + skip_migration_check=True, + before=self.before, + ) tables = ["documents", "chunks", "settings"] if table: