v0.14.9
What's Changed
Knowledge base — vector model setup and freshness
- Startup detection: a one-time download card appears when the vector model is missing (skippable); when the model is already cached it warms up silently in the background, so updates never require re-ingesting or re-downloading
- Ingestion is fail-fast: it blocks with a clear message while the model is unavailable instead of silently storing zero-vector documents; results now show vector coverage (embedded/total chunks)
- Library records the embedding-model identity and detects mismatches explicitly (blocked ingest, search degrades with a stated reason); a per-source re-embed action repairs legacy documents without LLM re-extraction
- Concurrent downloads join the in-flight request instead of failing with "already in progress"
Knowledge base — content fingerprint sync
- Same-path files now reconcile by content fingerprint: unchanged → skipped in seconds; changed → the old version is replaced (cascade + FTS cleanup) and re-ingested, so edited documents always refresh the library
- Legacy sources get their fingerprint backfilled on first contact
- Directory ingestion reports new / updated / unchanged counts
Capability inventory — one answering view
- Inventory questions (skills / plugins / capabilities, any wording) are answered by a single read-only tool that aligns on-disk packages with the live registry (invocable status, plugin origin, coverage summary); ManagePlugin stays the changes path and the Skill tool stays the invocation path, with cross-pointers in all three descriptions
- /like skill-first preference now points inventory questions at the authoritative view
Fixes and housekeeping
- /config diy thinking-level step shows raw level tokens (off/low/medium/high/xhigh/max) in every locale
- Fixed a replaced-source ingest error that lost the old-version-deleted notice; narrowed the legacy-column guard to duplicate-column only
Full Changelog: v0.14.8...v0.14.9