webapp start
This commit is contained in:
6
.gitignore
vendored
6
.gitignore
vendored
@@ -1,6 +1,6 @@
|
||||
.env
|
||||
venv
|
||||
__pycache__
|
||||
historic_prompts.json
|
||||
pool_prompts.json
|
||||
feedback_words.json
|
||||
#historic_prompts.json
|
||||
#pool_prompts.json
|
||||
#feedback_words.json
|
||||
|
||||
164
AGENTS.md
164
AGENTS.md
@@ -1,163 +1 @@
|
||||
# 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.
|
||||
|
||||
Too many tests, so I moved all of them into the tests directory.
|
||||
|
||||
---
|
||||
|
||||
# Task: Implement feedback_historic.json cyclic buffer system (30 items)
|
||||
|
||||
## Changes Made
|
||||
|
||||
### 1. Added Feedback Historic System
|
||||
- Created `feedback_historic.json` file to store previous feedback words (without weights)
|
||||
- Implemented a cyclic buffer system with 30-item capacity (feedback00-feedback29)
|
||||
- When new feedback is generated (6 words), they become feedback00-feedback05
|
||||
- All existing items shift down by 6 positions
|
||||
- Items beyond feedback29 are discarded
|
||||
|
||||
### 2. Updated Class Initialization
|
||||
- Added `feedback_historic` attribute to `JournalPromptGenerator` class
|
||||
- Updated `__init__` method to load `feedback_historic.json`
|
||||
- Added `_load_feedback_historic()` method to load historic feedback words
|
||||
- Added `_save_feedback_historic()` method to save historic feedback words (keeping only first 30)
|
||||
|
||||
### 3. Enhanced Feedback Words Management
|
||||
- Updated `add_feedback_words_to_history()` method to:
|
||||
- Extract just the words from current feedback words (no weights)
|
||||
- Add 6 new words to the historic buffer
|
||||
- Shift all existing words down by 6 positions
|
||||
- Maintain 30-item limit by discarding oldest items
|
||||
- Updated `update_feedback_words()` to automatically call `add_feedback_words_to_history()`
|
||||
|
||||
### 4. Improved AI Prompt Generation
|
||||
- Updated `generate_theme_feedback_words()` method to include historic feedback words in API call
|
||||
- The prompt now includes three sections:
|
||||
1. Previous prompts (historic prompts)
|
||||
2. Current feedback themes (with weights)
|
||||
3. Historic feedback themes (just words, no weights)
|
||||
- This helps the AI avoid repeating previously used theme words
|
||||
|
||||
### 5. Data Structure Design
|
||||
- Historic feedback words are stored as a list of dictionaries with keys (feedback00, feedback01, etc.)
|
||||
- Each dictionary contains only the word (no weight field)
|
||||
- Structure mirrors `prompts_historic.json` but for feedback words
|
||||
- 30-item limit provides sufficient history while preventing excessive repetition
|
||||
|
||||
## Testing
|
||||
- Created comprehensive test to verify cyclic buffer functionality
|
||||
- Tested that new items are added at the beginning (feedback00-feedback05)
|
||||
- Verified that existing items shift down correctly
|
||||
- Confirmed 30-item limit is enforced (oldest items are dropped)
|
||||
- Tested that historic feedback words are included in AI prompts
|
||||
- Verified that weights are not stored in historic buffer (only words)
|
||||
|
||||
## Result
|
||||
Successfully implemented a feedback historic cyclic buffer system that:
|
||||
1. Stores previous feedback words in `feedback_historic.json` (30-item limit)
|
||||
2. Automatically adds new feedback words to history when they are updated
|
||||
3. Includes historic feedback words in AI prompts to avoid repetition
|
||||
4. Maintains consistent data structure with the rest of the system
|
||||
5. Provides a memory of previous theme words to improve AI suggestions over time
|
||||
|
||||
The system now has a complete feedback loop where:
|
||||
- Historic prompts and feedback words inform new theme word generation
|
||||
- New theme words are rated by users and become current feedback words
|
||||
- Current feedback words are added to the historic buffer
|
||||
- Historic feedback words help avoid repetition in future theme word generation
|
||||
Empty AGENTS.md for planning webapp
|
||||
|
||||
Reference in New Issue
Block a user