v0.10.6
v0.10.6 — Stability & Tool UX Fixes
⚠️ Important: Write Pool Rollback
The write connection pool introduced in v0.10.5 (4 warm connections with two-layer concurrency control) has been reverted to a single serialized write connection. LadybugDB has a known bug where concurrent writes on separate connections can trigger N-API GC crashes and use-after-free in native code. The bug has been patched upstream but not yet released. This rollback trades write throughput for stability until the fix ships in a future LadybugDB release. Related guards (connection mutexes, shutdown gating, tool dispatch throttling) remain in place.
Performance
- Deferred derived-state refresh: Incremental index runs skip cluster/process/file-summary recomputation, deferring to the next full index
- Deferred fresh-DB index bootstrap: Fresh databases defer 19 secondary indexes until after the first full index completes
- Batch TS pass1 persistence: TypeScript pass1 uses
BatchPersistAccumulatorwith background drain, eliminating per-file transaction overhead - Rust indexer pipelining: Rust engine overlaps parsing with DB writes for higher throughput
Fixed
- Connection mutex shutdown safety: Gated connection mutexes during shutdown to prevent use-after-free
- Pre-index checkpoint timeout: Races against 2-second timeout to prevent stalls
- Live-index reconcile gating: Reconcile-worker writes route through indexing gate
- Tool dispatch throttling: MCP tool dispatch throttled during active indexing
- Batch drain re-entry guard: Prevents cascading failures during DB pressure
- Repository scanning descriptor cleanup: Replaced
glob()with explicit directory walker - Symbol search noise floor: Suppresses results below 0.3 relevance when no exact match exists
- Context answer verbosity: Broad mode no longer duplicates symbol card summaries already in
finalEvidence - Spillover respects cardDetail:
slice.spillover.gethonorscardDetailfrom originalslice.build, omitting verbose fields for compact slices
Added
excludeDisabledforaction.search: Filter disabled actions from results with correct pre-pagination handling- Manual step reference patterns:
sdl.manualmarkdown includes$N.fieldcross-step reference table for workflow users cardDetailin SliceHandle: Schema addition for spillover detail-level propagation
Rollback Instructions
If you encounter issues, roll back to v0.10.5:
npm install sdl-mcp@0.10.5The cardDetail schema column is additive (nullable, defaults to null for existing handles) and does not require migration.
Full Changelog: v0.10.5...v0.10.6