Skip to content

v1.1.0 — BM25 Search Fallback + Wiki Lint

Latest

Choose a tag to compare

@Laeyoung Laeyoung released this 28 Jul 14:25

Seojae now works out of the box in seconds — no 470MB model download required — and ships a deterministic wiki health checker.

Added

  • BM25 search fallbacktools/search.py works without chromadb: new --backend {auto,chroma,bm25} flag, pure-Python BM25 with CJK bigram tokenization (Korean/Japanese/Chinese work well), and requirements-lite.txt for a seconds-long setup. Semantic search (chromadb + sentence-transformers) remains the recommended full install — upgrade anytime with pip install -r requirements.txt and a reindex.
  • tools/lint.py — deterministic wiki health checks: broken wikilinks, orphan pages, frontmatter validity, duplicate filenames, index.md sync. --json for LLM/CI consumption, --strict to promote warnings. Wired into the WIKI_SCHEMA Lint workflow (new step 1) and CI.
  • CI test-lite job — proves the zero-heavy-deps promise in a genuinely chromadb-less environment on every push.

Fixed

  • Connected-wikis commands fail fast with an install hint under the lite install; cleanup/read-only paths (rollback, disconnect, list) degrade gracefully instead of crashing.
  • BM25 index writes are atomic (tmp + rename); a corrupt index is refused on --add (exit 2) instead of being silently replaced.

Quick start (lite)

git clone https://github.com/VibeVista/seojae.git
cd seojae
python3 -m venv venv && venv/bin/pip install -r requirements-lite.txt
venv/bin/python tools/search.py --reindex
venv/bin/python tools/search.py --query "vibe coding"

Full changelog: CHANGELOG.md · v1.0.0...v1.1.0