feat(tags): restore cross-subtree retrieval with legacy schema compatibility#1205
feat(tags): restore cross-subtree retrieval with legacy schema compatibility#120513ernkastel wants to merge 4 commits intovolcengine:mainfrom
Conversation
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨No code suggestions found for the PR. |
|
Addressed the PR Reviewer Guide follow-ups in
Re-ran the focused tag/storage checks after the patch. |
4274fea to
95b8daa
Compare
|
Latest update on the branch:
Current branch head: Local limitation remains the same: full search execution cases in |
Summary
maintagsasstringWhy
This PR re-lands the reverted retrieval feature against the latest codebase, following zhoujh01's recommendation here:
#1162 (comment)
The regression after
#1162came from a type mismatch on the write path:tags=[]/list[str]could reach a collection schema that still validatedtagsas a scalar string.Compatibility / migration
tagsaslist<string>tagsasstringremain writable because the upsert path serializes list tags before persistenceChecks
tests/storage/test_collection_schemas.pycovers new-schema writes, legacy-string compatibility, empty-tag handling, and queue-handler-to-legacy-schema persistencetests/storage/test_semantic_processor_lifecycle_lock.pytests/utils/test_tag_utils.pytests/retrieve/test_hierarchical_retriever_tags.pytests/retrieve/test_hierarchical_retriever_rerank.pytests/retrieve/test_hierarchical_retriever_target_dirs.pytests/server/test_api_resources.pytests/server/test_api_search.py -k forwards_tagstests/unit/test_vectorize_file_strategy.pytests/client/test_search.py -k forwardNotes
I could not run the full environment-dependent search execution tests locally because this machine's native vector engine build is missing
PersistStore, and the broader client/integration flows also require extra local config artifacts such asov.conf. To compensate, this PR adds regression coverage around the storage, retrieval, API forwarding, and client-wrapper boundaries that exercise the feature paths available in this environment.