Merge pull request 'feedbacksteering' (#2) from feedbacksteering into master
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
99
AGENTS.md
99
AGENTS.md
@@ -1 +1,100 @@
|
||||
# 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.
|
||||
|
||||
14
baseline_files/ds_feedback.txt
Normal file
14
baseline_files/ds_feedback.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Request for generation of writing prompts for journaling
|
||||
|
||||
Payload:
|
||||
The previous 60 prompts have been provided as a JSON array for reference.
|
||||
|
||||
Guidelines:
|
||||
Using the attached JSON of writing prompts, you should try to pick out four unique and intentionally vague single-word themes that apply to some portion of the list.
|
||||
Then add two more single word themes that are fairly different from the other four for a total of six words.
|
||||
|
||||
Expected Output:
|
||||
Output as a JSON list with just the six words, in lowercase.
|
||||
Despite the provided history being a keyed list or dictionary, the expected return JSON will be a simple list with no keys.
|
||||
Respond ONLY with valid JSON. No explanations, no markdown, no backticks.
|
||||
|
||||
26
baseline_files/feedback_words.json
Normal file
26
baseline_files/feedback_words.json
Normal file
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"feedback00": "memory",
|
||||
"weight": 3
|
||||
},
|
||||
{
|
||||
"feedback01": "reflection",
|
||||
"weight": 4
|
||||
},
|
||||
{
|
||||
"feedback02": "perspective",
|
||||
"weight": 1
|
||||
},
|
||||
{
|
||||
"feedback03": "ritual",
|
||||
"weight": 6
|
||||
},
|
||||
{
|
||||
"feedback04": "invention",
|
||||
"weight": 6
|
||||
},
|
||||
{
|
||||
"feedback05": "solitude",
|
||||
"weight": 6
|
||||
}
|
||||
]
|
||||
18
ds_feedback.txt
Normal file
18
ds_feedback.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Request for generation of writing prompts for journaling
|
||||
|
||||
Payload:
|
||||
The previous 60 prompts have been provided as a JSON array for reference.
|
||||
The previous 6 feedback themes have been provided. You will not re-use any of these most-recently used words here.
|
||||
|
||||
Guidelines:
|
||||
Using the attached JSON of writing prompts, you should try to pick out 4 unique and intentionally vague single-word themes that apply to some portion of the list. They can range from common to uncommon words.
|
||||
Then add 2 more single word divergent themes that are less related to the historic prompts and are somewhat different from the other 4 for a total of 6 words.
|
||||
These 2 divergent themes give the user the option to steer away from existing themes.
|
||||
Examples for the divergent themes could be the option to add a theme like technology when the other themes are related to beauty, or mortality when the other themes are very positive.
|
||||
Be creative, don't just use my example. A high temperature AI request is preferred in both divergent themes and derivative themes.
|
||||
|
||||
Expected Output:
|
||||
Output as a JSON list with just the six words, in lowercase.
|
||||
Despite the provided history being a keyed list or dictionary, the expected return JSON will be a simple list with no keys.
|
||||
Respond ONLY with valid JSON. No explanations, no markdown, no backticks.
|
||||
|
||||
@@ -2,6 +2,7 @@ Request for generation of writing prompts for journaling
|
||||
|
||||
Payload:
|
||||
The previous 60 prompts have been provided as a JSON array for reference.
|
||||
Some vague feedback themes have been provided, each having a weight value from 0 to 6.
|
||||
|
||||
Guidelines:
|
||||
Please generate some number of individual writing prompts in English following these guidelines.
|
||||
@@ -13,6 +14,11 @@ The provided history brackets two mechanisms.
|
||||
The history will allow for reducing repetition, however some thematic overlap is acceptable. Try harder to avoid overlap with lower indices in the array.
|
||||
As the user discards prompts, the themes will be very slowly steered, so it's okay to take some inspiration from the history.
|
||||
|
||||
Feedback Themes:
|
||||
A JSON of single-word feedback themes is provided with each having a weight value from 0 to 6.
|
||||
Consider these weighted themes only rarely when creating a new writing prompt. Most prompts should be created with full creative freedom.
|
||||
Only gently influence writing prompts with these. It is better to have all generated prompts ignore a theme than have many reference a theme overtly.
|
||||
|
||||
Expected Output:
|
||||
Output as a JSON list with the requested number of elements.
|
||||
Despite the provided history being a keyed list or dictionary, the expected return JSON will be a simple list with no keys.
|
||||
|
||||
26
feedback_words.json
Normal file
26
feedback_words.json
Normal file
@@ -0,0 +1,26 @@
|
||||
[
|
||||
{
|
||||
"feedback00": "echo",
|
||||
"weight": 3
|
||||
},
|
||||
{
|
||||
"feedback01": "artifact",
|
||||
"weight": 3
|
||||
},
|
||||
{
|
||||
"feedback02": "velocity",
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"feedback03": "syntax",
|
||||
"weight": 0
|
||||
},
|
||||
{
|
||||
"feedback04": "divergence",
|
||||
"weight": 6
|
||||
},
|
||||
{
|
||||
"feedback05": "oblivion",
|
||||
"weight": 6
|
||||
}
|
||||
]
|
||||
@@ -30,6 +30,7 @@ class JournalPromptGenerator:
|
||||
self.client = None
|
||||
self.historic_prompts = []
|
||||
self.pool_prompts = []
|
||||
self.feedback_words = []
|
||||
self.prompt_template = ""
|
||||
self.settings = {}
|
||||
|
||||
@@ -41,6 +42,7 @@ class JournalPromptGenerator:
|
||||
self._load_prompt_template()
|
||||
self._load_historic_prompts()
|
||||
self._load_pool_prompts()
|
||||
self._load_feedback_words()
|
||||
|
||||
def _load_config(self):
|
||||
"""Load configuration from environment file."""
|
||||
@@ -150,6 +152,23 @@ class JournalPromptGenerator:
|
||||
self.console.print("[yellow]Warning: pool_prompts.json is corrupted, starting with empty pool[/yellow]")
|
||||
self.pool_prompts = []
|
||||
|
||||
def _load_feedback_words(self):
|
||||
"""Load feedback words from JSON file."""
|
||||
try:
|
||||
with open("feedback_words.json", "r") as f:
|
||||
self.feedback_words = json.load(f)
|
||||
except FileNotFoundError:
|
||||
self.console.print("[yellow]Warning: feedback_words.json not found, starting with empty feedback words[/yellow]")
|
||||
self.feedback_words = []
|
||||
except json.JSONDecodeError:
|
||||
self.console.print("[yellow]Warning: feedback_words.json is corrupted, starting with empty feedback words[/yellow]")
|
||||
self.feedback_words = []
|
||||
|
||||
def _save_feedback_words(self):
|
||||
"""Save feedback words to JSON file."""
|
||||
with open("feedback_words.json", "w") as f:
|
||||
json.dump(self.feedback_words, f, indent=2)
|
||||
|
||||
def _save_pool_prompts(self):
|
||||
"""Save pool prompts to JSON file."""
|
||||
with open("pool_prompts.json", "w") as f:
|
||||
@@ -186,22 +205,6 @@ class JournalPromptGenerator:
|
||||
return drawn_prompts
|
||||
|
||||
|
||||
def show_pool_stats(self):
|
||||
"""Show statistics about the prompt pool."""
|
||||
total_prompts = len(self.pool_prompts)
|
||||
|
||||
table = Table(title="Prompt Pool Statistics")
|
||||
table.add_column("Metric", style="cyan")
|
||||
table.add_column("Value", style="green")
|
||||
|
||||
table.add_row("Prompts in pool", str(total_prompts))
|
||||
table.add_row("Prompts per session", str(self.settings['num_prompts']))
|
||||
table.add_row("Target pool size", str(self.settings['cached_pool_volume']))
|
||||
table.add_row("Available sessions", str(total_prompts // self.settings['num_prompts']))
|
||||
|
||||
self.console.print(table)
|
||||
|
||||
|
||||
def add_prompt_to_history(self, prompt_text: str):
|
||||
"""
|
||||
Add a single prompt to the historic prompts cyclic buffer.
|
||||
@@ -243,6 +246,11 @@ class JournalPromptGenerator:
|
||||
else:
|
||||
full_prompt = self.prompt_template
|
||||
|
||||
# Add feedback words if available
|
||||
if self.feedback_words:
|
||||
feedback_context = json.dumps(self.feedback_words, indent=2)
|
||||
full_prompt = f"{full_prompt}\n\nFeedback words:\n{feedback_context}"
|
||||
|
||||
return full_prompt
|
||||
|
||||
def _parse_ai_response(self, response_content: str) -> List[str]:
|
||||
@@ -439,6 +447,11 @@ class JournalPromptGenerator:
|
||||
else:
|
||||
full_prompt = f"{template}\n\n{prompt_instruction}"
|
||||
|
||||
# Add feedback words if available
|
||||
if self.feedback_words:
|
||||
feedback_context = json.dumps(self.feedback_words, indent=2)
|
||||
full_prompt = f"{full_prompt}\n\nFeedback words:\n{feedback_context}"
|
||||
|
||||
return full_prompt
|
||||
|
||||
def _parse_ai_response_with_count(self, response_content: str, expected_count: int) -> List[str]:
|
||||
@@ -520,6 +533,154 @@ class JournalPromptGenerator:
|
||||
self.console.print("[red]Failed to generate prompts[/red]")
|
||||
return 0
|
||||
|
||||
def generate_theme_feedback_words(self) -> List[str]:
|
||||
"""Generate 6 theme feedback words using AI based on historic prompts."""
|
||||
self.console.print("\n[cyan]Generating theme feedback words based on historic prompts...[/cyan]")
|
||||
|
||||
# Load the feedback prompt template
|
||||
try:
|
||||
with open("ds_feedback.txt", "r") as f:
|
||||
feedback_template = f.read()
|
||||
except FileNotFoundError:
|
||||
self.console.print("[red]Error: ds_feedback.txt not found[/red]")
|
||||
return []
|
||||
|
||||
# Prepare the full prompt with historic context and feedback words
|
||||
if self.historic_prompts:
|
||||
historic_context = json.dumps(self.historic_prompts, indent=2)
|
||||
full_prompt = f"{feedback_template}\n\nPrevious prompts:\n{historic_context}"
|
||||
|
||||
# Add feedback words if available
|
||||
if self.feedback_words:
|
||||
feedback_context = json.dumps(self.feedback_words, indent=2)
|
||||
full_prompt = f"{full_prompt}\n\nPrevious feedback themes:\n{feedback_context}"
|
||||
else:
|
||||
self.console.print("[yellow]Warning: No historic prompts available for feedback analysis[/yellow]")
|
||||
return []
|
||||
|
||||
# Show progress
|
||||
with Progress(
|
||||
SpinnerColumn(),
|
||||
TextColumn("[progress.description]{task.description}"),
|
||||
transient=True,
|
||||
) as progress:
|
||||
task = progress.add_task("Calling AI API for theme analysis...", total=None)
|
||||
|
||||
try:
|
||||
# Call the AI API
|
||||
response = self.client.chat.completions.create(
|
||||
model=self.model,
|
||||
messages=[
|
||||
{"role": "system", "content": "You are a creative writing assistant that analyzes writing prompts. Always respond with valid JSON."},
|
||||
{"role": "user", "content": full_prompt}
|
||||
],
|
||||
temperature=0.7,
|
||||
max_tokens=1000
|
||||
)
|
||||
|
||||
response_content = response.choices[0].message.content
|
||||
|
||||
except Exception as e:
|
||||
self.console.print(f"[red]Error calling AI API: {e}[/red]")
|
||||
self.console.print(f"[yellow]Full prompt sent to API (first 500 chars):[/yellow]")
|
||||
self.console.print(f"[yellow]{full_prompt[:500]}...[/yellow]")
|
||||
return []
|
||||
|
||||
# Parse the response to get 6 theme words
|
||||
theme_words = self._parse_theme_words_response(response_content)
|
||||
|
||||
if not theme_words or len(theme_words) != 6:
|
||||
self.console.print(f"[red]Error: Expected 6 theme words, got {len(theme_words) if theme_words else 0}[/red]")
|
||||
return []
|
||||
|
||||
return theme_words
|
||||
|
||||
def _parse_theme_words_response(self, response_content: str) -> List[str]:
|
||||
"""
|
||||
Parse the AI response to extract 6 theme words.
|
||||
Expected format: JSON list of 6 lowercase words.
|
||||
"""
|
||||
# First, try to clean up the response content
|
||||
cleaned_content = self._clean_ai_response(response_content)
|
||||
|
||||
try:
|
||||
# Try to parse as JSON
|
||||
data = json.loads(cleaned_content)
|
||||
|
||||
# Check if data is a list
|
||||
if isinstance(data, list):
|
||||
# Ensure all items are strings and lowercase them
|
||||
theme_words = []
|
||||
for word in data:
|
||||
if isinstance(word, str):
|
||||
theme_words.append(word.lower().strip())
|
||||
else:
|
||||
theme_words.append(str(word).lower().strip())
|
||||
|
||||
return theme_words
|
||||
else:
|
||||
self.console.print(f"[yellow]Warning: AI returned unexpected data type: {type(data)}[/yellow]")
|
||||
return []
|
||||
|
||||
except json.JSONDecodeError:
|
||||
# If not valid JSON, try to extract words from text
|
||||
self.console.print("[yellow]Warning: AI response is not valid JSON, attempting to extract theme words...[/yellow]")
|
||||
|
||||
# Look for patterns in the text
|
||||
lines = response_content.strip().split('\n')
|
||||
theme_words = []
|
||||
|
||||
for line in lines:
|
||||
line = line.strip()
|
||||
if line and len(line) < 50: # Theme words should be short
|
||||
# Try to extract words (lowercase, no punctuation)
|
||||
words = [w.lower().strip('.,;:!?()[]{}"\'') for w in line.split()]
|
||||
theme_words.extend(words)
|
||||
|
||||
if len(theme_words) >= 6:
|
||||
break
|
||||
|
||||
return theme_words[:6]
|
||||
|
||||
def collect_feedback_ratings(self, theme_words: List[str]) -> List[Dict[str, Any]]:
|
||||
"""Collect user ratings (0-6) for each theme word and return structured feedback."""
|
||||
self.console.print("\n[bold]Please rate each theme word from 0 to 6:[/bold]")
|
||||
self.console.print("[dim]0 = Not relevant, 6 = Very relevant[/dim]\n")
|
||||
|
||||
feedback_items = []
|
||||
|
||||
for i, word in enumerate(theme_words):
|
||||
while True:
|
||||
try:
|
||||
rating = Prompt.ask(
|
||||
f"[bold]Word {i+1}: {word}[/bold]",
|
||||
choices=[str(x) for x in range(0, 7)], # 0-6 inclusive
|
||||
default="3"
|
||||
)
|
||||
rating_int = int(rating)
|
||||
|
||||
if 0 <= rating_int <= 6:
|
||||
# Create feedback item with key (feedback00, feedback01, etc.)
|
||||
feedback_key = f"feedback{i:02d}"
|
||||
feedback_items.append({
|
||||
feedback_key: word,
|
||||
"weight": rating_int
|
||||
})
|
||||
break
|
||||
else:
|
||||
self.console.print("[yellow]Please enter a number between 0 and 6[/yellow]")
|
||||
except ValueError:
|
||||
self.console.print("[yellow]Please enter a valid number[/yellow]")
|
||||
|
||||
return feedback_items
|
||||
|
||||
def update_feedback_words(self, new_feedback_items: List[Dict[str, Any]]):
|
||||
"""Update feedback words with new ratings."""
|
||||
# Replace existing feedback words with new ones
|
||||
self.feedback_words = new_feedback_items
|
||||
self._save_feedback_words()
|
||||
self.console.print(f"[green]Updated feedback words with {len(new_feedback_items)} items[/green]")
|
||||
|
||||
def display_prompts(self, prompts: List[str]):
|
||||
"""Display generated prompts in a nice format."""
|
||||
self.console.print("\n" + "="*60)
|
||||
@@ -537,19 +698,33 @@ class JournalPromptGenerator:
|
||||
self.console.print(panel)
|
||||
self.console.print() # Empty line between prompts
|
||||
|
||||
def show_history_stats(self):
|
||||
"""Show statistics about prompt history."""
|
||||
total_prompts = len(self.historic_prompts)
|
||||
def show_combined_stats(self):
|
||||
"""Show combined statistics about both prompt pool and history."""
|
||||
# Pool statistics
|
||||
total_pool_prompts = len(self.pool_prompts)
|
||||
pool_table = Table(title="Prompt Pool Statistics")
|
||||
pool_table.add_column("Metric", style="cyan")
|
||||
pool_table.add_column("Value", style="green")
|
||||
|
||||
table = Table(title="Prompt History Statistics")
|
||||
table.add_column("Metric", style="cyan")
|
||||
table.add_column("Value", style="green")
|
||||
pool_table.add_row("Prompts in pool", str(total_pool_prompts))
|
||||
pool_table.add_row("Prompts per session", str(self.settings['num_prompts']))
|
||||
pool_table.add_row("Target pool size", str(self.settings['cached_pool_volume']))
|
||||
pool_table.add_row("Available sessions", str(total_pool_prompts // self.settings['num_prompts']))
|
||||
|
||||
table.add_row("Total prompts in history", str(total_prompts))
|
||||
table.add_row("History capacity", "60 prompts")
|
||||
table.add_row("Available slots", str(max(0, 60 - total_prompts)))
|
||||
# History statistics
|
||||
total_history_prompts = len(self.historic_prompts)
|
||||
history_table = Table(title="Prompt History Statistics")
|
||||
history_table.add_column("Metric", style="cyan")
|
||||
history_table.add_column("Value", style="green")
|
||||
|
||||
self.console.print(table)
|
||||
history_table.add_row("Total prompts in history", str(total_history_prompts))
|
||||
history_table.add_row("History capacity", "60 prompts")
|
||||
history_table.add_row("Available slots", str(max(0, 60 - total_history_prompts)))
|
||||
|
||||
# Display both tables
|
||||
self.console.print(pool_table)
|
||||
self.console.print() # Empty line between tables
|
||||
self.console.print(history_table)
|
||||
|
||||
def interactive_mode(self):
|
||||
"""Run in interactive mode with user prompts."""
|
||||
@@ -575,8 +750,8 @@ class JournalPromptGenerator:
|
||||
self.console.print("\n[bold]Options:[/bold]")
|
||||
self.console.print("1. Draw prompts from pool (no API call)")
|
||||
self.console.print("2. Fill prompt pool using API")
|
||||
self.console.print("3. View pool statistics")
|
||||
self.console.print("4. View history statistics")
|
||||
self.console.print("3. View combined statistics")
|
||||
self.console.print("4. Generate and rate theme feedback words")
|
||||
self.console.print("5. Exit")
|
||||
|
||||
choice = Prompt.ask("\nEnter your choice", choices=["1", "2", "3", "4", "5"], default="1")
|
||||
@@ -610,10 +785,16 @@ class JournalPromptGenerator:
|
||||
self.console.print("[yellow]No prompts were added to pool[/yellow]")
|
||||
|
||||
elif choice == "3":
|
||||
self.show_pool_stats()
|
||||
self.show_combined_stats()
|
||||
|
||||
elif choice == "4":
|
||||
self.show_history_stats()
|
||||
# Generate and rate theme feedback words
|
||||
theme_words = self.generate_theme_feedback_words()
|
||||
if theme_words:
|
||||
feedback_items = self.collect_feedback_ratings(theme_words)
|
||||
self.update_feedback_words(feedback_items)
|
||||
else:
|
||||
self.console.print("[yellow]No theme words were generated[/yellow]")
|
||||
|
||||
elif choice == "5":
|
||||
self.console.print("[green]Goodbye! Happy journaling! 📓[/green]")
|
||||
@@ -636,12 +817,7 @@ def main():
|
||||
parser.add_argument(
|
||||
"--stats", "-s",
|
||||
action="store_true",
|
||||
help="Show history statistics"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--pool-stats", "-p",
|
||||
action="store_true",
|
||||
help="Show pool statistics"
|
||||
help="Show combined statistics (pool and history)"
|
||||
)
|
||||
parser.add_argument(
|
||||
"--fill-pool", "-f",
|
||||
@@ -655,9 +831,7 @@ def main():
|
||||
generator = JournalPromptGenerator(config_path=args.config)
|
||||
|
||||
if args.stats:
|
||||
generator.show_history_stats()
|
||||
elif args.pool_stats:
|
||||
generator.show_pool_stats()
|
||||
generator.show_combined_stats()
|
||||
elif args.fill_pool:
|
||||
# Fill prompt pool to target volume using API
|
||||
total_added = generator.fill_pool_to_target()
|
||||
|
||||
@@ -1,182 +1,182 @@
|
||||
[
|
||||
{
|
||||
"prompt00": "You are tasked with designing a new public holiday that addresses a modern need for connection or reflection. What is its name, and on what date does it fall? Describe its rituals, symbols, and traditional foods. How do people prepare for it, and what activities are encouraged or forbidden? Write a personal account of experiencing this holiday for the first time, focusing on the emotions it evokes and the societal gaps it aims to fill."
|
||||
"prompt00": "Recall a piece of art\u2014a painting, song, film\u2014that initially confused or repelled you, but that you later came to appreciate or love. Describe your first, negative reaction in detail. Then, trace the journey to understanding. What changed in you or your context that allowed a new interpretation? Write about the value of sitting with discomfort and the rewards of having your internal syntax for beauty challenged and expanded."
|
||||
},
|
||||
{
|
||||
"prompt01": "Choose a street you walk down often. Today, walk it with the mission of noticing five things you've never seen before. They can be tiny: a crack in the pavement shaped like a continent, a particular stain on a wall, a hidden doorbell. Document each discovery in detail. Then, reflect on the phenomenon of selective attention. What had you been filtering out, and why? How does this exercise change your sense of the familiar path?"
|
||||
"prompt01": "Imagine your life as a vast, intricate tapestry. Describe the overall scene it depicts. Now, find a single, loose thread\u2014a small regret, an unresolved question, a path not taken. Write about gently pulling on that thread. What part of the tapestry begins to unravel? What new pattern or image is revealed\u2014or destroyed\u2014by following this divergence? Is the act one of repair or deconstruction?"
|
||||
},
|
||||
{
|
||||
"prompt02": "Imagine you could host a dinner party for three fictional characters from different books, films, or myths. Who would you invite and why? Don't just list them. Set the scene: the table setting, the menu, the lighting. Write the conversation that unfolds. What would they argue about? What surprising common ground might they find? How would their presence challenge or affirm your own worldview? Let the dialogue reveal their core natures."
|
||||
"prompt02": "Recall a dream that felt more real than waking life. Describe its internal logic, its emotional palette, and its lingering aftertaste. Now, write a 'practical guide' for navigating that specific dreamscape, as if for a tourist. What are the rules? What should one avoid? What treasures might be found? By treating the dream as a tangible place, what insights do you gain about the concerns of your subconscious?"
|
||||
},
|
||||
{
|
||||
"prompt03": "Describe a taste you loved as a child but have since grown indifferent to or now dislike. Recreate the sensory memory of that taste with precision. What was its context? Who was with you? Now, analyze the shift. Did your palate change, or did the associations sour? Is there a way to reclaim the innocent pleasure of that taste, or is its loss a necessary marker of growing up? Explore the nostalgia and slight grief in outgrowing a flavor."
|
||||
"prompt03": "Describe a public space you frequent (a library, a cafe, a park) at the exact moment it opens or closes. Capture the transition from emptiness to potential, or from activity to stillness. Focus on the staff or custodians who facilitate this transition\u2014the unseen architects of these daily cycles. Write from the perspective of the space itself as it breathes in or out its human occupants. What residue of the day does it hold in the quiet?"
|
||||
},
|
||||
{
|
||||
"prompt04": "Contemplate the concept of 'waste' in your daily life. Choose one item destined for the trash or recycling. Trace its journey backwards from your hand to its origins as raw material. Then, project its journey forward after it leaves your custody. What systems does it touch? What hands might process it? Write a biography of this discarded object, granting it dignity and narrative. How does this perspective alter your sense of responsibility and connection?"
|
||||
"prompt04": "Listen to a piece of music you know well, but focus exclusively on a single instrument or voice that usually resides in the background. Follow its thread through the entire composition. Describe its journey: when does it lead, when does it harmonize, when does it fall silent? Now, write a short story where this supporting element is the main character. How does shifting your auditory focus create a new narrative from familiar material?"
|
||||
},
|
||||
{
|
||||
"prompt05": "Invent a small, personal ritual you could perform to mark the transition from one part of your day to another (e.g., work to home, waking to activity). Describe each step with deliberate, sensory care. What object is involved? What words, if any, are said? How does your posture change? The goal isn't superstition, but mindfulness. Write about performing this ritual for a week. What subtle shifts in your awareness might it create? How does deliberately carving out a threshold affect your experience of time?"
|
||||
"prompt05": "Describe your reflection in a window at night, with the interior light creating a double exposure of your face and the dark world outside. What two versions of yourself are superimposed? Write a conversation between the 'inside' self, defined by your private space, and the 'outside' self, defined by the anonymous night. What do they want from each other? How does this liminal artifact\u2014the glass\u2014both separate and connect these identities?"
|
||||
},
|
||||
{
|
||||
"prompt06": "Consider a piece of music that feels like a physical space to you\u2014a song you can walk into. Describe the architecture of this auditory landscape. What is the floor made of? How high is the ceiling? What color is the light? Where are the shadows? What happens to your body and breath as you move through its sections\u2014the verses, the chorus, the bridge? Is it a place of refuge, confrontation, or memory? Explore how sound can build an environment you inhabit, not just hear."
|
||||
"prompt06": "Imagine you are a diver exploring the deep ocean of your own memory. Choose a specific, vivid memory and describe it as a submerged landscape. What creatures (emotions) swim there? What is the water pressure (emotional weight) like? Now, imagine a small, deliberate act of forgetting\u2014letting a single detail of that memory dissolve into the murk. How does this selective oblivion change the entire ecosystem of that recollection? Does it create space for new growth, or does it feel like a loss of truth?"
|
||||
},
|
||||
{
|
||||
"prompt07": "Describe your ideal sanctuary\u2014not a grand fantasy, but a realistically attainable space you could create. Detail its location, size, lighting, furnishings, and most importantly, its rules (e.g., 'no devices,' 'only music without words,' 'must contain something living'). What specific activities would you do there? What state of mind does this space architecturally encourage? How would visiting it regularly change the rhythm of your weeks?"
|
||||
"prompt07": "Recall a conversation that ended in a misunderstanding that was never resolved. Re-write the exchange, but introduce a single point of divergence\u2014one person says something slightly different, or pauses a moment longer. How does this tiny change alter the entire trajectory of the conversation and potentially the relationship? Explore the butterfly effect in human dialogue."
|
||||
},
|
||||
{
|
||||
"prompt08": "Describe a skill or piece of knowledge you possess that you learned in an unconventional, self-taught, or accidental way. Detail the messy, non-linear process of that learning. Who or what were your unlikely teachers? Celebrate the inefficiency and personal quirks of your method. How does this 'uncurated' knowledge differ in feel and application from something you were formally taught?"
|
||||
"prompt08": "Spend 15 minutes in complete silence, actively listening for the absence of a specific sound that is usually present (e.g., traffic, refrigerator hum, birds). Describe the quality of this crafted silence. What smaller sounds emerge in the void? How does your mind and body react to the deliberate removal of this sonic artifact? Explore the concept of oblivion as an active, perceptible state rather than a mere lack."
|
||||
},
|
||||
{
|
||||
"prompt09": "Think of a skill or piece of knowledge you possess that feels almost instinctual, something you can do without conscious thought (like riding a bike, typing, or a native language's grammar). Deconstruct this automatic competence. Describe the first clumsy attempts to learn it, the plateau of frustration, the moment it 'clicked' into muscle memory. Explore the duality of this knowledge: how it is both a part of you and a separate tool. What does this ingrained ability allow you to forget, and what freedom does that forgetfulness grant?"
|
||||
"prompt09": "Describe a skill or talent you possess that feels like it's fading from lack of use\u2014a language getting rusty, a sport you no longer play, an instrument gathering dust. Perform or practice it now, even if clumsily. Chronicle the physical and mental sensations of re-engagement. What echoes of proficiency remain? Is the knowledge truly gone, or merely dormant? Write about the relationship between mastery and oblivion."
|
||||
},
|
||||
{
|
||||
"prompt10": "Choose a natural element you feel a kinship with\u2014fire, stone, water, wind, or earth. Personify it deeply: give it desires, memories, a voice. Write a monologue from its perspective about its ancient, slow existence and its observations of human brevity and frenzy. Then, write about a moment in your life when you felt most aligned with this element's essence. How does connecting with this primal force alter your sense of time and scale?"
|
||||
"prompt10": "Choose a common word (e.g., 'home,' 'work,' 'friend') and dissect its personal syntax. What rules, associations, and exceptions have you built around its meaning? Now, deliberately break one of those rules. Use the word in a context or with a definition that feels wrong to you. Write a paragraph that forces this new usage. How does corrupting your own internal language create space for new understanding?"
|
||||
},
|
||||
{
|
||||
"prompt11": "Imagine you could preserve one hour from your recent memory in a vial, to be re-experienced fully at a future date. Which hour would you choose? Describe it not just as events, but as a full sensory immersion: the light, the sounds, the emotional texture, the quality of the air. Why is this particular slice of time worth encapsulating? What fears or hopes do you have about opening that vial years from now? Write about the desire to hold onto a fleeting feeling, and the wisdom or melancholy that might come from revisiting it."
|
||||
"prompt11": "Contemplate a personal habit or pattern you wish to change. Instead of focusing on breaking it, imagine it diverging\u2014mutating into a new, slightly different pattern. Describe the old habit in detail, then design its evolved form. What small, intentional twist could redirect its energy? Write about a day living with this divergent habit. How does a shift in perspective, rather than eradication, alter your relationship to it?"
|
||||
},
|
||||
{
|
||||
"prompt12": "Contemplate the concept of 'enough.' In our culture of more, what does sufficiency feel like in your body and mind? Describe a recent moment when you felt truly, deeply 'enough'\u2014not in lack, not in excess. It could be related to time, accomplishment, possessions, or love. What were the conditions? How did it settle in your posture or breath? Then, contrast this with a sphere of your life where the feeling of 'not enough' persistently hums. Explore the tension between these two states. What would it take to cultivate more of the former?"
|
||||
"prompt12": "Describe a routine journey you make (a commute, a walk to the store) but narrate it as if you are a traveler in a foreign, slightly surreal land. Give fantastical names to ordinary landmarks. Interpret mundane events as portents or rituals. What hidden narrative or mythic structure can you impose on this familiar path? How does this reframing reveal the magic latent in the everyday?"
|
||||
},
|
||||
{
|
||||
"prompt13": "Recall a piece of bad advice you once received and followed. Who gave it and why did you trust them? Walk through the consequences, large or small. Now, reframe that experience not as a mistake, but as a necessary detour. What did you learn about yourself, about advice, or about the gap between theory and practice that you couldn't have learned any other way? Write the thank-you note you would send to that advisor today, acknowledging the unexpected gift of their misguidance."
|
||||
"prompt13": "Imagine a place from your childhood that no longer exists in its original form\u2014a demolished building, a paved-over field, a renovated room. Reconstruct it from memory with all its sensory details. Now, write about the process of its erasure. Who decided it should change? What was lost in the transition, and what, if anything, was gained? How does the ghost of that place still influence the geography of your memory?"
|
||||
},
|
||||
{
|
||||
"prompt14": "You are tasked with composing a guided audio meditation for a stranger experiencing intense anxiety. Write the script. Use your voice to lead them through a physical space\u2014a forest path, a quiet beach, a cozy room. Describe not just visuals, but textures, sounds, temperatures, and the rhythm of breathing. What reassurance would you offer without being trite? What simple, grounding observations would you point out? Craft a verbal sanctuary meant to hold someone's fragile attention."
|
||||
"prompt14": "You find an old, functional algorithm\u2014a recipe card, a knitting pattern, a set of instructions for assembling furniture. Follow it to the letter, but with a new, meditative attention to each step. Describe the process not as a means to an end, but as a ritual in itself. What resonance does this deliberate, prescribed action have? Does the final product matter, or has the value been in the structured journey?"
|
||||
},
|
||||
{
|
||||
"prompt15": "Recall a piece of clothing you once owned and loved, but have since lost, given away, or worn out. Recreate it stitch by stitch in words\u2014its fabric, its fit, its smell, the way it moved with you. Narrate its life with you: the occasions it witnessed, the stains it earned, the comfort it provided. What did wearing it allow you to feel or project? Write an ode to this second skin, and explore what its absence represents."
|
||||
"prompt15": "Imagine knowledge and ideas spread through a community not like a virus, but like a mycelium\u2014subterranean, cooperative, nutrient-sharing. Recall a time you learned something profound from an unexpected or unofficial source. Trace the hidden network that brought that wisdom to you. How many people and experiences were unknowingly part of that fruiting? Write a thank you to this invisible web."
|
||||
},
|
||||
{
|
||||
"prompt16": "Test prompt"
|
||||
"prompt16": "Imagine your creative or problem-solving process is a mycelial network. A question or idea is dropped like a spore onto this vast, hidden web. Describe the journey of this spore as it sends out filaments, connects with distant nodes of memory and knowledge, and eventually fruits as an 'aha' moment or a new creation. How does this model differ from a linear, step-by-step algorithm? What does it teach you about patience and indirect growth?"
|
||||
},
|
||||
{
|
||||
"prompt17": "Observe the sky right now, in this exact moment. Describe its color, cloud formations, light quality, and movement with meticulous attention. Then, let this observation launch you into a reflection on scale and perspective. Consider the atmospheric phenomena occurring beyond your sight\u2014jet streams, weather systems, celestial motions. How does contemplating the vast, impersonal sky make you feel about your current concerns, joys, or plans? Write about the tension between the immediacy of your personal world and the silent, ongoing spectacle above."
|
||||
"prompt17": "You are an archaeologist of the future, excavating the site of your own desk or kitchen counter. Treat the mundane objects you find as sacred artifacts. Create a detailed cartography of their arrangement. What does their spatial relationship suggest about the rituals of their user? What story does the wear pattern on a specific spot tell? Write your excavation report, inferring a civilization's values from its domestic debris."
|
||||
},
|
||||
{
|
||||
"prompt18": "Choose a machine or appliance in your home that has a distinct sound\u2014a refrigerator hum, a heater's click, a fan's whir. Close your eyes and listen to it for a full minute. Describe its rhythm, pitch, and constancy. Now, personify this sound. What is its personality? Is it a loyal guardian, a complaining old friend, a distant observer? Write a monologue from its perspective about the life it monitors within these walls. What has it learned about you from its unchanging post?"
|
||||
"prompt18": "Create a cartography of a significant year in your life, but map it as a celestial chart rather than a landmass. What were the major constellations (events, people) and how were they arranged? What were the dark spaces between them? Trace the orbital paths of your passions and fears. Now, imagine drawing navigation lines between these stars to create a new constellation with a name that defines that year's core lesson. What shape does it form?"
|
||||
},
|
||||
{
|
||||
"prompt19": "Recall a public space you frequented often in the past but have not visited in years (a library, a park, a diner, a store). Reconstruct it from memory in vivid detail. Then, imagine returning to it today. Describe the inevitable changes\u2014the renovations, the new faces, the faded paint. But also, hunt for the one thing that remains exactly, miraculously the same. How does the coexistence of change and permanence in this space make you feel about the passage of your own time?"
|
||||
"prompt19": "Consider the mycelium of your social world\u2014the vast, often invisible network of connections, acquaintances, and weak ties that underpin your community. Choose one person you know only peripherally. Imagine the intricate web of relationships and experiences that connects you to them, however faintly. Write a speculative biography of this person based on the subtle, subliminal cues you've gathered. How does this exercise in connection alter your sense of isolation or belonging?"
|
||||
},
|
||||
{
|
||||
"prompt20": "\"newprompt3\": \"Recall a teacher, mentor, or elder who said something to you in passing that you have never forgotten. It might have been a compliment, a criticism, or an offhand observation. Reconstruct the scene. Why did their words carry such weight? How have you turned them over in your mind since? Explore the power of brief, seemingly casual utterances to shape a person's self-concept.\","
|
||||
"prompt20": "Imagine you are a cartographer of your own mind. Draw a map of a recent emotional landscape, labeling its features: the Swamp of Indecision, the Peak of Sudden Joy, the Quiet Forest of Contentment. What are the borders and territories? What hidden paths connect them? Now, consider the mycelial network of thoughts and memories beneath the surface, unseen but connecting everything. How does mapping the internal terrain change your relationship to its weather?"
|
||||
},
|
||||
{
|
||||
"prompt21": "\"newprompt0\": \"Write a detailed portrait of a tree you know well\u2014not just its appearance, but its history in that spot, the way its branches move in different winds, the creatures that inhabit it, the shadows it casts at various hours. Imagine its perspective across seasons and years. What has it witnessed? What would it say about change, resilience, or stillness if it could speak? Let the tree become a mirror for your own sense of place and time.\","
|
||||
"prompt21": "\"Examine the syntax of a city block you know well. Read its buildings like sentences, its intersections like punctuation, the flow of traffic like grammar. What is the block's dominant tense (past, present, future)? Its mood? Now, rewrite one element\u2014change a shop's sign in your mind, imagine a tree where there is concrete, slow the traffic to a standstill. Describe the block under this new syntactic rule. How does re-parsing a familiar place change your relationship to it?\","
|
||||
},
|
||||
{
|
||||
"prompt22": "Describe a memory you have that is tied to a specific smell. Don't just tell the story of the event; focus on describing the scent itself in as much detail as possible\u2014its texture, its weight in the air, its nuances. How does conjuring that smell now make you feel in your body? Let the description of the aroma lead you back into the memory's landscape."
|
||||
"prompt22": "\"Describe the velocity of your thoughts first thing in the morning as you lie in bed before rising. Are they slow and viscous, or do they race ahead to the day? Trace the arc of this mental speed as you move through your morning routine. What actions slow it down? What triggers accelerate it? Write about attempting to deliberately modulate this internal tempo. How does controlling the speed of thought affect your anxiety, creativity, or presence?\","
|
||||
},
|
||||
{
|
||||
"prompt23": "Write a letter to your 15-year-old self. Be kind, be blunt, be humorous, or be stern. What do you know now that you desperately needed to hear then? What mystery about your future life could you tantalizingly hint at without giving it all away? Don't just give advice; try to capture the voice and tone you wish an older, wiser person had used with you."
|
||||
"prompt23": "\"Recall a conversation where the emotional velocity shifted dramatically\u2014from calm to stormy, from slow to fast, or vice versa. Map this shift. What was the catalyst word, glance, or silence? Describe the before and after as different climates. How did you navigate the change in pace? Write the dialogue not as it was spoken, but as you felt it in your body\u2014a script of accelerations and decelerations. What does this teach you about the thermodynamics of human interaction?\","
|
||||
},
|
||||
{
|
||||
"prompt24": "You find a forgotten door in a place you know well\u2014your home, your workplace, your daily park. It wasn't there yesterday. You open it. Describe what is on the other side using only sensory details: sight, sound, temperature, smell. Do not explain its purpose or origin. Simply document the experience of crossing that threshold."
|
||||
"prompt24": "\"Stand perfectly still in a busy place (a park, a train station, a street corner). Observe the velocity of the world flowing around you\u2014people, vehicles, pigeons, leaves. Describe this flow as a force of nature. Now, focus on the small, still points within the chaos: a statue, a person sitting on a bench, a building's corner. Write about the experience of being a temporary still point. How does this shift in perspective affect your sense of self within the collective motion? What echoes of past stillness does it evoke?\","
|
||||
},
|
||||
{
|
||||
"prompt25": "Make a list of ten tiny, perfect moments from the past month that no one else probably noticed or would remember. The way light fell on a spoon, a stranger's half-smile, the sound of rain stopping. Elaborate on at least three of them, expanding them into full vignettes. Why did these micro-moments stick with you?"
|
||||
"prompt25": "\"You are given a box labeled 'Syntactic Fragments.' Inside are torn pieces of paper, each with a phrase that seems part of a larger, unknown set of rules (e.g., 'if the moon is high,' 'always counter-clockwise,' 'except on Sundays'). Arrange a few of these fragments into a new, personal rule for living. Write the full 'rule' they inspire, and then describe a day lived deliberately according to this strange, assembled syntax. What new logic emerges? How does it alter your perception of order and meaning?\","
|
||||
},
|
||||
{
|
||||
"prompt26": "Invent a mythological creature for a modern urban setting. What does it look like? What is its behavior and habitat (e.g., subway tunnels, server farms, air vents)? What folklore do people whisper about it? What does it symbolize\u2014anxiety, forgotten connections, hope? Describe a recent 'sighting' of this creature in vivid detail."
|
||||
"prompt26": "\"Find an artifact of velocity in your world\u2014a worn-out shoe sole, a smoothed-down stair railing, a particular bend in a path where the grass is beaten down. Examine it as an archaeologist would. What story of repeated motion, pressure, and passage does it tell? Who or what created this evidence of speed or frequent travel? Write from the perspective of the path or object itself, chronicling the countless transits it has silently witnessed and absorbed.\","
|
||||
},
|
||||
{
|
||||
"prompt27": "Choose an object in your immediate line of sight that is not electronic. Write its biography. Where was it made? Who owned it before you? What conversations has it overheard? What secrets does it hold? What small damages or wear marks does it have, and what story does each tell? Give this ordinary item an epic history."
|
||||
"prompt27": "\"Describe a moment when you felt a sudden, overwhelming sense of velocity\u2014not just physical speed, but the feeling of life accelerating, decisions piling up, or time slipping through your fingers. Where were you? What triggered this sensation? Explore the contrast between the frantic pace and your desire for stillness. How did you respond? Did you try to brake, or did you surrender to the momentum? Reflect on what this experience taught you about your relationship with time and urgency.\","
|
||||
},
|
||||
{
|
||||
"prompt28": "Describe your current emotional state as a weather system. Is it a still, high-pressure fog? A sudden, sharp hailstorm? A lingering, humid drizzle? Map its boundaries, its intensity, its forecast. What terrain does it move over\u2014the mountains of your responsibilities, the plains of your routine? How does it affect your internal climate?"
|
||||
"prompt28": "Analyze the syntax of a recurring dream or nightmare. What are its consistent elements (settings, characters, actions) and its variables? What is the underlying grammatical rule of this dreamscape? Write a new 'scene' in this dream's language, adhering to its strange logic. What might this internal syntax be trying to construct or communicate?"
|
||||
},
|
||||
{
|
||||
"prompt29": "Recall a time you were deeply embarrassed. Write about it from the perspective of a sympathetic observer who was there\u2014or invent one. How might they have perceived the event? What context or kindness might they have seen that you, in your self-focused shame, completely missed? Reframe the memory through their eyes."
|
||||
"prompt29": "Find an object in nature that serves as an artifact of a process\u2014a smooth stone (water's work), a seashell (a creature's former home), a fallen leaf (a season's turn). Describe it as evidence. What story of transformation, pressure, or time does it tell? Write from the perspective of the elemental force that created it, explaining its methodology."
|
||||
},
|
||||
{
|
||||
"prompt30": "What skill or craft have you always wanted to learn but haven't? Immerse yourself in a detailed fantasy of mastering it. Describe the feel of the tools in your hands, the initial frustrations, the first small success, the growing muscle memory. What does the final, perfected product of your labor look or feel like? Live in that imagined\u6210\u5c31\u611f."
|
||||
"prompt30": "Recall a phrase or sentence someone said to you long ago that has become a kind of mental echo, recurring at unexpected times. Why has it stuck? How has its meaning morphed with each repetition in your mind? Write a letter to the person who said it (you don't have to send it) explaining how their words have lived on inside you, far beyond their original intent."
|
||||
},
|
||||
{
|
||||
"prompt31": "Write a dialogue between two aspects of yourself (e.g., Your Ambitious Self and Your Tired Self; Your Cynical Self and Your Hopeful Self). Give them distinct voices. What are they arguing about, negotiating, or planning? Don't just state positions; let them bicker, persuade, or sit in silence together. See where the conversation goes."
|
||||
"prompt31": "Listen for an echo in your physical environment\u2014your voice in a stairwell, a sound bouncing off a building. Describe its decay, its distortion. Now, consider an echo in your life: a piece of advice that returns to you, a pattern repeating, a consequence of an old action rippling forward. Personify this echo. What message is it trying to deliver through its repetition?"
|
||||
},
|
||||
{
|
||||
"prompt32": "Describe your childhood home from the perspective of a small animal (a mouse, a squirrel, a bird) that lived there concurrently with you. What did this creature notice about your family's rhythms, the layout, the dangers, and the treasures (crumbs, cozy materials)? How did it perceive you, the giant human child?"
|
||||
"prompt32": "Describe a conversation you had where the words spoken were just the surface syntax. What was the true dialogue happening beneath\u2014in the pauses, the glances, the body language? Decode that subtext. Write the exchange as two columns: the spoken words on the left, and the real, unspoken meaning on the right. What does this reveal about the art of human communication?"
|
||||
},
|
||||
{
|
||||
"prompt33": "List five paths your life could have taken if you'd made one different choice. Briefly outline each alternate reality. Then, choose one and dive deep: write a journal entry from that version of you today. What are their worries, joys, and regrets? How is their voice similar to or different from your own?"
|
||||
"prompt33": "You are handed a key to a room you didn't know existed. Describe the threshold: the door's material, the lock's sound, the feel of the key turning. Cross into the room. What does it contain? Focus not on fantastical treasures, but on things that feel intimately, unsettlingly familiar, as if they've been waiting for you. What does this space ask you to remember or acknowledge?"
|
||||
},
|
||||
{
|
||||
"prompt34": "Think of a person you see regularly but do not know (a barista, a neighbor, a commuter). Invent a rich, secret inner life for them. What profound private mission are they on? What hidden talent do they possess? What great sorrow or hope are they carrying today as they serve your coffee or stand on the platform? Write from their perspective."
|
||||
"prompt34": "Imagine you discover a forgotten artifact in your attic or basement\u2014a ticket stub, a faded postcard, a broken toy. Describe it with the reverence of an archaeologist. What story does this object tell about a past version of you or your family? Now, write the narrative of the day it was first acquired or used. How does this echo of a former life resonate with your present? Consider the weight of memory that physical objects can hold."
|
||||
},
|
||||
{
|
||||
"prompt35": "What is a belief you held strongly five or ten years ago that you have since questioned or abandoned? Trace the evolution of that change. Was it a sudden shattering or a slow erosion? What person, experience, or piece of information was the catalyst? Describe the feeling of the ground shifting under that particular piece of your worldview."
|
||||
"prompt35": "Recall a time you were an outsider, entering a group or situation where you didn't know the rules. Describe the sensory details of that space and the subtle cues you missed. How did you learn to navigate? Did you assimilate, remain on the periphery, or leave? Reflect on the wisdom gained from being the novice, and the empathy it might foster for other outsiders you encounter."
|
||||
},
|
||||
{
|
||||
"prompt36": "Describe a common, mundane process (making tea, tying your shoes, doing laundry) in extreme, almost absurdly epic detail, as if you were writing a sacred manual or a scientific treatise for an alien civilization. Break down every micro-action, every sensation, every potential variable. Find the profound in the procedural."
|
||||
"prompt36": "Write a review of today as if it were a product, a film, or a restaurant. Give it a star rating. Detail its pros and cons, its pacing, its standout features, and its flaws. Who would you recommend it to? Be both brutally honest and strangely objective. How does framing your lived experience as something to be critiqued change your perception of its value?"
|
||||
},
|
||||
{
|
||||
"prompt37": "You are given a suitcase and told you must leave your home in one hour, not knowing if or when you'll return. You can only take what fits in the case. Describe, in real-time, the frantic and deliberate process of choosing. What practical items make the cut? What irreplaceable tokens? What do you leave behind, and what does that feel like?"
|
||||
"prompt37": "Describe a piece of furniture in your home not by its appearance, but by its function in your emotional geography. Is your bed an island of respite? Is your kitchen table a stage for negotiation? Is a certain chair a vessel for contemplation? Narrate a typical interaction with this piece. What secrets has it absorbed? If it were to be replaced, what intangible quality would be hardest to replicate?"
|
||||
},
|
||||
{
|
||||
"prompt38": "Write about water in three different forms: as a memory involving a body of water (ocean, river, bath), as a description of drinking a glass of water right now, and as a metaphor for an emotion. Move seamlessly between these three aspects. Let the fluidity of the theme connect them."
|
||||
"prompt38": "Document the journey of a single breath. Start with the intention to inhale. Follow the air's path into your body, the expansion, the microscopic exchange. Then, trace the exhale out into the room, imagining its dispersal into the wider atmosphere. Where might its molecules travel next? Anchor yourself in this most fundamental rhythm. How does focusing on this autonomic process alter your sense of time and connection to the biosphere?"
|
||||
},
|
||||
{
|
||||
"prompt39": "What does silence sound like in your current environment? Don't just say 'quiet.' Describe the layers of sound that actually constitute the silence\u2014the hums, ticks, distant rumbles, the sound of your own body. Now, project what this same space sounded like 100 years ago, and what it might sound like 100 years from now."
|
||||
"prompt39": "Describe your shadow at three different times today: dawn, noon, and dusk. Note its length, its sharpness, its behavior. Personify it. Is it a loyal follower, a stretched parody, a separate entity with its own agenda? Write a monologue from your shadow's perspective. What does it think of your daily pursuits? What does it see that you miss? Explore the duality of being both the caster and the cast."
|
||||
},
|
||||
{
|
||||
"prompt40": "Create a recipe for a dish that represents your current life phase. List ingredients (e.g., \"two cups of transition,\" \"a pinch of anxiety,\" \"a steady base of routine\"). Write the instructions, including the method, cooking time, and necessary equipment. Describe the final product's taste, texture, and who it should be shared with."
|
||||
"prompt40": "Contemplate the concept of 'repair.' Choose something in your environment that is broken, frayed, or worn\u2014a relationship, an object, a habit. Describe the damage with forensic honesty. Now, instead of replacing or discarding it, imagine meticulously repairing it. What tools and materials would you need? What skills must you learn? Describe the slow, patient process of restoration. How does the value of the thing change when it bears the visible marks of its mending?"
|
||||
},
|
||||
{
|
||||
"prompt41": "Recall a dream from the past week, however fragmentary. Don't interpret it. Instead, expand it. Continue the narrative from where it left off. Describe the dream logic, the landscape, the characters. Let it become a story. Where does your dreaming mind take you when given free rein on the page?"
|
||||
"prompt41": "Imagine you are tasked with archiving the contents of a single drawer in your home for a future museum of ordinary life. Select the drawer and catalog each item with the care of a curator. For each object, write a brief label explaining its function, origin, and emotional significance. What story does this collection tell about its owner? What might an archaeologist in 2224 misinterpret? Reflect on the biography of a life told through these accumulated fragments."
|
||||
},
|
||||
{
|
||||
"prompt42": "Make a list of everything that is blue in your immediate environment. Describe each shade specifically (slate, cobalt, robin's egg, faded denim). Then, choose one blue object and write about its journey to being here, in this blue state, in front of you. How did it get its color? What has it reflected?"
|
||||
"prompt42": "Document the sounds of a single hour in your life, from the most prominent noise to the nearly inaudible background hum. Create a soundscape in words. Then, imagine composing a piece of music based on this sonic profile. What instruments would you use? What would the tempo and mood be? How does listening to your life as music change your perception of its rhythm and harmony?"
|
||||
},
|
||||
{
|
||||
"prompt43": "Write a eulogy for something you've lost that isn't a person\u2014a habit, a version of a city, a relationship dynamic, a part of your identity. Acknowledge its virtues and its flaws. Say goodbye properly, with humor, regret, and gratitude. What did it give you? What space has its departure created?"
|
||||
"prompt43": "You are asked to contribute an item to a time capsule that will be opened in 100 years. The item should represent the essence of daily life in your community now. What do you choose, and why? Write the explanatory note that will accompany it. Consider the mundane artifacts that future historians might prize. What message are you implicitly sending about what you value, fear, or find ordinary?"
|
||||
},
|
||||
{
|
||||
"prompt44": "Describe your hands. Not just their appearance, but their capabilities, their scars, their memories. What have they held, built, comforted, or torn down? What do their specific aches and strengths tell you about the life you've lived so far? If your hands could speak, what would they say they want to do next?"
|
||||
"prompt44": "Describe the process of waiting for something important. Break down the physical sensations: the checking of clocks, the fidgeting, the way the room seems to change. Chronicle the internal monologue that cycles through hope, doubt, rehearsal, and resignation. How do you pass the time? Find meaning in the liminal space of anticipation itself, separate from the outcome you await."
|
||||
},
|
||||
{
|
||||
"prompt45": "Imagine you can overhear the conversation of the people at the table next to you in a caf\u00e9, but they are speaking in a language you don't understand. Based on their tone, gestures, pauses, and expressions, invent the dialogue. What crucial, funny, or tragic misunderstanding are they having? What are they *really* talking about?"
|
||||
"prompt45": "You receive a package with no return address. Inside is an object that seems intimately connected to you, but you cannot recall ever owning it. Describe the object with forensic detail\u2014its weight, its material, any inscriptions. How does handling it make you feel? Write the story of its imagined journey to your doorstep. What mystery does it represent, and will you try to solve it or simply let it be?"
|
||||
},
|
||||
{
|
||||
"prompt46": "What is a piece of art (a song, painting, film, book) that fundamentally moved you? Describe the first time you encountered it. Don't just analyze why it's good; describe the physical and emotional reaction it provoked. Has its meaning changed for you over time? How does it live inside you now?"
|
||||
"prompt46": "Describe your relationship with a particular type of weather (e.g., thunderstorms, fog, blistering heat). Do you seek it out or avoid it? Recall a specific, vivid encounter with this weather that left a mark on you. How does your body respond to its approach? Personify this weather as a recurring character in your life story. What role does it play\u2014antagonist, comforter, catalyst for change?"
|
||||
},
|
||||
{
|
||||
"prompt47": "You have one day completely alone, with no obligations and no possibility of communication. The power and internet are out. How do you spend the hours from waking to sleeping? Detail the rituals, the wanderings, the thoughts, the meals. Do you enjoy the solitude or chafe against it? What arises in the quiet?"
|
||||
"prompt47": "Recall a time you were profoundly lost, either literally or metaphorically. Describe the landscape of that disorientation\u2014the fading landmarks, the growing panic or curiosity, the quality of the light. How did you eventually find your way, or decide on a direction? Explore what that period of being untethered taught you about navigation, trust, and the value of sometimes not knowing where you are going."
|
||||
},
|
||||
{
|
||||
"prompt48": "Personify a negative emotion you've been feeling lately (e.g., anxiety, envy, restlessness). Give it a name, a form, a voice. Write a character profile of it. What does it want? What does it fear? What flawed logic does it operate under? Then, write a short scene of you having a cup of tea with it, listening to its perspective."
|
||||
"prompt48": "You are tasked with designing a new public holiday that addresses a modern need for connection or reflection. What is its name, and on what date does it fall? Describe its rituals, symbols, and traditional foods. How do people prepare for it, and what activities are encouraged or forbidden? Write a personal account of experiencing this holiday for the first time, focusing on the emotions it evokes and the societal gaps it aims to fill."
|
||||
},
|
||||
{
|
||||
"prompt49": "Describe a city you've never been to, based solely on the stories, images, and snippets you've absorbed about it. Build it from imagination and second-hand clues. Then, contrast that with a description of your own street, seen with the hyper-attentive eyes of a first-time visitor. Make the familiar alien, and the alien familiar."
|
||||
"prompt49": "Choose a street you walk down often. Today, walk it with the mission of noticing five things you've never seen before. They can be tiny: a crack in the pavement shaped like a continent, a particular stain on a wall, a hidden doorbell. Document each discovery in detail. Then, reflect on the phenomenon of selective attention. What had you been filtering out, and why? How does this exercise change your sense of the familiar path?"
|
||||
},
|
||||
{
|
||||
"prompt50": "Think of a crossroads in your past. Now, imagine you see a ghost of your former self standing there, frozen in that moment of decision. What would you want to say to that ghost? Would you offer comfort, a warning, or just silent companionship? Write the encounter. Does the ghost speak back?"
|
||||
"prompt50": "Imagine you could host a dinner party for three fictional characters from different books, films, or myths. Who would you invite and why? Don't just list them. Set the scene: the table setting, the menu, the lighting. Write the conversation that unfolds. What would they argue about? What surprising common ground might they find? How would their presence challenge or affirm your own worldview? Let the dialogue reveal their core natures."
|
||||
},
|
||||
{
|
||||
"prompt51": "What is a tradition in your family or community\u2014big or small\u2014that you find meaningful? Describe its sensory details, its rhythms, its players. Now, trace its origin. How did it start? Has it mutated over time? What does its continued practice say about what your family values, fears, or hopes for?"
|
||||
"prompt51": "Describe a taste you loved as a child but have since grown indifferent to or now dislike. Recreate the sensory memory of that taste with precision. What was its context? Who was with you? Now, analyze the shift. Did your palate change, or did the associations sour? Is there a way to reclaim the innocent pleasure of that taste, or is its loss a necessary marker of growing up? Explore the nostalgia and slight grief in outgrowing a flavor."
|
||||
},
|
||||
{
|
||||
"prompt52": "Choose a year from your past. Catalog the soundtrack of that year: songs on the radio, albums you loved, jingles, background music. For each, describe a specific memory or feeling it evokes. How does the music of that time period color your memory of the entire era? What does it sound like to you now?"
|
||||
"prompt52": "Contemplate the concept of 'waste' in your daily life. Choose one item destined for the trash or recycling. Trace its journey backwards from your hand to its origins as raw material. Then, project its journey forward after it leaves your custody. What systems does it touch? What hands might process it? Write a biography of this discarded object, granting it dignity and narrative. How does this perspective alter your sense of responsibility and connection?"
|
||||
},
|
||||
{
|
||||
"prompt53": "Write instructions for a stranger on how to be you for a day. Include the essential routines, the internal dialogues to expect, the things to avoid, the small comforts to lean on, and the passwords to your various anxieties. Be brutally honest and surprisingly practical. What would they find hardest to mimic?"
|
||||
"prompt53": "Invent a small, personal ritual you could perform to mark the transition from one part of your day to another (e.g., work to home, waking to activity). Describe each step with deliberate, sensory care. What object is involved? What words, if any, are said? How does your posture change? The goal isn't superstition, but mindfulness. Write about performing this ritual for a week. What subtle shifts in your awareness might it create? How does deliberately carving out a threshold affect your experience of time?"
|
||||
},
|
||||
{
|
||||
"prompt54": "Describe a moment of unexpected kindness, either given or received. Don't frame it as a grand gesture. Focus on a small, almost invisible act. What were the circumstances? Why was it so potent? How did it ripple out, changing the temperature of your day or your perception of someone?"
|
||||
"prompt54": "Consider a piece of music that feels like a physical space to you\u2014a song you can walk into. Describe the architecture of this auditory landscape. What is the floor made of? How high is the ceiling? What color is the light? Where are the shadows? What happens to your body and breath as you move through its sections\u2014the verses, the chorus, the bridge? Is it a place of refuge, confrontation, or memory? Explore how sound can build an environment you inhabit, not just hear."
|
||||
},
|
||||
{
|
||||
"prompt55": "You discover you have a superpower, but it is frustratingly mundane and specific (e.g., the ability to always know exactly what time it is without a clock, to perfectly fold fitted sheets, to find lost buttons). Explore the practical uses, the minor heroics, the unexpected downsides, and the peculiar loneliness of this unique gift."
|
||||
"prompt55": "Describe your ideal sanctuary\u2014not a grand fantasy, but a realistically attainable space you could create. Detail its location, size, lighting, furnishings, and most importantly, its rules (e.g., 'no devices,' 'only music without words,' 'must contain something living'). What specific activities would you do there? What state of mind does this space architecturally encourage? How would visiting it regularly change the rhythm of your weeks?"
|
||||
},
|
||||
{
|
||||
"prompt56": "Go to a window. Describe the view in extreme detail, as if painting it with words, for five minutes. Then, close your eyes and describe the view from a window that was significant to you in the past (your childhood bedroom, a previous office, a grandparent's house). Juxtapose the two landscapes on the page."
|
||||
"prompt56": "Describe a skill or piece of knowledge you possess that you learned in an unconventional, self-taught, or accidental way. Detail the messy, non-linear process of that learning. Who or what were your unlikely teachers? Celebrate the inefficiency and personal quirks of your method. How does this 'uncurated' knowledge differ in feel and application from something you were formally taught?"
|
||||
},
|
||||
{
|
||||
"prompt57": "What is a question you are tired of being asked? Write a rant about why it's so irritating, reductive, or painful. Then, flip it: write the question you wish people would ask you instead. Answer that new question fully and generously."
|
||||
"prompt57": "Think of a skill or piece of knowledge you possess that feels almost instinctual, something you can do without conscious thought (like riding a bike, typing, or a native language's grammar). Deconstruct this automatic competence. Describe the first clumsy attempts to learn it, the plateau of frustration, the moment it 'clicked' into muscle memory. Explore the duality of this knowledge: how it is both a part of you and a separate tool. What does this ingrained ability allow you to forget, and what freedom does that forgetfulness grant?"
|
||||
},
|
||||
{
|
||||
"prompt58": "Describe a hobby or interest you have from the perspective of someone who finds it utterly baffling and boring. Then, defend it with the passionate zeal of a true devotee. Try to convey its magic and depth to this imagined skeptic. What is the core beauty you see that they miss?"
|
||||
"prompt58": "Choose a natural element you feel a kinship with\u2014fire, stone, water, wind, or earth. Personify it deeply: give it desires, memories, a voice. Write a monologue from its perspective about its ancient, slow existence and its observations of human brevity and frenzy. Then, write about a moment in your life when you felt most aligned with this element's essence. How does connecting with this primal force alter your sense of time and scale?"
|
||||
},
|
||||
{
|
||||
"prompt59": "List ten things you would do if you were not afraid. They can be grand (quit my job) or small (sing karaoke). Choose one and vividly imagine doing it. Walk through every step, from decision to action to aftermath. How does the air feel different on the other side of that fear?"
|
||||
"prompt59": "Imagine you could preserve one hour from your recent memory in a vial, to be re-experienced fully at a future date. Which hour would you choose? Describe it not just as events, but as a full sensory immersion: the light, the sounds, the emotional texture, the quality of the air. Why is this particular slice of time worth encapsulating? What fears or hopes do you have about opening that vial years from now? Write about the desire to hold onto a fleeting feeling, and the wisdom or melancholy that might come from revisiting it."
|
||||
}
|
||||
]
|
||||
@@ -1,19 +1,22 @@
|
||||
[
|
||||
"Recall a time you were profoundly lost, either literally or metaphorically. Describe the landscape of that disorientation\u2014the fading landmarks, the growing panic or curiosity, the quality of the light. How did you eventually find your way, or decide on a direction? Explore what that period of being untethered taught you about navigation, trust, and the value of sometimes not knowing where you are going.",
|
||||
"Choose a color that has been significant to you this week. Describe its presence in your environment, but also explore it as a metaphor for a mood, a memory, or an aspiration. How does this color influence your energy or thoughts? Write a series of short vignettes where this color appears in different contexts, tracing a subtle narrative thread through your recent days.",
|
||||
"Invent a board game that models a complex aspect of your life (e.g., career progression, maintaining friendships, creative projects). Detail the game board, the pieces, the rules, and the win condition. What are the chance cards? What strategies lead to success? Play a round in your imagination and describe the turns. What does this playful abstraction reveal about your perceptions of challenge and reward?",
|
||||
"Describe your relationship with a particular type of weather (e.g., thunderstorms, fog, blistering heat). Do you seek it out or avoid it? Recall a specific, vivid encounter with this weather that left a mark on you. How does your body respond to its approach? Personify this weather as a recurring character in your life story. What role does it play\u2014antagonist, comforter, catalyst for change?",
|
||||
"Write a detailed review of a day in your life, as if it were a film or a play. Critique the pacing, the character development (your own), the dialogue, the setting, and the thematic coherence. What was the climax? The quiet moments of cinematography? Who would you cast to play you? Award it a rating out of five stars and justify your critique. What would you change in the director's cut?",
|
||||
"Contemplate the concept of 'home' as a feeling rather than a place. Describe three distinct moments in your life when you have felt 'at home' in an unexpected location or circumstance. What were the common elements\u2014a sense of safety, recognition, permission to be yourself? Analyze how you carry this feeling within you and what triggers its emergence far from your physical dwelling.",
|
||||
"You receive a package with no return address. Inside is an object that seems intimately connected to you, but you cannot recall ever owning it. Describe the object with forensic detail\u2014its weight, its material, any inscriptions. How does handling it make you feel? Write the story of its imagined journey to your doorstep. What mystery does it represent, and will you try to solve it or simply let it be?",
|
||||
"Observe a body of water\u2014a puddle, a pond, a river, the sea. Describe its surface, its depth, its movement, and what lies beneath (real or imagined). Now, write a letter from the perspective of the water itself, addressed to the humans who live near it. What has it seen? What does it remember? What does it need or wish to convey about patience, cycles, or reflection?",
|
||||
"Think of a rule you live by that you have never formally articulated. It could be about social interactions, work, self-care, or morality. Where did this rule come from? Is it inherited, forged through experience, or a reaction to something? Describe a recent situation where you applied this rule. What are its strengths and its limitations? Consider writing its official statute, complete with clauses and exceptions.",
|
||||
"Describe the process of waiting for something important. Break down the physical sensations: the checking of clocks, the fidgeting, the way the room seems to change. Chronicle the internal monologue that cycles through hope, doubt, rehearsal, and resignation. How do you pass the time? Find meaning in the liminal space of anticipation itself, separate from the outcome you await.",
|
||||
"Choose a word from a language you do not speak that you find beautiful or intriguing. Research its meaning and cultural connotations. Now, build a short story or a memory around the essence of this word. Let the word's sound and meaning influence the atmosphere of your writing. How does adopting a foreign concept expand your expressive palette?",
|
||||
"Recall a gift you gave that felt truly perfect\u2014not because of its cost, but because of its thoughtfulness. Describe the recipient, the occasion, and the process of selecting or making the gift. Why did it resonate? Now, recall a gift you received that missed the mark entirely. Explore the gap between intention and perception in gift-giving. What do these exchanges reveal about understanding and being understood?",
|
||||
"You are asked to contribute an item to a time capsule that will be opened in 100 years. The item should represent the essence of daily life in your community now. What do you choose, and why? Write the explanatory note that will accompany it. Consider the mundane artifacts that future historians might prize. What message are you implicitly sending about what you value, fear, or find ordinary?",
|
||||
"Describe a chore you dislike in excruciating, slow-motion detail, highlighting every unpleasant sensory element. Then, perform that chore with full, meditative attention, seeking a kind of grace or rhythm within it. Reframe the task as a practice in mindfulness or a small act of care for your environment. How does shifting your perspective alter the experience?",
|
||||
"Write a conversation between your present self and your self from ten years in the future. What questions do you ask? What warnings or reassurances does your future self offer? Avoid clich\u00e9s about success; focus on the texture of daily life, changes in perspective, and the quiet joys or sorrows that have accumulated. How does this imagined dialogue affect your sense of the present moment?",
|
||||
"Document the sounds of a single hour in your life, from the most prominent noise to the nearly inaudible background hum. Create a soundscape in words. Then, imagine composing a piece of music based on this sonic profile. What instruments would you use? What would the tempo and mood be? How does listening to your life as music change your perception of its rhythm and harmony?",
|
||||
"Choose a proverb or common saying (e.g., 'A stitch in time saves nine,' 'The grass is always greener...'). Write a short personal essay that either proves or disproves this adage based on your own experience. Tell the story that led you to agree or disagree with this piece of folk wisdom. Has your relationship to the saying changed over time?"
|
||||
"Imagine you are a translator for a species that communicates through scent. Describe the complex 'sentence' of a specific place's aroma\u2014a bakery, a forest after rain, a subway station. Break down its notes as if they were clauses and modifiers. Now, attempt to translate this olfactory message into a human language. What is inevitably lost in translation? What unique wisdom might this scent-language contain about the world?",
|
||||
"You are given a single, unmarked key. Instead of wondering what lock it fits, you decide to carry it with you for a week as a totem. Describe its weight in your pocket, the sound it makes against other items. How does its silent, potential purpose affect your daily decisions and observations? Does it begin to feel like it unlocks something metaphorical within your routine? Write about the power of an unanswered question made physical.",
|
||||
"Recall a time you witnessed a complete stranger perform a small, unexpected act of kindness. Describe the scene in detail, focusing on the body language of both the giver and receiver. Now, imagine the vast, invisible network of causality that led to that precise moment. Trace one possible thread backwards through the stranger's day. How does acknowledging the depth of every fleeting interaction change your perception of anonymity?",
|
||||
"Describe a piece of clothing you own that has been repaired\u2014a darned sock, a patched knee, a re-soled shoe. Focus on the repair itself. Is it visible or hidden? Skillful or clumsy? Does it match or contrast? Write the biography of this mended object, giving voice to both the original fabric and the intervention. What story of wear, care, and continuation does it tell? How is its value different from something pristine?",
|
||||
"Contemplate a door in your life that is currently closed\u2014literal or metaphorical. Describe the door itself: its material, its handle, the sound it makes when shut. Now, instead of focusing on what's behind it or the desire to open it, write about the quality of the threshold it creates. What exists in the space of not-knowing? How does this closed door shape the rooms you currently occupy? Explore the architecture of limitation.",
|
||||
"You discover your life is being gently edited by a benign, unseen force. Small, insignificant details are being erased: the memory of a cloud's shape, the name of a minor character in a book, the specific feeling of a Tuesday in March. Describe the sensation of these minor oblivions. Do you feel lighter or impoverished? Would you try to stop the edits, or trust the process? Write about the curation of a life through subtle forgetting.",
|
||||
"Choose a common machine in your home (a refrigerator, a washing machine, a router). Spend ten minutes listening to its operational sounds. Describe its sonic signature\u2014its rhythms, clicks, and hums. Now, imagine writing its user manual, but from its own perspective. What are its instructions for human cohabitation? What does it need to function well? How does this shift in agency alter your relationship with the 'dumb' object?",
|
||||
"Map a significant personal relationship as a shared garden. What have you each planted? What has grown wild? What requires constant tending, and what is delightfully low-maintenance? Describe the current season of this garden. Are you harvesting, weeding, or letting it lie fallow? Write about a conversation you might have while working side-by-side in this metaphorical space. What does this horticultural model reveal about partnership?",
|
||||
"Describe a time you followed a set of instructions perfectly, but the outcome was a glorious or disastrous failure. Recreate the process step-by-step, with the growing sense of divergence from the expected path. Where did the rupture between plan and reality occur? Was it in the materials, the environment, or something ineffable? Explore the hidden variables that live in the gap between theory and practice, and what the 'failure' taught you that success could not.",
|
||||
"You are tasked with creating a museum exhibit about an ordinary day in your life. Choose three 'artifacts' from today (a coffee mug, a crumpled to-do list, a specific text message). For each, write the museum placard that explains its significance to future visitors. What narrative about early 21st century life do these curated fragments tell? What essential truths would they miss entirely?",
|
||||
"Listen to a song from a genre you typically avoid. Do not judge it; instead, dissect it as an anthropologist would. What are its conventions? What emotional need might it serve for its primary audience? Can you find one element\u2014a rhythm, a vocal inflection, an instrumental break\u2014that you can appreciate on its own terms? Write about the experience of analyzing taste instead of surrendering to it.",
|
||||
"Imagine your mind has a 'search function' like a computer. Perform a search for a specific memory using fragmented keywords (e.g., 'yellow,' 'laughter,' 'rain'). Describe the 'results' that surface\u2014are they accurate? Are there unexpected associations? What memories are seemingly 'deleted' or unindexed? Explore the messy, non-linear, and poetic way human memory actually retrieves information compared to digital precision.",
|
||||
"Describe a recurring thought or worry that circles in your mind. Give it a shape, a color, a texture. Now, imagine deliberately placing that thought on a small leaf and setting it adrift on a slow-moving stream. Narrate its journey away from you. What does the landscape look like as it floats further? How does the space in your mind feel once it is occupied by the image of the receding leaf instead of the thought itself?",
|
||||
"Choose a tool you use regularly (a pen, a knife, a software program). Write a love letter to this tool from the perspective of the task it performs. For example, let 'the written sentence' thank the pen. Be specific about the qualities that make this tool an ideal partner. Then, write a brief breakup letter from the same perspective, citing the tool's flaws. How does this personification deepen your appreciation for designed objects?",
|
||||
"You are given a notebook with the rule that you can only write in it while moving\u2014walking, on a train, in a car (as a passenger). Document your first entry. How does the kinetic state affect your handwriting, your thought flow, and your observations? What do you notice about the world that you might miss while stationary? Explore the link between physical motion and mental velocity, and the unique quality of thoughts captured in transit.",
|
||||
"Recall a piece of advice you were given that you deliberately chose to ignore. Reconstruct the moment it was offered. Why did you reject it? Was it the source, the timing, or the content itself? Now, with the benefit of hindsight, was your divergence from that path wise or foolish? Or does the binary of wise/foolish not apply? Write a letter to your past self about the value of both heeding and disregarding guidance.",
|
||||
"Describe your childhood home's kitchen at a specific, non-eventful time\u2014perhaps a Tuesday evening. Use all senses to capture its mundane essence. Now, imagine that space empty, all the furniture and appliances gone, leaving only the ghosts of their impressions on the floor. What echoes of activity can you still perceive in the bare room? Write about the persistence of memory in architecture and the haunting quality of absence.",
|
||||
"Contemplate a small, daily obligation that feels like a chore (making the bed, doing dishes, answering emails). Perform it tomorrow with the reverence of a sacred ritual. Describe each micro-action with exaggerated care and attention. Does this shift in mindset transform the experience? Does it reveal a hidden rhythm or satisfaction, or simply make the task take longer? Explore the boundary between drudgery and mindfulness.",
|
||||
"You find an old, blank map. Instead of filling it with geographical features, you decide to map the territories of your own personality. Chart the continents of your passions, the islands of secret skills, the treacherous swamps of your fears, the well-trod roads of habit. Where are the borders fuzzy? Where are there unexplored regions? Creating this cartography, what do you discover about the landscape of your self that you usually take for granted?",
|
||||
"Describe a habit you have that is essentially a personal ritual, though you may not have named it as such (your morning coffee routine, the way you arrange your desk, your pre-sleep phone scroll). Break it down into its component actions. What need does this sequence fulfill beyond its practical outcome? What would happen if you skipped a step? Write an ode to this small, automatic ceremony that structures your day and provides a subtle anchor of identity."
|
||||
]
|
||||
7
reset_baseline.sh
Executable file
7
reset_baseline.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
#cp baseline_files/ds_prompt.txt .
|
||||
cp baseline_files/feedback_words.json .
|
||||
cp baseline_files/historic_prompts.json .
|
||||
cp baseline_files/pool_prompts.json .
|
||||
#cp baseline_files/settings.cfg .
|
||||
66
tests/test_feedback_integration.py
Normal file
66
tests/test_feedback_integration.py
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Test script to verify feedback_words integration
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
|
||||
# Add current directory to path
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
from generate_prompts import JournalPromptGenerator
|
||||
|
||||
def test_feedback_words_loading():
|
||||
"""Test that feedback_words are loaded correctly."""
|
||||
print("Testing feedback_words integration...")
|
||||
|
||||
try:
|
||||
# Initialize the generator
|
||||
generator = JournalPromptGenerator()
|
||||
|
||||
# Check if feedback_words were loaded
|
||||
print(f"Number of feedback words loaded: {len(generator.feedback_words)}")
|
||||
|
||||
if generator.feedback_words:
|
||||
print("Feedback words loaded successfully:")
|
||||
for i, feedback in enumerate(generator.feedback_words):
|
||||
print(f" {i+1}. {feedback}")
|
||||
else:
|
||||
print("No feedback words loaded (this might be expected if file is empty)")
|
||||
|
||||
# Test _prepare_prompt method
|
||||
print("\nTesting _prepare_prompt method...")
|
||||
prompt = generator._prepare_prompt()
|
||||
print(f"Prompt length: {len(prompt)} characters")
|
||||
|
||||
# Check if feedback words are included in the prompt
|
||||
if generator.feedback_words and "Feedback words:" in prompt:
|
||||
print("✓ Feedback words are included in the prompt")
|
||||
else:
|
||||
print("✗ Feedback words are NOT included in the prompt")
|
||||
|
||||
# Test _prepare_prompt_with_count method
|
||||
print("\nTesting _prepare_prompt_with_count method...")
|
||||
prompt_with_count = generator._prepare_prompt_with_count(3)
|
||||
print(f"Prompt with count length: {len(prompt_with_count)} characters")
|
||||
|
||||
# Check if feedback words are included in the prompt with count
|
||||
if generator.feedback_words and "Feedback words:" in prompt_with_count:
|
||||
print("✓ Feedback words are included in the prompt with count")
|
||||
else:
|
||||
print("✗ Feedback words are NOT included in the prompt with count")
|
||||
|
||||
print("\n✅ All tests passed!")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
print(f"\n❌ Error during testing: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
success = test_feedback_words_loading()
|
||||
sys.exit(0 if success else 1)
|
||||
|
||||
Reference in New Issue
Block a user