ReMe/reme/steps
jinliyl b4333fbef8
feat(index): add bounded memory-aware batch processing (#381)
* test(background_steps): add comprehensive tests for batch processing and memory management

- Add test for catalog upserts in batches of at most 100 files
- Add test for catalog deletes in batches of at most 100 paths
- Add test for index memory budget reducing batches to one file
- Add test for memory target limiting cumulative batch size
- Add test for invalid batch memory settings rejection
- Add test for continuing after one batch fails
- Add test for yielding to event loop while building batch
- Add test for modified file reusing unchanged embedding
- Add test for reporting memory estimation failure without aborting

feat(update_changes): implement bounded batch processing with memory management

- Add configurable batch parameters with default values
- Implement memory budget calculation based on available system memory
- Add file inspection and memory estimation before processing
- Implement batch flushing when limits are reached
- Add proper error handling for batch operations
- Support async yielding during batch building
- Add comprehensive validation for batch configuration parameters
- Implement memory estimation for indexing operations
- Add batch size limiting for delete operations

* test(steps): add tests for memory estimation failure handling

- Add test case for isolated file processing when memory estimation fails
- Add test case for proper release of flushed items before building next file
- Implement weak reference tracking to verify payload lifetime management
- Create parametrized tests for both source and item memory estimation methods
- Add assertions to verify single-item batch behavior on estimation failures
- Include comprehensive error handling verification for memory budget calculations

* chore(version): bump version to 0.4.1.3

- Update __version__ from 0.4.1.2 to 0.4.1.3 in __init__.py

* feat(index): support batch settings from environment

* refactor(index): use direct batch defaults

* refactor(index): configure memory estimates through step args

* ci: simplify Windows smoke dependencies
2026-07-20 17:25:00 +08:00
..
benchmark chore(benchmark): remove longmemeval final answer review file (#366) 2026-07-16 20:32:28 +08:00
channel docs: rename vault_dir to workspace_dir in documentation and examples (#286) 2026-06-22 16:58:57 +08:00
common feat(core): add shell execution and runtime memory status (#344) 2026-07-14 16:31:41 +08:00
evolve fix(proactive): expose topics in primary answer (#380) 2026-07-20 16:05:47 +08:00
file_io feat: add codex auth modes, background embedding/index repair, and qwenpaw logging (#371) 2026-07-20 14:47:34 +08:00
index feat(index): add bounded memory-aware batch processing (#381) 2026-07-20 17:25:00 +08:00
transfer feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00
__init__.py feat(benchmark): add lme benchmark steps (#326) 2026-07-07 18:53:39 +09:00
base_step.py feat(index): add file size limits and oversized file handling (#362) 2026-07-15 21:01:18 +08:00