v0.4.1
What's Changed
SessionStart bootstrap hook
The plugin now ships source only — no committed dist/ or node_modules/. A SessionStart hook (scripts/setup.sh) runs npm ci + tsc into ${CLAUDE_PLUGIN_DATA} on first session, with hash-gated caching so subsequent starts are instant. Native modules (better-sqlite3, sqlite-vec) are compiled against the user's Node ABI at install time.
Bug fixes
- Premature document extraction mark:
store_extractionsnow only marks a document as fully extracted when ALL its chunks have been processed, preventing silent chunk loss in multi-batch workflows - Connection leaks: Added
try/finallytosearch,get_resolution_candidates, andapply_mergesto ensureconn.close()runs if async embedding calls throw - Multigraph edge crash:
find_pathnow usesG.edges(u, v)[0]instead ofG.edge(u, v)to safely handle parallel edges between entity pairs - Unused parameter: Removed dead
patternparam fromingest_documentsschema - Embedding model guard:
checkEmbeddingModel()is now called at the start ofembedNewChunksandembedNewMentionsto prevent vector space corruption on model mismatch - Transaction safety:
store_extractionsandapply_mergesnow run inside explicit transactions for atomicity and ~10-100x faster batch inserts - package-lock.json: Regenerated to match package.json version
Full Changelog: v0.4.0...v0.4.1