Problem
Multiple functions list ALL sessions, then loop and call kv.list(KV.observations(session.id)) for each session. For 100 sessions, that's 101+ KV calls. This will degrade linearly as data grows.
Affected Functions
src/functions/timeline.ts:50-65
src/functions/profile.ts:52-78
src/functions/patterns.ts:34-67
src/functions/auto-forget.ts:88-105
src/functions/evict.ts:80-108
src/functions/consolidate.ts:80-90
Suggested Fix
Use batch operations, pagination, or maintain pre-computed aggregate indices (e.g., a global observations index keyed by timestamp).
Problem
Multiple functions list ALL sessions, then loop and call
kv.list(KV.observations(session.id))for each session. For 100 sessions, that's 101+ KV calls. This will degrade linearly as data grows.Affected Functions
src/functions/timeline.ts:50-65src/functions/profile.ts:52-78src/functions/patterns.ts:34-67src/functions/auto-forget.ts:88-105src/functions/evict.ts:80-108src/functions/consolidate.ts:80-90Suggested Fix
Use batch operations, pagination, or maintain pre-computed aggregate indices (e.g., a global observations index keyed by timestamp).