This repository was archived by the owner on Sep 21, 2026. It is now read-only.
v1.2.0: FTS5 & sqlite-vec (Cirugía Vía Negativa)
⚔️ Cirugía Vía Negativa: Fase 4
This release represents a major architectural milestone for Scouter, drastically reducing cognitive debt and CGO overhead while introducing powerful native vector search.
🚀 Highlights
- Bleve Extirpation: Completely removed
github.com/blevesearch/bleve/v2and its ~30 transitive dependencies. In-memory BM25 has been replaced with SQLite's native FTS5 extension. - SQLite-Vec Integration: Embedded
vec0natively viancrucesbindings (float[384]), allowing completely local semantic search without exposing CGO memory leaks. - RRF in SQL: Hybrid search now merges FTS5 and Vector distances purely inside SQLite using a
FULL OUTER JOINCTE. The Go runtime is protected from heavy in-memory sorting. - El Escudo de Hash: Semantic indexing now strictly skips embedding generation if the AST symbol hash remains unchanged, saving local LLM CPU cycles.
- Graceful Degradation: Failed embeddings (timeouts/local errors) gracefully fallback to FTS5 search without crashing or aborting the indexing pipeline.
- Operación Torniquete: Sealed critical CGO memory leaks in the
gotreesitterintegration by introducing explicit.Close()defers and parsersync.Pool.