mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-08-11 23:38:44 +00:00
* perf(runtime): index MemoryRunEventStore events by run_id to avoid O(n) scans list_messages was already served from a thread-wide messages projection (#3531), but list_events and list_messages_by_run still scanned the whole thread's event log (every run, every category) to return one run's events -- O(N_thread) on every run-scoped /messages page-load and /events request. Add _events_by_run / _messages_by_run projections (same dict objects, kept in lockstep in _put_one / delete_by_run / delete_by_thread), so both reads are O(M_run), with bisect cursor pagination for messages. Semantics are unchanged, pinned by a brute-force parity test over interleaved traces and both cursors. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * style: ruff format test_run_event_store_by_run_index.py Clears the lint-backend (ruff format --check) failure on the PR; the original commit ran `ruff check` but not `ruff format`. No behavior change (test fixture formatting only). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>