mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-10-26 06:43:15 +08:00
Completes the #963 coverage taxonomy: alongside the best-effort FAILURE signals (parse_partial, skipped), the report now lists what was deliberately NOT indexed — a deterministic, by-design class, never mixed into the failure surfaces. - discover: file skips are classified by reason (gitignore / cbmignore / skip-list / ignored-suffix / fast-pattern / size-cap) and collected via the new cbm_discover_ex2 (per-file entries capped at 2000 with the uncapped total reported — truncation is explicit, never silent; whole excluded subtrees stay exhaustive as before). Unsupported-extension files are deliberately NOT recorded: no grammar for an extension is not an ignore decision, and listing every README/asset would drown the signal - pipeline: ignored files captured per run (full + incremental) and persisted into the index_coverage table as not_indexed_file rows, excluded dirs as not_indexed_dir; incremental runs rewrite the by-design set fresh from discovery instead of carrying old rows - store: the deleted-file prune exempts not_indexed_* (deliberately unindexed paths never have hash rows); the missed shadow graph keeps showing FAILURES only — the UI's report-an-edge-case callout can never fire for gitignored paths, and a project whose only coverage rows are by-design gets no miss graph at all - mcp: index_repository response gains not_indexed_files {files, count, truncated, note} (dirs stay under excluded); index_status's coverage report gains a not_indexed section (dirs + files + note) and no longer lumps by-design rows into skipped; tool descriptions updated — the by-design class is presented as deliberate and deterministic (change the ignore rules and re-index), with no best-effort hedging - tests: e2e guard (gitignored file + dir reported with reasons on both surfaces, failure surfaces stay clean, missed graph excludes them, rows survive an incremental re-index, ignored constructs genuinely absent from the graph); store unit test covers the prune exemption and shadow-graph exclusion Refs #963 Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>