Seojae now works out of the box in seconds — no 470MB model download required — and ships a deterministic wiki health checker.
Added
- BM25 search fallback —
tools/search.pyworks without chromadb: new--backend {auto,chroma,bm25}flag, pure-Python BM25 with CJK bigram tokenization (Korean/Japanese/Chinese work well), andrequirements-lite.txtfor a seconds-long setup. Semantic search (chromadb + sentence-transformers) remains the recommended full install — upgrade anytime withpip install -r requirements.txtand a reindex. tools/lint.py— deterministic wiki health checks: broken wikilinks, orphan pages, frontmatter validity, duplicate filenames, index.md sync.--jsonfor LLM/CI consumption,--strictto promote warnings. Wired into the WIKI_SCHEMA Lint workflow (new step 1) and CI.- CI
test-litejob — 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