Problem
check_index_coverage --paths '["definitely/not/a/real/path.py"]' (a single flag value containing a JSON-array string, i.e. one garbage path that matches no indexed file) returns:
status: no_recorded_issue
freshness: missing
- action
read_source_and_reindex
with exit code 0. A coverage endpoint returning a clean bill on a path that cannot exist is self-camouflaging: automation reading status concludes the path is covered when it was never examined.
Expected
Warn or error when a requested path matches no indexed file (e.g. a path_not_found status or non-zero exit), instead of no_recorded_issue + rc 0.
Context
Found while benchmarking coverage/freshness behavior across graph tools (codebase-memory-mcp 0.10.8, correct syntax is repeated --paths <p> flags). The malformed single-array-string call is an easy mistake in scripts that build the flag value programmatically, which is exactly how it surfaced here.
Problem
check_index_coverage --paths '["definitely/not/a/real/path.py"]'(a single flag value containing a JSON-array string, i.e. one garbage path that matches no indexed file) returns:status: no_recorded_issuefreshness: missingread_source_and_reindexwith exit code 0. A coverage endpoint returning a clean bill on a path that cannot exist is self-camouflaging: automation reading
statusconcludes the path is covered when it was never examined.Expected
Warn or error when a requested path matches no indexed file (e.g. a
path_not_foundstatus or non-zero exit), instead ofno_recorded_issue+ rc 0.Context
Found while benchmarking coverage/freshness behavior across graph tools (codebase-memory-mcp 0.10.8, correct syntax is repeated
--paths <p>flags). The malformed single-array-string call is an easy mistake in scripts that build the flag value programmatically, which is exactly how it surfaced here.