This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+10 more
Summary
AI summaryEmbedding pipeline now isolates workers and skips files larger than 25 KB to prevent crashes.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Security | Medium |
Silently skipping large file content prevents STATUS_ACCESS_VIOLATION crashes in worker. Silently skipping large file content prevents STATUS_ACCESS_VIOLATION crashes in worker. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Security | Medium |
Prevents STATUS_ACCESS_VIOLATION crashes by skipping content from files exceeding 25 KB. Prevents STATUS_ACCESS_VIOLATION crashes by skipping content from files exceeding 25 KB. Source: granite4.1:30b@2026-05-19-audit Confidence: low |
— |
| Feature | Medium |
Embedding pipeline now skips methods/types/doc-sections from files larger than 25 KB. Embedding pipeline now skips methods/types/doc-sections from files larger than 25 KB. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: high |
— |
| Performance | Medium |
10-minute timeout kills runaway embedding workers automatically. 10-minute timeout kills runaway embedding workers automatically. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Bugfix | High |
Resolves two root causes that previously crashed the embedding pipeline in production. Resolves two root causes that previously crashed the embedding pipeline in production. Source: granite4.1:30b@2026-05-19-audit Confidence: low |
— |
| Bugfix | Medium |
Spawning dedicated child process isolates embedding runs from MCP server crashes. Spawning dedicated child process isolates embedding runs from MCP server crashes. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Refactor | Medium |
Communication between embeddings and MCP server via stdin/stdout JSON. Communication between embeddings and MCP server via stdin/stdout JSON. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
| Other | Medium |
6-worker parallel stress test across 252 projects completed with 0 crashes/errors. 6-worker parallel stress test across 252 projects completed with 0 crashes/errors. Source: granite4.1:8b-q6_K@2026-05-19 Confidence: low |
— |
Full changelog
What's New
This release permanently fixes two root causes that crashed the embedding pipeline in production.
🛡️ Worker Process Isolation
Problem: Projects with large generated files (Blazor WASM bundles, large C++ TUs, minified JS) caused ONNX to request 67–93 GB of RAM. Because the model ran inside the MCP server process, the crash killed the server — disconnecting Claude and requiring a manual /mcp reconnect.
Fix: aidex_init({ embeddings: true }) now spawns a dedicated child process for each embedding run (src/embeddings/embed-worker.ts). Communication is via stdin/stdout JSON. When ONNX OOMs, only the worker dies — the MCP server survives and reports a Warning in the result instead of crashing. A 10-minute timeout kills runaway workers automatically.
🔒 25 KB File Size Limit
Problem: Even with worker isolation, files larger than ~50 KB reliably triggered STATUS_ACCESS_VIOLATION (exit code 3228369023) inside the worker. Root cause: the jina-code model's attention layers have O(n²) memory complexity — a 63 KB file with deeply nested methods exceeds the model's fixed-size buffers.
Fix: Methods, types, and doc-sections from files larger than 25 KB are silently skipped during embedding (src/embeddings/pipeline.ts). File sizes are resolved once via statSync and cached per run. Applies to full re-index and incremental updateFile() paths.
✅ Verified
6-worker parallel stress test across all 252 registered projects completed in 33 minutes with 0 crashes and 0 errors — including the previously fatal projects (YouTubeVoiceOver, CiscoWebExTranslator/cpp, UcHome with 767 source files).
Full Changelog
See CHANGELOG.md for the complete details.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About CSCSoftware/AiDex
Persistent code index MCP server using Tree-sitter for fast, precise code search. Replaces grep with ~50 token responses instead of 2000+. Supports 11 languages including C#, TypeScript, Python, Rust, and Go.
Related context
Beta — feedback welcome: [email protected]