ReMe/reme/components
xyf2020 43a407bc4f
Some checks failed
Tests ReMe / Unit Tests - py3.11 (push) Has been cancelled
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Tests ReMe / Unit Tests - py3.12 (push) Has been cancelled
Tests ReMe / Unit Tests - py3.13 (push) Has been cancelled
feat: add start_date/end_date time filter support for search job (#317)
* feat: add start_date/end_date time filter support for search job

- Add _extract_date_from_path to extract validated YYYY-MM-DD from chunk paths
- Add start_date/end_date filtering in _matches_search_filter
- Implement progressive recall in FaissLocalFileStore.vector_search
- Promote start_date/end_date from context to search_filter in SearchStep
- Add start_date/end_date parameters to search job in default.yaml
- Add unit tests for date filter functionality

* fix: validate/normalize date filters and harden _extract_date_from_path

Address three code-review comments on the time_filter search feature:

1. Validate/normalize start_date and end_date before string comparison.
   _matches_search_filter does lexicographic comparison against path_date
   (always canonical YYYY-MM-DD). Raw caller values like '2026-2-28' or
   'abc' would produce silently wrong results. Now SearchStep normalizes
   valid dates via extract_daily_date (with strptime fallback for
   non-zero-padded input) and silently ignores invalid dates with a
   logger.warning, removing them from the filter.

2. Clarify behavior for paths without embedded dates.
   Added optional strict_date_filter parameter (default False). When True
   and at least one date bound is active, chunks whose path yields no date
   (e.g. digest/personal/topic.md) are excluded. When False (default),
   the existing behavior is preserved — dateless paths pass through.

3. Harden _extract_date_from_path against non-standard suffixes.
   Previously parts[1].split('.')[0] accepted '2026-05-18.anything' as a
   valid date. Now only exact 'YYYY-MM-DD' (dir) and 'YYYY-MM-DD.md'
   (day-index) forms are accepted.
2026-07-03 15:58:04 +08:00
..
agent_wrapper feat: add Claude Code plugin with auto-memory functionality (#297) 2026-06-26 14:46:42 +08:00
as_embedding feat(cli): route bare commands to the running server's real config (#312) 2026-07-01 17:15:48 +08:00
as_llm init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
client fix(mcp): resolve circular import issues and update dependencies (#296) 2026-06-26 09:37:08 +08:00
embedding_store Refactor logging levels and add dream schema definitions (#291) 2026-06-24 16:44:03 +08:00
file_catalog Refactor logging levels and add dream schema definitions (#291) 2026-06-24 16:44:03 +08:00
file_chunker docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00
file_graph Refactor logging levels and add dream schema definitions (#291) 2026-06-24 16:44:03 +08:00
file_store feat: add start_date/end_date time filter support for search job (#317) 2026-07-03 15:58:04 +08:00
job init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
keyword_index Update version to 0.4.0.2 and improve tokenizer index handling (#290) 2026-06-24 15:01:07 +08:00
service fix(mcp): resolve circular import issues and update dependencies (#296) 2026-06-26 09:37:08 +08:00
tokenizer Refactor logging levels and add dream schema definitions (#291) 2026-06-24 16:44:03 +08:00
__init__.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
application_context.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
base_component.py docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00
component_registry.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
prompt_handler.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
runtime_context.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00