fix(core): resolve stability and indexing issues#69
Conversation
208ab16 to
178208f
Compare
Octomind — developer:brief (octohub:glm)Now I have the full picture. Let me write the brief. 📦 Brief: Deep-review bug fix batch — 40 files, ~1275 insertions / ~483 deletions across config, security, GraphRAG, language parsers, and CLI commandsOverall risk: 🟡 MEDIUM · Cards: 5
Card 1/5: Config Default implementations: panic → real defaults · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK DIVERGENCE 📎 Source
Card 2/5: MCP/LSP security hardening + LSP resilience · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 3/5: GraphRAG builder: embedding desync + incremental relationship scoping + full node loading · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 4/5: Tree-sitter parser fixes across 13 languages · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 5/5: CLI command robustness: release, diff, review, search, commit, chunker · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK DIVERGENCE 📎 Source
📂 Files changed (40 files, ~1275 insertions / ~483 deletions)
{tokens:836958,cost:1.2092292000000002} |
Octomind — developer:brief (octohub:glm)The corrected evidence for the [evidence: src/commands/config.rs L65-L66 «65: config = Config::default(); This supports the claim in Card 1 that The rest of Card 1's claims remain valid — the [evidence: src/indexer/render_utils.rs L295-L297 «295:pub fn code_blocks_to_markdown(blocks: &[CodeBlock]) -> String { Both quotes now match the actual {tokens:1177909,cost:1.6940306} |
- Improve git diff resolution, hash handling, and filename quoting - Fix UTF-8 slicing panics and character boundary handling - Enhance path resolution and semver validation for releases - Ensure all diff chunks are processed via LLM request batching - Preserve result ordering in search outputs - Implement sane defaults for configuration structs and prompts - Fix C++, Go, Java, and Bash symbol extraction logic - Prevent duplicate relationships in incremental GraphRAG runs - Expand node metadata extraction for functions, size, and language - Propagate database errors to prevent silent reindexing failures - Add tests for configuration deserialization and default values
178208f to
d016e50
Compare
Octomind — developer:brief (octohub:glm)The commit The HEAD is at {tokens:119948,cost:0.17127819999999996} |
- Prevent MCP servers from crashing on failed connection accepts - Optimize metadata bulk loading to resolve O(n^2) complexity - Reset indexing markers when embedding tables are dropped - Prevent empty ignore patterns from matching all paths - Correct line number drifting during span calculations
- Add MCPB bundle creation step to release workflow - Implement publish-mcp job for registry distribution - Update server.json to use mcpb registry type
Octomind — developer:brief (octohub:glm)I now have enough evidence. Let me verify the The code at line 153: Now I have all the evidence needed. Let me compile the brief. 📦 Brief: Stability and indexing reliability fixes — UTF-8 panic guards, O(n²) metadata load, silent index-empty bug, and MCP server crash resilienceOverall risk: 🟡 MEDIUM · Cards: 5
Card 1/5: UTF-8 char-boundary truncation prevents panics on multi-byte content · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK DIVERGENCE 📎 Source
Card 2/5: Embedding table drop now clears incremental-skip markers to prevent permanently empty index · 🔴 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 3/5: MCP HTTP servers survive failed connection accepts · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 4/5: Metadata bulk load fixed from O(n²) to O(n) · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 5/5: Empty ignore patterns, line-number drift, per-query limit floor, and logs pipeline fix · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS
RISK QUESTIONS 📎 Source
📂 Files changed (16 files, ~176 lines)
{tokens:291163,cost:0.4279322000000001} |
- Centralize UTF-8 string truncation to prevent slicing panics - Enhance semver validation and allow optional 'v' prefix - Improve graph discovery by including unchanged files importing new nodes - Filter duplicate relationship edges during incremental runs - Support loading graphs from older versions with column defaults - Fix Go variable extraction for switch statement nodes - Prevent .git directory traversal during indexing - Fix Svelte destructuring pattern parsing for assignments - Increase LSP request timeouts and add MCP connection backoff delays - Unify graph node schema handling and include embedding fields - Resolve oversized diff splitting and handle extremely long lines - Prevent CPU spinning in retry loops with sleep delays - Fix rebase corruption by adding boundaries to sed patterns - Add indexing summary output to index command
Octomind — developer:brief (octohub:glm)📦 Brief: Indexer stability and data handling fixes — UTF-8 truncation, GraphRAG incremental edges, LSP/MCP resilience, parser fixes, release toolingOverall risk: 🟡 MEDIUM · Cards: 5
Card 1/5: Centralized UTF-8-safe truncation eliminates 6 duplicate implementations · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS RISK 📎 Source
Card 2/5: GraphRAG incremental discovery includes unchanged importers and filters duplicate edges; older schemas load with defaults · 🟡 · ●●○INTENT WHAT CHANGED
IMPACT RADIUS
RISK QUESTIONS 📎 Source
Card 3/5: LSP requests wait up to 5min during indexing; MCP accept loops back off on persistent errors · 🟡 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS
RISK 📎 Source
Card 4/5: Parser fixes — Go switch variables, Svelte destructuring defaults, .git skip, oversized diff splitting · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS
RISK 📎 Source
Card 5/5: Release semver validation hardened; rebase sed pattern gets trailing boundary · 🟢 · ●●●INTENT WHAT CHANGED
IMPACT RADIUS
RISK 📎 Source
📂 Files changed (20 files, ~307 insertions / 203 deletions)
{tokens:725558,cost:1.0599922} |
No description provided.