100 lines
4.0 KiB
Markdown
100 lines
4.0 KiB
Markdown
# 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
|
|
- **INCLUDES current feedback words from `feedback_words.json` in the API payload**
|
|
- 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.
|
|
|