Qin Haojie
9295a3b955
fix(session): remove actor scope from session lifecycle ( #3661 )
...
Keep sessions user-scoped and remove legacy agent fallback that could leak an actor view into commit memory writes.
2026-07-31 19:52:19 +08:00
Qin Haojie
09e42aa739
fix(resource): restore queue status for waited imports ( #3658 )
2026-07-31 15:40:27 +08:00
zgy
c241a2a043
chore: reduce import log noise ( #3657 )
2026-07-31 15:31:44 +08:00
zgy
49b182045b
refactor(parser): Refactor code summaries to fixed skeleton-first routing ( #3568 )
...
* Refactor code summary skeleton routing
* Simplify code skeleton routing configuration
* Render C tag skeletons as signatures
* Revert "Render C tag skeletons as signatures"
This reverts commit 8e342055f8 .
* Simplify fixed code skeleton summary route
* Inline process skeleton rendering
* Simplify code skeleton routing entrypoints
* Fix code summary review issues
* Address final code summary review feedback
* Route failed tags skeletons to LLM fallback
* Restore CUDA and TS extension routing
* Improve code skeleton query coverage
* Route semantic code detection through skeleton support
* Move process skeleton engine into ast package
* Admit skeleton-supported files during directory scan
* Align code summary docs after main merge
* Reduce code skeleton fallback log verbosity
* chore: require grep-ast 0.9.0
2026-07-31 11:38:57 +08:00
baojun-zhang
7c956f23bc
feat(config): add compatible default timeout for ragfs pathlock ( #3641 )
...
- add storage.agfs.pathlock.lock_timeout_secs
- use pathlock default timeout instead of hardcoded zero in wrapper
- map legacy storage.transaction.lock_timeout when new config is unset
- remote redolog by using persistent `session_commit` queue.
2026-07-31 11:23:27 +08:00
Qin Haojie
fd42b1ad92
feat(tasks): support task cancellation ( #3577 )
...
* feat(tasks): support task cancellation
* refactor(tasks): scope cancellation to current user
* feat(cli): support task cancellation
* refactor(tasks): make cancellation queue-aware
* refactor(tasks): simplify cancellation bookkeeping
* test: remove task cancellation coverage
* refactor(tasks): trim cancellation coordination
* fix(tasks): contain cancellation to owned work
* feat(tasks): persist resource source metadata
* fix(tasks): handle cancelled work consistently
* refactor(tasks): make completion queue-aware
* fix(tasks): persist terminal state before queue ack
* test(tasks): remove added lifecycle tests
* docs(tasks): document task cancellation
2026-07-30 20:34:27 +08:00
zgy
48559ab4f1
Fix temp cleanup for repository tasks directories ( #3630 )
2026-07-30 19:41:14 +08:00
Eurakaxun
44c6df2622
perf: retrieval, import, LangChain, and session-context optimizations ( #3569 )
2026-07-30 10:10:11 +08:00
baojun-zhang
2f9451231e
refactor(pathlock):using rust implement instead python ( #3602 )
...
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):optimize unit test code
* refactor(pathlock):optimize encryption create func
* refactor(pathlock):avoid releasing handoffed pathlock on enqueue errors
* fix(pathlock): use owned lease capability and handle S3 create-new 409 as conflict
* fix(ragfs): keep original FsContext for multi-write metadata
* fix(pathlock): resolve lease coverage and CAS handling issues
- detect S3 conditional conflicts from structured service errors
- pass transaction leases when deleting skill roots
- let temp cleanup acquire locks for temp paths
- disambiguate cache and pathlock providers in cache tests
- update temp cleanup lease assertions
* fix(ragfs): bypass pathlock for multi-write metadata
* fix(ragfs): revert pathlock fail-fast design
* fix(ragfs):fix(ragfs): use non-blocking fcntl locks for localfs CAS
* fix(ragfs): serialize heartbeat lease refresh with release and report real conflict kind
* fix(ragfs): preserve conflict kind snapshot and drop unused test scaffolding
* fix(ragfs): preserve conflict kind snapshot and drop unused test scaffolding
2026-07-29 19:45:34 +08:00
Jiahui Zhou
34b5a88971
Feat/add resource tags ( #3560 )
...
* feat: allow tags during resource import
* feat: support uploaded resource watches with tags
* feat: add resource tag flags to CLI
* fix: reject uploaded resource watches with tags
* docs: untrack add resource tags design draft
* fix: write add_resource tags during ingest
* docs: move add_resource tags docs into resources api
* fix: tighten add_resource tag ingestion semantics
* fix: address add_resource tag review feedback
* fix: merge resource tags at vector upsert
* refactor: carry add_resource tags with ingest options
2026-07-29 15:43:06 +08:00
baojun-zhang
1841dfed81
Revert "refactor(pathlock):using rust implement instead python ( #3557 )" ( #3597 )
...
This reverts commit 6b538db569 .
2026-07-29 11:31:41 +08:00
baojun-zhang
6b538db569
refactor(pathlock):using rust implement instead python ( #3557 )
...
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):using rust implement instead python
* refactor(pathlock):optimize unit test code
* refactor(pathlock):optimize encryption create func
* refactor(pathlock):avoid releasing handoffed pathlock on enqueue errors
* fix(pathlock): use owned lease capability and handle S3 create-new 409 as conflict
* fix(ragfs): keep original FsContext for multi-write metadata
* fix(pathlock): resolve lease coverage and CAS handling issues
- detect S3 conditional conflicts from structured service errors
- pass transaction leases when deleting skill roots
- let temp cleanup acquire locks for temp paths
- disambiguate cache and pathlock providers in cache tests
- update temp cleanup lease assertions
* fix(ragfs): bypass pathlock for multi-write metadata
* fix(ragfs): revert pathlock fail-fast design
2026-07-29 11:08:42 +08:00
fujiajie666
c91b0d36f2
feat: implement Skill-driven knowledge compilation for ov compile ( #3567 )
...
* feat(compile): implement skill-driven ov compile
Require a Skill and run compile tasks through VikingBot AgentLoop with structured wiki bundle rendering and durable task state.
Add OpenViking batch-write and bot proxy APIs, Python SDK and Rust CLI support, shared link and memory helpers, tests, and a One-Page demo.
* fix(compile): refine defaults, links, and failure handling
* fix(compile): normalize skill tools and degrade gracefully
* feat(compile): support skill-defined artifact outputs
* feat(compile): improve artifact reliability and wiki navigation
* feat(compile): support generating and updating skill packages
* fix(compile): validate OKF frontmatter and catalog page types
* feat(compile): rank target catalog and validate updates lazily
* feat(compile): tag generated wiki files for search
* fix(compile): preserve generated skill artifacts in submissions
* fix(compile): enforce fixed toolset and workspace artifact submissions
* fix(skills): preserve nested metadata in skill frontmatter
* fix(compile): normalize wiki paths and citation line breaks
* docs(examples): remove outdated compile demos
* docs(api): document compile and batch-write endpoints
* fix(content): allow arbitrary resource files in batch writes
* fix(compile): harden task lifecycle, auth, and execution
* fix(compile): disable direct exec by default
* fix(compile): allow file-only tasks when exec is disabled
* fix(compile): prevent task lock leaks
2026-07-28 20:33:25 +08:00
Jiahui Zhou
5d1ba45be4
Feat/add resource processing mode ( #3566 )
...
* feat: add resource processing mode
* fix: keep semantic artifacts in vectors-only add resource
* test: support processing mode in api test client
* docs: document add resource processing mode
* fix: align processing mode after resource ingestion refactor
* feat: expose processing mode in TypeScript SDK
* fix: preserve add resource compatibility
2026-07-28 20:09:06 +08:00
Rocke Dong and qin-ctx
cfddab1a23
fix(storage): preserve source files when rm index cleanup fails ( #3519 )
...
* fix(storage): preserve source files when rm index cleanup fails
* test(storage): trim redundant removal cases
* test(storage): remove PR-specific regression tests
---------
Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com >
2026-07-28 16:03:21 +08:00
agent
8391d3a758
feat: add global Agent Evolution switch and HTTP usage sink ( #3223 )
...
* feat: add per-user agent evolution settings
* simplify Agent Evolution user settings
* fix: preserve agent evolution client compatibility
* feat(snapshot): add path diff API
* feat(snapshot): expose path diff in clients and CLI
* fix(agent-evolution): gate case memory production
* fix(agent-evolution): preserve configuration compatibility
* feat(usage): add built-in HTTP sink
* fix(agent-evolution): address PR review findings
* fix(usage): isolate HTTP outbox by destination
* docs(usage): define CountRecord HTTP mapping
* docs(usage): plan CountRecord HTTP implementation
* feat(usage): emit CountRecord over HTTP
* docs(agent-evolution): design global switch
* docs(agent-evolution): plan global switch migration
* feat(agent-evolution): make production switch global
* fix(agent-evolution): preserve embedded defaults
* test(agent-evolution): cover failed archive policy replay
* docs(agent-evolution): clarify embedded compatibility
* docs(agent-evolution): expose global switch in example config
* refactor(agent-evolution): align global setting terminology
* fix(agent-evolution): preserve session skill extraction
* fix(usage-reporter): capitalize count record keys
2026-07-27 20:09:38 +08:00
Zayn Jarvis
2c80d44349
fix(kernel): stop conflating storage failures with not-found ( #3417 )
...
* fix(kernel): stop conflating storage failures with not-found
Sweep findings: A-03, A-07, A-11, A-12, B-07. Preserve storage and parse failures instead of reporting missing or empty state.
* fix(review): restore archive failure handling
Addresses blocking review finding on #3417 .
* fix(review): terminalize corrupt archive records
Addresses blocking review finding on #3417 .
* test: adapt pending-archive-skip test to refactored archive scan
Rebase onto main (#3380 turn-aware retention) changed archive refs to carry
an archive_id; update the test mock's _list_archive_refs return so the missing
pending archive still routes through _get_uncovered_archive_messages and is
skipped (not raised).
2026-07-24 17:57:13 +08:00
t0saki
4d0759ac53
fix(session): attribute Phase-2 extraction token usage to committing account ( #3505 )
...
Session commit Phase-2 memory extraction runs in the SESSION_COMMIT queue
worker, which never bound a root observability context. VLM/embedding token
events emitted during extraction therefore read identity from an empty root
context and were recorded under account_id=__unknown__, invisible to the
account-filtered usage dashboard (which showed 0 VLM tokens despite active
extraction).
Bind a QUEUE root observability context with the committing account/user at
the start of SessionCommitProcessor._process and reset it in finally, mirroring
SemanticProcessor.on_dequeue. The binding must live inside the coroutine
because on_dequeue hops event loops via run_coroutine_threadsafe, so a context
bound there would not propagate. The extraction call chain inherits the
contextvar, so one bind covers all Phase-2 VLM/embedding calls.
Add tests asserting the worker binds the committing identity onto the root
context and resets it afterwards.
2026-07-24 17:19:11 +08:00
agent
27debfe7a8
feat(snapshot): add path diff API, SDK, and CLI ( #3451 )
...
* feat(snapshot): add path diff API
* feat(snapshot): expose path diff in clients and CLI
* fix(snapshot): pin path diff to resolved commits
* fix(snapshot): bound path diff resource usage
* fix(snapshot): bound diff blob reads
* fix(snapshot): harden path diff API
* fix(snapshot): bound path diff resource usage
* fix(build): sync native binding dependencies
2026-07-23 17:45:36 +08:00
Yuanqing ZHAO and Yuanqing Zhao
40dd05271c
perf(vectordb): micro-batch compatible cuVS searches ( #3382 )
...
* perf(vectordb): micro-batch compatible cuVS searches
* fix(vectordb): serialize micro-batch device admission
* perf(vectordb): pipeline warm cuVS micro-batch admission
* docs(cuvs): align micro-batching guidance
* fix(cuvs): warm-batch empty filters
---------
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-23 11:10:52 +08:00
baojun-zhang
2b78fff498
Fix dual path lock ( #3454 )
...
* fix(storage): add short timeout for encrypted dual-path write locks
* Reduce PathLockEngine poll interval from 0.2s to 0.1s.
2026-07-22 16:08:01 +08:00
Qin Haojie
339817d981
fix(resource): isolate external parsing queue ( #3448 )
...
Keep local resource ingestion from waiting behind UnderstandingAPI jobs while preserving durable queue recovery.
2026-07-22 15:11:50 +08:00
Yuanqing ZHAO and Yuanqing Zhao
2d84a6f13c
perf(cuvs): improve recovery scalability and filtered-search efficiency ( #3311 )
...
* perf(index): avoid materializing descendant path strings
* perf(cuvs): compact host vector shadow
* perf(storage): prune redundant tenant path scopes
* fix(cuvs): synchronize worker-thread searches
* perf(cuvs): stream dense shadow recovery
* test(storage): cover cross-user path scopes
* perf(storage): page candidate recovery scans
* perf(cuvs): accelerate adaptive filter routing
* perf(cuvs): reduce filtered-search host overhead
---------
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-21 15:59:58 +08:00
ShaoZegangByte
39dc01e2a5
feat(resource): support Feishu/Lark URL imports via UnderstandingAPI ( #3320 )
...
* feat(resource):add lark understand api
* fix(resource):add lark understand api env
* fix(resource):add lark understand api
* fix(resource):understand api pr
* fix(resource):add test
* fix(resource):handle deferred URIs for async Feishu imports
* fix(resource):fix Ruff issues in lark import
* fix: persist final resource URI for async UnderstandingAPI tasks
* fix: clean up cancelled async UnderstandingAPI scheduling
* fix: getattr defer_target_resolution
2026-07-21 11:08:13 +08:00
Yuanqing ZHAO and Yuanqing Zhao
e1cea0998b
perf(vectordb): avoid hydrating unrequested vectors ( #3375 )
...
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-20 19:13:00 +08:00
Qin Haojie
370fe45f6f
fix(auth): serialize API key registry writes ( #3377 )
...
Prevent concurrent account and user registry updates from racing in AGFS.
2026-07-20 17:51:07 +08:00
Qin Haojie
1d4bf132ed
fix(task): 修复 add-resource 任务重启后无法恢复 ( #3334 )
...
* fix(task): recover add-resource jobs after restart
Persist asynchronous add-resource work in QueueFS so interrupted jobs can resume instead of leaving tasks running forever.
* fix(queue): omit parser args from prepared jobs
* fix(queue): fail when semantic source is missing
2026-07-20 14:07:27 +08:00
Kchen and chenpengfei
5f945fa8e6
fix(path_lock): ( #3353 )
...
# 并发精确路径锁下父目录幂等创建设计
## 问题
两个并发写请求分别写入不同文件时,可能需要在同一个父目录中创建精确路径锁文件。如果该父目录尚不存在,两个加锁流程都可能先观察到目录不存在,随后递归创建同一个目录。其中一个 `mkdir` 成功,另一个收到 `EEXIST`/already-exists;此时所需目录其实已经存在。
`PathLockEngine._ensure_directory_exists_async` 当前将所有 `mkdir` 异常都视为失败。因此,竞争失败一方的加锁结果为 `False`,内容写入链路最终向调用方返回 HTTP 409 `resource is busy`。
## 预期行为
并发场景下,目录创建应具有幂等语义:
- 如果 `mkdir` 抛出异常,但重新执行 `stat` 后确认目标已经是目录,则目录准备成功。
- 如果目标仍不存在、无法查询,或者目标是非目录条目,则保持原有失败行为。
- 本次修改只影响路径锁所需父目录的准备流程,不改变锁冲突、等待超时和 HTTP 错误语义。
## 实现方案
修改 `openviking/storage/transaction/path_lock.py` 中的 `PathLockEngine._ensure_directory_exists_async`:
1. 保留现有的首次 `stat` 和递归创建父目录流程。
2. 调用 `mkdir(path)` 创建当前目录。
3. 如果 `mkdir` 抛出异常,立即通过 `_is_existing_directory_async(path)` 重新查询目录状态。
4. 如果重新查询确认目标是目录,则返回成功。这样既能处理明确的 `EEXIST`,也能兼容存储后端对该错误的包装;只有在所需文件系统状态已经成立时才忽略异常。
5. 如果重新查询未确认目标是目录,则记录原始 `mkdir` 异常并返回失败。
不增加通用重试循环。如果竞争方在该路径创建的是文件而不是目录,不能将其视为成功。
## 回归测试
在 `tests/transaction/test_exact_path_lock.py` 中增加一个可稳定复现竞态的异步测试:
- 初始文件系统中存在 `/local/default/resources`,但不存在其下的共享子目录。
- 并发为共享子目录下两个不同文件获取精确路径锁,例如 `shared/a.md` 和 `shared/b.md`。
- 通过测试 AGFS 的同步点,保证两个加锁流程首次对 `shared` 执行 `stat` 时都看到目录不存在,然后才允许任一方执行 `mkdir(shared)`。
- 允许一个 `mkdir(shared)` 创建目录,另一个抛出 already-exists 异常。
- 断言两个精确路径锁都获取成功,并且创建了两个不同的锁文件。
该测试在现有实现上必须失败:竞争失败一方的 `mkdir` 异常会进入 `_ensure_directory_exists_async` 的失败分支。
## 非目标
- 不修改调用方 `upsertTextWithConflictFallback` 的行为。
- 不调整 `resource is busy` 的可重试分类。
- 不修改精确路径锁与目录树锁之间的冲突规则。
- 不为其他 AGFS 异常增加通用重试。
Co-authored-by: chenpengfei <chenpengfei@bytedance.com >
2026-07-19 19:17:11 +08:00
ef4d97ebe3
feat(snapshot): support path-filtered commit history ( #3271 )
...
* feat(snapshot): support path-filtered commit history
* refactor(snapshot): reuse SDK git log implementation
* fix(snapshot): harden path-filtered log resource limits
* chore: remove stale SDK lock entry
---------
Co-authored-by: zhanghaoyu.la <zhanghaoyu.la@bytedance.com >
Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com >
2026-07-16 19:53:40 +08:00
Yuanqing ZHAO and Yuanqing Zhao
fa19ac0a75
perf(vectordb): coalesce auto cuVS rebuilds during bulk ingest ( #3277 )
...
* perf(vectordb): coalesce auto cuVS rebuilds during bulk ingest
Add an opt-in bulk-ingest maintenance scope that coalesces Auto cuVS background rebuilds across multiple write batches.
- defer derived GPU maintenance until the outermost bulk scope exits while keeping native writes and persistence visible per call
- harden the background worker against debounce, generation, shutdown, and stale-candidate races
- preserve suspension across index replacement and retire replaced workers
- wait for the final Auto GPU snapshot before vectordb_perf records search QPS
- document that the scope is non-transactional and only schedules readiness on exit
Auto cuVS and background rebuild remain disabled by default. Native CPU and remote backends use no-op hooks, so their existing behavior and dtype are unchanged.
* fix(vectordb): reject stale index replacements
* fix(vectordb): harden bulk rebuild lifecycle
---------
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-16 18:59:16 +08:00
Qin Haojie
d47f2106ee
refactor: remove unused and deprecated APIs ( #3272 )
...
Delete dead compatibility paths and test-only helpers so unsupported APIs do not remain as accidental contracts.
2026-07-16 10:49:56 +08:00
Yuanqing ZHAO and Yuanqing Zhao
0080f94bdc
perf(vectordb): batch benchmark upserts ( #3264 )
...
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-15 19:49:06 +08:00
Qin Haojie
4a54dbeccf
fix(session): resume commits after restart ( #3254 )
2026-07-15 16:01:17 +08:00
huangruiteng and huangruiteng
b0ea896a68
fix: batch child directory overview summaries ( #3154 )
...
Co-authored-by: huangruiteng <huangruiteng@bytedance.com >
2026-07-14 11:38:59 +08:00
huangruiteng and huangruiteng
0b09d4580f
fix(observer): account for aggregate retrieval yield ( #3158 )
...
Co-authored-by: huangruiteng <huangruiteng@bytedance.com >
2026-07-14 11:20:22 +08:00
Qin Haojie
4f0bd86f32
fix(fs): canonicalize URIs before move ( #3219 )
...
* fix(fs): canonicalize URIs before move
* fix(uri): canonicalize grep and ovpack inputs
* fix(mv): preserve destination on vector update failure
2026-07-13 17:15:55 +08:00
Zayn Jarvis
cc0281ac70
fix(studio): sort limited listings by mtime ( #3212 )
...
* fix(studio): sort limited listings by mtime
* fix(client): forward ls ordering options
2026-07-13 16:17:02 +08:00
huangruiteng and huangruiteng
0a6204221b
fix(queue): recover stale non-tree lock handoffs ( #3193 )
...
Co-authored-by: huangruiteng <huangruiteng@bytedance.com >
2026-07-13 13:57:12 +08:00
huangruiteng and huangruiteng
d4c5f23253
fix(content-write): anchor user resources at direct parent ( #3176 )
...
Co-authored-by: huangruiteng <huangruiteng@bytedance.com >
2026-07-13 10:09:21 +08:00
Kchen and chenpengfei
20f0603060
修复 ov write 抢锁失败返回 409 / return 409 on write lock contention ( #3157 )
...
中文:抢写锁失败时改抛 ResourceBusyError,复用现有 CONFLICT 到 HTTP 409 的错误映射。
English: align ov write lock contention with existing conflict handling used by other resource operations.
Co-authored-by: chenpengfei <chenpengfei@bytedance.com >
2026-07-11 17:11:13 +08:00
huangruiteng and huangruiteng
378173705b
fix: show configured VLM in status without usage ( #3148 )
...
Co-authored-by: huangruiteng <huangruiteng@bytedance.com >
2026-07-11 16:42:00 +08:00
Yuanqing ZHAO and Yuanqing Zhao
7e6a0515f9
perf(cuvs): optimize filters, rebuilds, concurrency, and memory ( #3092 )
...
* perf(cuvs): fast-path cached native filter routes
* perf(cuvs): parallelize auto filter preflight
* perf(cuvs): add search route telemetry
* test(cuvs): use a valid telemetry vector dimension
* perf(cuvs): reuse native filter preflight results
* perf(cuvs): allow concurrent snapshot searches
* perf(cuvs): coalesce optional background rebuilds
* perf(cuvs): coordinate per-GPU build admission
* perf(cuvs): add opt-in float16 search
* build(cuvs): support vector benchmark harnesses
* perf(cuvs): bound concurrent GPU searches
* perf(cuvs): avoid partial background rebuilds
* fix(cuvs): address rebuild and telemetry review feedback
* fix(cuvs): defer rebuild until index initialization
---------
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-10 17:22:34 +08:00
ByteDanceLiuYang
0d6b53639c
fix(vectordb): only write content field for VikingDB backends ( #3114 )
...
* fix(vectordb): only write content field for VikingDB backends
* fix: update doc
2026-07-10 15:16:12 +08:00
Qin Haojie
3003ed61d7
feat(retrieval): support image search ( #3093 )
...
Add multimodal image vectorization and image query support across the server, SDKs, and CLI.
2026-07-09 16:42:53 +08:00
Dae and qin-ctx
9036d3fd60
fix(vectordb): handle Windows 11 platform.machine() empty string and circular import ( #3019 )
...
* fix(vectordb): handle Windows 11 platform.machine() empty string and circular import
- _is_x86_machine(): default to x86 on win32 when platform.machine()
returns empty string (Windows 11 build 26200)
- _module_exists(): catch ModuleNotFoundError during module init when
__path__ is not yet assigned, fall back to filesystem .pyd check
* fix(vectordb): detect abi3 pyd engine fallback
---------
Co-authored-by: qin-ctx <qinhaojie.exe@bytedance.com >
2026-07-08 17:52:58 +08:00
Qin Haojie
c064b95ca5
fix(storage): serialize local collection lazy load ( #3080 )
2026-07-08 17:31:01 +08:00
baojun-zhang
22131233a9
Fix dir ops locks ( #3054 )
...
* feat(python-sdk): format code
* fix: reuse active path lock handle in encrypted mv and compressor fallback writes
2026-07-07 14:05:57 +08:00
Yuanqing ZHAO and Yuanqing Zhao
39c778c953
feat: add cuVS vector search backend ( #2974 )
...
* feat: add cuVS vector search backend
* docs: add agent memory benchmark strategy
* bench: add cuVS index performance harness
* bench: add public ANN dataset tuning
* docs: record preliminary cuVS index results
* docs: clarify warm index latency
* docs: order cuVS before qdrant
* bench: aggregate independent index runs
* bench: order aggregate variants consistently
* docs: add repeatable index scaling results
* bench: add collection lifecycle benchmark
* docs: add collection lifecycle results
* perf: cache prepared cuvs filters
* docs: report prepared filter cache results
* bench: add async vector concurrency benchmark
* bench: aggregate service concurrency runs
* docs: add async concurrency results
* docs: clarify cuVS dtype behavior
* feat: add memory-aware cuVS auto mode
* feat: reuse native filters for cuVS search
* docs: publish cuVS integration plan as Markdown
* fix: route selective filters before cuVS rebuild
* docs: record selective-first routing results
---------
Co-authored-by: Yuanqing Zhao <2604121+yuanqingz@users.noreply.github.com >
2026-07-07 12:21:10 +08:00
baojun-zhang
6a33ebb7ca
Optimize glob walkdir ( #3013 )
...
* feat(storage): optimize glob func
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* feat(rgafs): implement paged glob traversal without full tree materialization
* fix(localfs): offload blocking fs operations to spawn_blocking
* feat(glob): cap glob api default node_limit at 256
* feat(sdk): add node_limit options for glob in python and go SDKs
2026-07-06 21:39:16 +08:00
Qin Haojie
b931f4d63f
refactor(vectordb): remove legacy vectorize path ( #3024 )
2026-07-06 12:11:02 +08:00