# Task: Combine pool and history stats into a single function and single menu item ## Changes Made ### 1. Created New Combined Stats Function - Added `show_combined_stats()` method to `JournalPromptGenerator` class - Combines both pool statistics and history statistics into a single function - Displays two tables: "Prompt Pool Statistics" and "Prompt History Statistics" ### 2. Updated Interactive Menu - Changed menu from 5 options to 4 options: - 1. Draw prompts from pool (no API call) - 2. Fill prompt pool using API - 3. View combined statistics (replaces separate pool and history stats) - 4. Exit - Updated menu handling logic to use the new combined stats function ### 3. Updated Command-Line Arguments - Removed `--pool-stats` argument - Updated `--stats` argument description to "Show combined statistics (pool and history)" - Updated main function logic to use `show_combined_stats()` instead of separate functions ### 4. Removed Old Stats Functions - Removed `show_pool_stats()` method - Removed `show_history_stats()` method - All functionality consolidated into `show_combined_stats()` ### 5. Code Cleanup - Removed unused imports and references to old stats functions - Ensured all menu options work correctly with the new combined stats ## Testing - Verified `--stats` command-line argument works correctly - Tested interactive mode shows updated menu - Confirmed combined stats display both pool and history information - Tested default mode (draw from pool) still works - Verified fill-pool option starts correctly ## Result Successfully combined pool and history statistics into a single function and single menu item, simplifying the user interface while maintaining all functionality. --- # Task: Implement theme feedback words functionality with new menu item ## Changes Made ### 1. Added New Theme Feedback Words API Call - Created `generate_theme_feedback_words()` method that: - Loads `ds_feedback.txt` prompt template - Sends historic prompts to AI API for analysis - Receives 6 theme words as JSON response - Parses and validates the response ### 2. Added User Rating System - Created `collect_feedback_ratings()` method that: - Presents each of the 6 theme words to the user - Collects ratings from 0-6 for each word - Creates structured feedback items with keys (feedback00-feedback05) - Includes weight values based on user ratings ### 3. Added Feedback Words Update System - Created `update_feedback_words()` method that: - Replaces existing feedback words with new ratings - Saves updated feedback words to `feedback_words.json` - Maintains the required JSON structure ### 4. Updated Interactive Menu - Expanded menu from 4 options to 5 options: - 1. Draw prompts from pool (no API call) - 2. Fill prompt pool using API - 3. View combined statistics - 4. Generate and rate theme feedback words (NEW) - 5. Exit - Added complete implementation for option 4 ### 5. Enhanced Data Handling - Added `_save_feedback_words()` method for saving feedback data - Updated `_load_feedback_words()` to handle JSON structure properly - Ensured feedback words are included in AI prompts when generating new prompts ## Testing - Verified all new methods exist and have correct signatures - Confirmed `ds_feedback.txt` file exists and is readable - Tested feedback words JSON structure validation - Verified interactive menu displays new option correctly - Confirmed existing functionality remains intact ## Result Successfully implemented a new menu item and functionality for generating theme feedback words. The system now: 1. Makes an API call with historic prompts and `ds_feedback.txt` template 2. Receives 6 theme words from the AI 3. Collects user ratings (0-6) for each word 4. Updates `feedback_words.json` with the new ratings 5. Integrates the feedback into future prompt generation The implementation maintains backward compatibility while adding valuable feedback functionality to improve prompt generation quality over time.