index_coverage tells the caller to restart the daemon while the index is only starting up #576
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
h-dv/code-index#576
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by two workers in the v0.41.51 train (dogfood batch 18) and reproduced on the installed release, 0.41.50 (
3d0a584c).Reproduction: start
code-index-mcp --root <a fresh repository with 300 small Rust files> --no-daemonand call, among the first requests:Actual:
verdict: "pending",reason: "eligibility_unavailable",coverage_reasons: ["index_reconciling"],index_state.projects.primary: "reconciling", and the hint ends "Restart the daemon for a complete answer; use shell meanwhile." The same session reachesreadya moment later without any restart, and in this reproduction there is no daemon to restart.Cause (read in the source): the
pendinganswer ofindex_coveragechooses its hint fromunknownalone (crates/mcp-server/src/server.rs, thehint: if unknown { … }arm). The lifecycle that the same reply reports incoverage_reasonsis not consulted. A second sentence of the same kind is incrates/mcp-server/src/eligibility.rs("restart the daemon for a complete answer").Expected: the verdict and the floor stay as they are. While the reported lifecycle is ordinary startup or reconciliation, the hint says to retry, and that path-based
read_codeworks meanwhile. A restart is advised only for a state that does not converge on its own.Impact: the first call of a session sends an agent to an unnecessary restart and to the shell, and names a process that may not exist. The refusal itself is correct; the remedy is wrong.
Released in v0.41.52 (
7fc7fb20, release run 8656, 15 assets). Verified on the installed Linux x86_64 binaries (code-index 0.41.52 (7fc7fb20)):index_coverageon a path directly after start: no restart advice in any reply while the index was starting; the first settled answer wasverdict: indexed, hint "Indexed and current.".