Commit Graph

33 Commits

Author SHA1 Message Date
Mai Development
7cd12abe0c feat(04-04): create pattern extraction system
- Created src/memory/personality/__init__.py module structure
- Implemented PatternExtractor class with multi-dimensional analysis:
  - Topics: Track frequently discussed subjects and user interests
  - Sentiment: Analyze emotional tone and sentiment patterns
  - Interaction: Response times, question asking, information sharing
  - Temporal: Communication style by time of day/week
  - Response styles: Formality level, verbosity, emoji/humor use
- Pattern extraction methods for all dimensions with confidence scoring
- Lightweight analysis techniques to avoid computational overhead
- Pattern validation with stability tracking and outlier detection
2026-01-28 00:33:38 -05:00
Mai Development
8c58b1d070 feat(04-03): create JSON archival and smart retention systems
- Added ArchivalManager for JSON export/import with gzip compression
- Implemented organized directory structure by year/month
- Added batch archival operations and restore functionality
- Created RetentionPolicy with importance-based scoring
- Smart retention considers engagement, topics, user-marked importance
- MemoryManager integrates compression and archival automatically
- Added automatic compression triggering and archival scheduling
- Comprehensive archival statistics and retention recommendations
- Support for backup integration and restore verification
2026-01-27 23:56:49 -05:00
Mai Development
017df5466d feat(04-03): implement progressive compression engine
- Added CompressionEngine class with 4-tier age-based compression
- 7 days: Full content (no compression)
- 30 days: Key points extraction (70% retention)
- 90 days: Brief summary (40% retention)
- 365+ days: Metadata only
- Hybrid extractive-abstractive summarization with fallbacks
- Compression quality metrics and validation
- Support for missing dependencies (NLTK/transformers)
- Added transformers and nltk to requirements.txt
2026-01-27 23:42:20 -05:00
Mai Development
dd4715643c feat(04-02): implement context-aware and timeline search capabilities
- Completed Task 2: Context-aware and timeline search
- ContextAwareSearch class with topic classification and result prioritization
- TimelineSearch class with date-range filtering and temporal proximity
- Enhanced MemoryManager with unified search interface
- Supports semantic, keyword, context-aware, timeline, and hybrid search
- Added search result dataclasses with relevance scoring
- Integrated all search strategies into MemoryManager.search() method

All search modes operational:
- Semantic search with sentence-transformers embeddings
- Context-aware search with topic-based prioritization
- Timeline search with date filtering and recency weighting
- Hybrid search combining multiple strategies

Search results include conversation context and relevance scoring as required.
2026-01-27 23:25:04 -05:00
Mai Development
b9aba97086 feat(04-02): create semantic search with embedding-based retrieval
- Added sentence-transformers to requirements.txt for semantic embeddings
- Created src/memory/retrieval/ module with search capabilities
- Implemented SemanticSearch class with embedding generation and vector similarity
- Added SearchResult and SearchQuery dataclasses for structured search results
- Included hybrid search combining semantic and keyword matching
- Added conversation indexing for semantic search
- Followed lazy loading pattern for embedding model performance

Files created:
- src/memory/retrieval/__init__.py
- src/memory/retrieval/search_types.py
- src/memory/retrieval/semantic_search.py
- Updated src/memory/__init__.py with enhanced MemoryManager

Note: sentence-transformers installation requires proper venv setup in production
2026-01-27 23:22:50 -05:00
Mai Development
bdba17773c feat(04-01): create memory module structure and SQLite manager
- Created src/memory module with MemoryManager stub
- Created src/memory/storage subpackage
- Implemented SQLiteManager with connection management and thread safety
- Database schema supports conversations, messages, and metadata
- Includes proper indexing and error handling

Schema:
- conversations table: id, title, timestamps, metadata, session stats
- messages table: id, conversation_id, role, content, importance, embedding_ref
- Foreign key constraints and performance indexes
- Thread-local connections with WAL mode for concurrency
2026-01-27 22:50:02 -05:00
Mai Development
1c9764526f feat(03-04): integrate personality with model management
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Added ResourcePersonality import and initialization to ModelManager
- Created personality_aware_model_switch() method for graceful degradation notifications
- Only notifies users about capability downgrades, not upgrades (per requirements)
- Includes optional technical tips for resource optimization
- Updated proactive scaling callbacks to use personality-aware switching
- Enhanced failure handling with personality-driven resource requests
- Added _is_capability_downgrade() helper for capability comparison
2026-01-27 19:04:19 -05:00
Mai Development
dd3a75f0f0 feat(03-04): implement ResourcePersonality with dere-tsun gremlin persona
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created ResourcePersonality class with Drowsy Dere-Tsun Onee-san Hex-Mentor Gremlin personality
- Includes mood system with sleepy, grumpy, helpful, gremlin, and mentor states
- Personality-specific vocabularies for different emotional responses
- Optional technical tips with hexadecimal/coding references
- generate_resource_message() for contextual resource communications
- Support for resource requests, degradation notices, system status, and scaling recommendations
2026-01-27 18:57:13 -05:00
Mai Development
53b8ef7c1b feat(03-03): integrate proactive scaling into ModelManager
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Added ProactiveScaler integration with HardwareTierDetector
- Implemented pre-flight resource checks before model inference
- Enhanced model selection with scaling recommendations
- Added graceful degradation handling for resource constraints
- Integrated performance metrics tracking for scaling decisions
- Added proactive upgrade execution with stabilization periods
- Enhanced status reporting with scaling information
- Maintained silent switching behavior per Phase 1 decisions
2026-01-27 18:47:10 -05:00
Mai Development
4d7749da7b feat(03-03): implement ProactiveScaler class with hybrid monitoring
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created ProactiveScaler class for proactive resource management
- Implemented continuous background monitoring with configurable intervals
- Added pre-flight resource checks before operations
- Implemented graceful degradation cascades with stabilization periods
- Added trend analysis for predictive scaling decisions
- Included hysteresis to prevent model switching thrashing
- Provided callbacks for integration with ModelManager
- Thread-safe implementation with proper shutdown handling
2026-01-27 18:40:58 -05:00
Mai Development
8857ced92a feat(03-02): implement HardwareTierDetector class
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created comprehensive hardware tier detection system
- Loads configurable tier definitions from YAML
- Classifies systems based on RAM, CPU cores, and GPU capabilities
- Provides model recommendations and performance characteristics
- Includes caching for performance and error handling
- Integrates with ResourceMonitor for real-time data
2026-01-27 18:32:07 -05:00
Mai Development
0b4c270632 feat(03-02): create configurable hardware tier definitions
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Added comprehensive tier definitions for low_end, mid_range, high_end
- Configurable thresholds for RAM, CPU cores, GPU requirements
- Model size recommendations per tier (1B-70B parameter range)
- Performance characteristics and scaling thresholds
- Global settings for model selection and scaling behavior
2026-01-27 18:30:42 -05:00
Mai Development
5d93e9715f feat(03-02): create resource module structure
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created src/resource/__init__.py with module docstring
- Exported HardwareTierDetector (to be implemented)
- Established resource management module foundation
2026-01-27 18:29:38 -05:00
Mai Development
0ad2b393a5 perf(03-01): optimize ResourceMonitor performance
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Added caching for GPU info to avoid repeated pynvml initialization
- Added pynvml failure tracking to skip repeated failed attempts
- Optimized CPU measurement interval from 1.0s to 0.05s
- Reduced monitoring overhead from ~1000ms to ~50ms per call
- Maintained accuracy while significantly improving performance
2026-01-27 18:21:01 -05:00
Mai Development
8cf9e9ab04 feat(03-01): enhance ResourceMonitor with pynvml GPU detection
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Added pynvml import with graceful fallback handling
- Enhanced _get_gpu_info() method using pynvml for NVIDIA GPUs
- Added detailed GPU metrics: total/used/free VRAM, utilization, temperature
- Updated get_current_resources() to include comprehensive GPU info
- Maintained backward compatibility with existing gpu_vram_gb field
- Added gpu-tracker fallback for AMD/Intel GPUs
- Proper error handling for pynvml initialization failures
- Ensured pynvmlShutdown() always called in finally-style logic
2026-01-27 18:17:12 -05:00
Mai Development
26a77e612d feat(02-04): Implement safety API interface
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:56:50 -05:00
Mai Development
73155af6be feat(02-04): Create safety coordinator
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:55:07 -05:00
Mai Development
241b9d2dbb feat(02-03): Implement audit logging interface with comprehensive security event methods
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:44:28 -05:00
Mai Development
7ab8e7a983 feat(02-03): Create tamper-proof audit logger with SHA-256 hash chains
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:42:03 -05:00
Mai Development
9b79107fb3 feat(02-02): Implement sandbox execution interface
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:36:58 -05:00
Mai Development
c254e1df30 feat(02-02): Create Docker sandbox manager
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:36:47 -05:00
Mai Development
93c26aaf6b feat(02-01): create security assessment module
Some checks failed
Discord Webhook / git (push) Has been cancelled
2026-01-27 15:29:56 -05:00
Mai Development
5297df81fb feat(01-03): create CLI entry point for testing
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Implement __main__.py with argparse command-line interface
- Add interactive chat loop for testing model switching
- Include status commands to show current model and resources
- Support models listing and manual model switching
- Add proper signal handling for graceful shutdown
- Include help text and usage examples
- Fix import issues for relative imports in package
2026-01-27 12:33:50 -05:00
Mai Development
24ae542a25 feat(01-03): create core Mai orchestration class
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Initialize ModelManager, ContextManager, and subsystems
- Provide main conversation interface with process_message
- Support both synchronous and async operations
- Add system status monitoring and conversation history
- Include graceful shutdown with signal handlers
- Background resource monitoring and maintenance tasks
- Model switching commands and information methods
2026-01-27 12:26:02 -05:00
Mai Development
0b7b527d33 feat(01-03): implement ModelManager with intelligent switching
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Load model configuration from config/models.yaml
- Intelligent model selection based on system resources and context
- Dynamic model switching with silent behavior (no user notifications)
- Fallback chains for model failures
- Proper resource cleanup and error handling
- Background preloading capability
- Auto-retry on model failures with graceful degradation
2026-01-27 12:23:52 -05:00
Mai Development
7bbf5e17f1 fix(01-02): correct ConversationMetadata import and initialization
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Add ConversationMetadata to imports
- Fix metadata initialization in create_conversation()
- Resolve type error for conversation metadata

File: src/models/context_manager.py
2026-01-27 12:12:36 -05:00
Mai Development
ef2eba2a3f feat(01-02): implement context manager with intelligent compression
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Create ContextManager class for conversation history management
- Implement hybrid compression strategy at 70% threshold
- Add message importance scoring for selective retention
- Support system message preservation during compression
- Include conversation statistics and session management
- Provide context retrieval with token limit enforcement

Key methods:
- add_message(): Add messages and trigger compression when needed
- get_context_for_model(): Retrieve context within token limits
- compress_conversation(): Apply hybrid compression preserving important messages
- get_conversation_summary(): Generate conversation summaries

File: src/models/context_manager.py (320 lines)
2026-01-27 12:09:23 -05:00
Mai Development
221717d3a3 feat(01-02): create conversation data structures
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Define Message, Conversation, ContextBudget, and ContextWindow classes
- Implement MessageRole and MessageType enums for classification
- Add Pydantic models for validation and serialization
- Include importance scoring and token estimation utilities
- Support system, user, assistant, and tool message types

File: src/models/conversation.py (147 lines)
2026-01-27 12:07:29 -05:00
Mai Development
e6f072a6c7 feat(01-01): implement system resource monitoring
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created ResourceMonitor class with psutil integration
- Monitor CPU usage, memory availability, and GPU VRAM
- Added resource trend analysis for load prediction
- Implemented should_switch_model() logic based on thresholds
- Added can_load_model() method with safety margins
- Follow Pattern 2 from research: Resource-Aware Model Selection
- Graceful handling of missing gpu-tracker dependency
2026-01-27 12:00:06 -05:00
Mai Development
f5ffb7255e feat(01-01): implement LM Studio adapter with model discovery
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created LMStudioAdapter class using lmstudio-python SDK
- Added context manager get_client() for safe client handling
- Implemented list_available_models() with size estimation
- Added load_model(), unload_model(), get_model_info() methods
- Created mock_lmstudio.py for graceful fallback when lmstudio not installed
- Included error handling for LM Studio not running and model loading failures
- Implemented Pattern 1 from research: Model Client Factory
2026-01-27 11:59:48 -05:00
Mai Development
de6058f109 feat(01-01): create Python project foundation with dependencies
Some checks failed
Discord Webhook / git (push) Has been cancelled
- Created pyproject.toml with lmstudio, psutil, pydantic dependencies
- Created requirements.txt as fallback for pip install
- Created src/models/__init__.py with proper imports
- Set up PEP 518 compliant package structure
- Fixed .gitignore to allow src/models/ directory
2026-01-27 11:59:37 -05:00
Mai Development
c70ee8816e Complete fresh slate 2026-01-26 22:43:41 -05:00
Mai Development
7c98aec306 Initial commit: Clean slate for Mai project 2026-01-26 22:40:49 -05:00