4.0 KiB
4.0 KiB
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 toJournalPromptGeneratorclass - 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:
-
- Draw prompts from pool (no API call)
-
- Fill prompt pool using API
-
- View combined statistics (replaces separate pool and history stats)
-
- Exit
-
- Updated menu handling logic to use the new combined stats function
3. Updated Command-Line Arguments
- Removed
--pool-statsargument - Updated
--statsargument 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
--statscommand-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.txtprompt template - Sends historic prompts to AI API for analysis
- INCLUDES current feedback words from
feedback_words.jsonin the API payload - Receives 6 theme words as JSON response
- Parses and validates the response
- Loads
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:
-
- Draw prompts from pool (no API call)
-
- Fill prompt pool using API
-
- View combined statistics
-
- Generate and rate theme feedback words (NEW)
-
- 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.txtfile 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:
- Makes an API call with historic prompts and
ds_feedback.txttemplate - Receives 6 theme words from the AI
- Collects user ratings (0-6) for each word
- Updates
feedback_words.jsonwith the new ratings - Integrates the feedback into future prompt generation
The implementation maintains backward compatibility while adding valuable feedback functionality to improve prompt generation quality over time.