Files
daily-journal-prompt/AGENTS.md

100 lines
4.0 KiB
Markdown
Raw Normal View History

2026-01-03 00:20:26 -07:00
# 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.
2026-01-02 23:35:34 -07:00
---
# 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.