Skip to content

Commit 6933d5a

Browse files
committed
docs: remove resolved issues from KNOWN-ISSUES.md
Keep only open issues. Resolved issues don't need to be tracked here.
1 parent 8b01da2 commit 6933d5a

File tree

1 file changed

+3
-60
lines changed

1 file changed

+3
-60
lines changed

KNOWN-ISSUES.md

Lines changed: 3 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -25,67 +25,10 @@ km search 'content:"user:password"'
2525

2626
---
2727

28-
## Resolved Issues
28+
## Notes
2929

30-
### NOT Operator Issues (Resolved)
30+
### Query Syntax
3131

32-
**Status:** Fixed
33-
34-
**Issue:** The NOT operator had two problems:
35-
1. **Standalone NOT crashed:** `km search "NOT foo"` threw FTS5 syntax error
36-
2. **NOT didn't exclude:** `km search "foo AND NOT bar"` returned documents containing both instead of excluding "bar"
37-
38-
**Resolution:**
39-
- Implemented `FtsQueryResult` record to separate FTS query string from NOT terms
40-
- Modified `FtsQueryExtractor` to collect NOT terms separately instead of passing them to FTS5
41-
- Added LINQ post-filtering in `NodeSearchService.SearchAsync()` to exclude NOT terms
42-
- Added `GetAllDocumentsAsync()` in `SqliteFtsIndex` to handle standalone NOT queries
43-
- Case-insensitive filtering checks title, description, and content fields
44-
- E2E tests added in `SearchEndToEndTests.cs` (tests: `KnownIssue1_*`)
45-
46-
**Important Note:** The infix query parser requires explicit AND between terms. Use:
32+
The infix query parser requires explicit AND between terms:
4733
- `foo AND NOT bar` (correct) instead of `foo NOT bar` (incorrect - ignores NOT)
4834
- `(foo OR baz) AND NOT bar` (correct) instead of `(foo OR baz) NOT bar` (incorrect)
49-
50-
**Files Changed:**
51-
- `src/Core/Search/NodeSearchService.cs` - Added `FtsQueryResult`, `NotTerm` records and LINQ filtering
52-
- `src/Core/Search/SqliteFtsIndex.cs` - Added `GetAllDocumentsAsync()` for standalone NOT support
53-
54-
---
55-
56-
### Quoted Phrases Don't Escape Operators (Resolved)
57-
58-
**Status:** Fixed
59-
60-
**Issue:** Cannot search for literal phrases containing reserved words like "AND", "OR", "NOT".
61-
62-
**Example:**
63-
```bash
64-
km put "Meeting with Alice AND Bob"
65-
km search '"Alice AND Bob"'
66-
# Now works correctly and finds the document
67-
```
68-
69-
**Resolution:**
70-
- The tokenizer correctly handles quoted strings and preserves them as literal text
71-
- The FTS query extractor properly quotes phrases containing reserved words
72-
- E2E tests added in `SearchEndToEndTests.cs` to prevent regression (tests: `KnownIssue2_*`)
73-
74-
---
75-
76-
## Testing Gaps
77-
78-
These bugs were discovered through comprehensive E2E testing. Previous tests only verified:
79-
- AST structure correctness
80-
- LINQ expression building
81-
- Direct FTS calls
82-
83-
But did NOT test:
84-
- Full pipeline: Parse -> Extract FTS -> Search -> Filter -> Rank
85-
- Default settings (MinRelevance=0.3)
86-
- Actual result verification
87-
88-
**Lesson:** Exit code testing and structure testing are insufficient. Must test actual behavior with real data.
89-
90-
---
91-

0 commit comments

Comments
 (0)