mirror of
https://github.com/MervinPraison/PraisonAIUI.git
synced 2026-11-07 13:56:36 -10:00
* feat: implement SessionGovernor for bounded session memory management (fixes #67) - Add SessionGovernor with configurable max_turns/max_sessions limits - Replace unbounded _contexts dict in example 03 with SessionGovernor - Fix resource churn in examples 25/26 by reusing AsyncOpenAI client - Implement documented --datastore json flag in example 04 - Export SessionGovernor in praisonaiui.__init__ for public API - Enforce context window caps and LRU eviction policies - Prevent OOM conditions in production deployments Co-authored-by: Mervin Praison <[email protected]> * fix: critical bugs in SessionGovernor memory management Fixes two production-critical bugs in session_governor.py: 1. Line 199: Fixed eviction loop condition (>= → >) to prevent: - KeyError crashes when active session gets evicted - Unnecessary eviction when at limit - Double eviction causing under-capacity 2. Line 89-90: Fixed slicing logic for non-positive keep_count: - Added guard to prevent messages[-0:] returning all messages - Ensures proper memory governance when system messages exceed turn limits 🤖 Generated with [Claude Code](https://claude.ai/code) Co-authored-by: Mervin Praison <[email protected]> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mervin Praison <[email protected]> Co-authored-by: Mervin Praison <[email protected]>