ReMe/reme/steps/index
xyf2020 06fb46fa48
feat(tags): add configurable tag indexing and filtered hybrid search (#530)
* Add optional tag generation and normalization to auto memory

* Add tag index components and clean up temporary JSONL files

* Preserve tag index state when reconciliation fails

* Refactor and streamline application implementation

* Fix pylint C1803 warnings in tag normalization tests

* Document optional tag index configuration

* Make tag index failures non-blocking and disable auto-memory tags

* Add configurable tag indexing and tag listing

* Add tag-filtered hybrid search with exact candidate ranking

* Remove obsolete generated files

* Rename tag index key to tag_key and reject reserved fields

* Extract automatic tagging into a dedicated step

* Restrict frontmatter updates to authorized keys

* Refine tag filtering and automatic memory tagging

* Require underscore-separated tags in auto-tag prompts

- Forbid spaces in tags and require underscores (e.g. sam_altman) in both
  English and Chinese auto_tag prompts, with English examples switched to
  English entities (OpenAI, gold)
- Drop prompt-string assertions superseded by the new tagging rule
- Merge construction/runtime tag_key validation tests into one parametrized case

* Make max_tags_per_file configurable in auto-tag step

* Consolidate tag index tests

* Fix search test fixture lint warnings

* Align tag contracts and index health behavior

* Fall back when tag index is unavailable

---------

Co-authored-by: jinli.yl <jinli.yl@alibaba-inc.com>
2026-09-10 18:01:09 +08:00
..
__init__.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
_change_batch.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
_dedup.py fix(search): isolate range dedup state (#465) 2026-08-20 16:15:30 +08:00
_source_format.py refactor: derive dialog paths from session_dir (#421) 2026-08-06 17:07:14 +08:00
_watch_rules.py feat(auto_resource): interpret image resources into daily notes (#500) 2026-09-07 12:00:38 +08:00
bm25_search.py refactor: derive dialog paths from session_dir (#421) 2026-08-06 17:07:14 +08:00
clear_paths.py feat(benchmark): add LongMemEval golden answer validation (#335) 2026-07-13 21:26:27 +08:00
clear_store.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
draft.py feat(lme): add cli execution and agentic search tooling (#334) 2026-07-08 17:43:09 +09:00
graph_snapshot.py feat: add frontend-ready wikilink graph APIs (#414) 2026-08-05 16:45:50 +08:00
init_changes.py docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00
list_tags.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
log_changes.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
node_search.py init: reme version 0.4.0 (#284) 2026-06-22 15:41:19 +08:00
optimize_index.py feat(faiss_file_store): upgrade FAISS to HNSW index with async reindex (#390) 2026-07-27 19:54:38 +08:00
reindex.py feat(Tag filter): Add an optional rebuildable tag index for file frontmatter (#517) 2026-09-07 15:52:17 +08:00
search.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
traverse.py feat: add frontend-ready wikilink graph APIs (#414) 2026-08-05 16:45:50 +08:00
update_changes.py feat(tags): add configurable tag indexing and filtered hybrid search (#530) 2026-09-10 18:01:09 +08:00
vector_search.py refactor: derive dialog paths from session_dir (#421) 2026-08-06 17:07:14 +08:00
wait_for_paths.py feat(benchmark): add LongMemEval golden answer validation (#335) 2026-07-13 21:26:27 +08:00
watch_changes.py feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00