fix(knowledge): document tag filter matches case-insensitively and by calendar day#5221
Conversation
… calendar day The Knowledge Base document list applied tag filters with case-sensitive text equality and compared date tags against a midnight-UTC timestamp, so text filters missed on any casing difference and date eq never matched a stored timestamp — both silently returned empty results. Align the document-list filter with the knowledge search filter semantics: text eq/neq are now case-insensitive (LOWER) and date comparisons run on the calendar day (::date). Extract the predicate builder into its own single-responsibility module with unit coverage, and tidy the filter popover's secondary labels to the caption text size for chip-design consistency.
PR SummaryMedium Risk Overview Tag predicate building moves from Vitest coverage was added for the predicate builder. The KB filter popover uses Reviewed by Cursor Bugbot for commit 74b96a9. Configure here. |
Greptile SummaryThis PR fixes knowledge document tag filtering and moves the predicate logic into its own module. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files ChangedReviews (1): Last reviewed commit: "fix(knowledge): document tag filter matc..." | Re-trigger Greptile |

Summary
YYYY-MM-DDvalue against a midnight-UTC timestamp so dateequalsnever matched a stored timestamp.eq/neqare now case-insensitive (LOWER), and date comparisons run on the calendar day (::date).tag-filter.tsmodule with unit coverage.Type of Change
Testing
Checklist