Fix info and history commands crashing on read-only filesystems

This commit is contained in:
Yiorgis Gozadinos 2026-02-20 19:23:30 +02:00
parent 0c270ba42f
commit 32813e7610
No known key found for this signature in database
6 changed files with 30 additions and 10 deletions

View file

@ -1,6 +1,12 @@
# Changelog
## [Unreleased]
## [0.30.3] - 2026-02-20
### Fixed
- **`info` and `history` commands**: Open database in read-only mode to prevent write failures on read-only filesystems
## [0.30.2] - 2026-02-19
### Fixed
@ -1101,7 +1107,8 @@ Existing documents without DoclingDocument data will work but won't have provena
- Initial version tracking
[Unreleased]: https://github.com/ggozad/haiku.rag/compare/0.30.2...HEAD
[Unreleased]: https://github.com/ggozad/haiku.rag/compare/0.30.3...HEAD
[0.30.3]: https://github.com/ggozad/haiku.rag/compare/0.30.2...0.30.3
[0.30.2]: https://github.com/ggozad/haiku.rag/compare/0.30.1...0.30.2
[0.30.1]: https://github.com/ggozad/haiku.rag/compare/0.30.0...0.30.1
[0.30.0]: https://github.com/ggozad/haiku.rag/compare/0.29.1...0.30.0

View file

@ -2,7 +2,7 @@
name = "haiku.rag-evals"
description = "Benchmarking and evaluation scripts for haiku.rag"
version = "0.30.2"
version = "0.30.3"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
requires-python = ">=3.12"

View file

@ -83,10 +83,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)
@ -202,7 +208,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:

View file

@ -2,7 +2,7 @@
name = "haiku.rag-slim"
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling - Minimal dependencies"
version = "0.30.2"
version = "0.30.3"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
readme = { file = "README.md", content-type = "text/markdown" }

View file

@ -2,7 +2,7 @@
name = "haiku.rag"
description = "Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling"
version = "0.30.2"
version = "0.30.3"
authors = [{ name = "Yiorgis Gozadinos", email = "ggozadinos@gmail.com" }]
license = { text = "MIT" }
readme = { file = "README.md", content-type = "text/markdown" }
@ -30,7 +30,7 @@ classifiers = [
]
dependencies = [
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,tui]==0.30.2",
"haiku.rag-slim[docling,voyageai,mxbai,cohere,zeroentropy,tui]==0.30.3",
]
[project.scripts]

View file

@ -1366,7 +1366,7 @@ wheels = [
[[package]]
name = "haiku-rag"
version = "0.30.2"
version = "0.30.3"
source = { editable = "." }
dependencies = [
{ name = "haiku-rag-slim", extra = ["cohere", "docling", "mxbai", "tui", "voyageai", "zeroentropy"] },
@ -1444,7 +1444,7 @@ requires-dist = [
[[package]]
name = "haiku-rag-slim"
version = "0.30.2"
version = "0.30.3"
source = { editable = "haiku_rag_slim" }
dependencies = [
{ name = "cachetools" },