mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-11-13 06:31:47 +00:00
read_batch_item trusted list_items(offset=position) to land on position. That only holds while item rows are dense: OFFSET-based paging skips surviving rows over any gap (e.g. a future retention delete), so the reader would serve the next item's report attributed to the requested item key, and the tool layer would project next_position from the wrong base. The browser projection (read_browser_batch_item) already verifies items[0].position; align the model-facing reader with it and add the same negative-position guard. Reading past a gap now returns not_found instead of a shifted row, matching the browser path's semantics.