Version pinning¶
The wrapper pins an exact haiku-rag-slim version so the embedded database and
the runtime always agree. (Only haiku-rag-slim is supported — the full
haiku-rag build's dependency weight is prohibitive for a self-contained skill.)
- Default — sniff: the version is read from the database itself (the version
that last wrote it, stored in its
settingstable) and pinned as-is. No migration is needed because the database already matches. - Minimum version: the wrapper's
search/citerely on APIs whose surface is not guaranteed below0.48.1, so generation refuses to pin anything older. A database below that floor must be force-migrated up. --haiku-rag-version X— force:Xis pinned in the wrapper and the embedded copy of the database is migrated up toX(viauv tool run --from haiku-rag-slim==X haiku-rag migrate). The original database is left untouched. Downgrades are rejected (haiku-rag migrations only move forward).--version-from-project PATH— discover + force: read the effectivehaiku-rag-slimversion from a target project (e.g. a Soliplex stack) and force it the same way. Looks first in the project's.venv(the installed version), then falls back to resolving the project's dependencies withuv tree --package haiku-rag-slim --depth 0. Either path findshaiku-rag-slimeven though it is a transitive dependency ofsoliplex(not named directly inpyproject.toml). Mutually exclusive with--haiku-rag-version.
Forcing requires uv on PATH and network access to fetch the requested
version; most migrations are schema-only, but some may need model access.