"""
GENESIS CONTEXT MANAGER
Handles context window limits, auto-checkpointing, and session handoffs
"""
import json
import os
from datetime import datetime
from pathlib import Path

class ContextManager:
    """Manages context limits and session continuity"""
    
    def __init__(self, genesis_root="E:/genesis-system"):
        self.root = Path(genesis_root)
        self.handoff_path = self.root / "HANDOFF.md"
        self.checkpoint_dir = self.root / "checkpoints"
        self.checkpoint_dir.mkdir(exist_ok=True)
        
        # Context limits (tokens)
        self.WARNING_THRESHOLD = 150000  # 78% of 190k
        self.CRITICAL_THRESHOLD = 180000  # 95% of 190k
        
    def estimate_tokens(self, text: str) -> int:
        """Rough token estimate: ~4 chars per token"""
        return len(text) // 4
    
    def create_checkpoint(self, session_data: dict) -> str:
        """Create checkpoint snapshot"""
        timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
        checkpoint_file = self.checkpoint_dir / f"checkpoint_{timestamp}.json"
        
        checkpoint = {
            "timestamp": timestamp,
            "session_id": session_data.get("session_id"),
            "current_task": session_data.get("current_task"),
            "completed_steps": session_data.get("completed_steps", []),
            "next_steps": session_data.get("next_steps", []),
            "key_files": session_data.get("key_files", []),
            "active_processes": session_data.get("active_processes", []),
