An unreadable tracked code file permanently bricks changed_symbols and review_diff — the I034 brick through a sixth door #147
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#147
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 a production-readiness review. This is the I034 freshness-barrier brick again, through a door I034 did not close.
The path
EACCES / EISDIR / a Windows file lock on a tracked code file →
ContentEligibility::Unknown→Freshness::STALE(crates/mcp-server/src/server.rs:5194) → the freshness barrier exhausts →changed_symbolsandreview_diffreturnindex_updatingwith "retry in a moment", forever.The file will never become readable by waiting.
index_staleis permanent for a file that cannot be read, which is the identical mechanism I034 fixed for never-indexable files underdist//bin//obj/— repaired there with a walker-PROVEDnot_indexed. The proof is per-cause, so a new cause reopens the brick.The test that should have caught it
server.rs:21296asserts only that such a file classifies asUnknownrather thanRefused— the correct half — and grades nothing downstream. It never asserts what the tools then return. The code comment two lines above even names "a fifth door" it closed, which is what makes this the sixth.Ask
pending/index_updating. The user must be told which file and that waiting will not help.index_updatingwithout a bounded horizon. A retry instruction with no reachable success condition is the shape of every one of these six.Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01K1zj5VcFJvJt3pQxe9259K
code-index doctoris blind to staleness, watcher health and resolve state, and check_disk_free only fires at literally zero bytes #150