clawdbot-workspace/RESET-IMPACT-ANALYSIS.md

9.1 KiB

Computer Reset - Impact Analysis & Recovery Guide

Generated: 2026-01-19


🔴 What Will Be Lost on Reset

These items are NOT preserved by a standard macOS reset and must be restored:

Category Item Impact
Cron Jobs All crontab entries LOST - Must restore
Launchd Services LaunchAgent plist files LOST - Must restore
PostgreSQL Data Database contents LOST - Must restore
Homebrew Services Running services LOST - Must restart
System Settings User preferences, configs LOST - May need reconfiguration

🟡 What Should Survive Reset

These items should survive if you preserve your user data during reset:

Category Item Path Status
Project Files Remix Sniper code ~/projects/remix-sniper/ ⚠️ Check
Tracking Data JSON tracking files ~/.remix-sniper/tracking/ ⚠️ Check
Workspace Clawdbot workspace ~/.clawdbot/workspace/ ⚠️ Check
Scripts Custom shell scripts ~/.clawdbot/workspace/*.sh ⚠️ Check
Documentation MD files, notes ~/.clawdbot/workspace/*.md ⚠️ Check

Note: "Check" means verify after reset - some resets wipe user data, some preserve it.


What's At Risk Right Now

1. Cron Jobs (6 jobs)

# Daily text to Jake Smith at 9:10 PM EST
10 21 * * * /opt/homebrew/bin/imsg send --to "Jake Smith" --text "Helllllo"

# Daily anus fact at 9am EST
0 9 * * * /Users/jakeshore/.clawdbot/workspace/daily-anus-fact.sh

# Daily pickle motivation to Stevan Woska at 5:45 PM EST
45 17 * * * /Users/jakeshore/.clawdbot/workspace/pickle_motivation.sh +15167611826

# Daily remix sniper scan at 9am EST
0 9 * * * cd ~/projects/remix-sniper && /Users/jakeshore/projects/remix-sniper/venv/bin/python scripts/daily_scan.py >> ~/projects/remix-sniper/daily_scan.log 2>&1

# Weekly remix stats update (Sundays at 10am)
0 10 * * 0 cd ~/projects/remix-sniper && /Users/jakeshore/projects/remix-sniper/venv/bin/python scripts/update_remix_stats.py >> ~/projects/remix-sniper/stats_update.log 2>&1

# Weekly validation report (Sundays at 11am)
0 11 * * 0 cd ~/projects/remix-sniper && /Users/jakeshore/projects/remix-sniper/venv/bin/python scripts/weekly_report.py >> ~/projects/remix-sniper/weekly_report.log 2>&1

2. Launchd Service

# Remi bot auto-restart service
~/Library/LaunchAgents/com.jakeshore.remix-sniper.plist

3. PostgreSQL Database

Database: remix_sniper
Tables: songs, song_metrics, opportunities, user_preferences
Current data: Empty (0 rows) - but schema exists

4. Tracking Data (Important!)

~/.remix-sniper/tracking/predictions.json    (8 predictions)
~/.remix-sniper/tracking/remixes.json        (1 remix outcome)
~/.remix-sniper/tracking/snapshots/          (daily chart snapshots)

5. Environment Variables

~/projects/remix-sniper/.env
  - DISCORD_BOT_TOKEN
  - DATABASE_URL

🛡️ Backup & Restore System

Quick Start

Run these commands before your reset:

# 1. Run backup
~/.clawdbot/workspace/backup_before_reset.sh

# 2. Copy backup to external storage
rsync -av ~/.clawdbot/workspace/backup-before-reset-* /Volumes/ExternalDrive/

# 3. Note the backup directory name (e.g., backup-before-reset-20260119-120000)

After reset:

# 1. Copy backup from external storage
rsync -av /Volumes/ExternalDrive/backup-before-reset-* ~/.clawdbot/workspace/

# 2. Run restore
~/.clawdbot/workspace/restore_after_reset.sh ~/.clawdbot/workspace/backup-before-reset-YYYYMMDD-HHMMSS

# 3. Verify everything works
crontab -l                          # Check cron jobs
launchctl list | grep remix-sniper   # Check launchd
psql -d remix_sniper -c '\l'         # Check database

📋 Detailed Backup Process

What Gets Backed Up

Item What's Backed Up Location in Backup
Crontab All cron jobs crontab-backup.txt
Launchd plist files launchd/
PostgreSQL Full database dump remix_sniper-db.sql
Tracking Data JSON files, snapshots remix-sniper/
Environment .env files env-files/
Workspace All workspace files clawdbot-workspace/
Scripts Shell scripts scripts/
Checksums SHA256 hashes sha256-checksums.txt

Backup Script Details

# Location
~/.clawdbot/workspace/backup_before_reset.sh

# Creates backup at
~/.clawdbot/workspace/backup-before-reset-YYYYMMDD-HHMMSS/

# Backs up:
#   1. Crontab entries
#   2. Launchd plist files
#   3. PostgreSQL database dump
#   4. Remix Sniper tracking data
#   5. Environment files (.env)
#   6. Clawdbot workspace
#   7. Custom scripts

Restore Script Details

# Location
~/.clawdbot/workspace/restore_after_reset.sh

# Usage
~/.clawdbot/workspace/restore_after_reset.sh <backup-directory>

# Restores:
#   1. Crontab entries
#   2. Launchd services (and loads them)
#   3. PostgreSQL database (if psql installed)
#   4. Remix Sniper tracking data
#   5. Environment files
#   6. Clawdbot workspace
#   7. Custom scripts

🔧 Post-Restore Checklist

After running the restore script, verify these items:

1. Cron Jobs

crontab -l
# Expected: 6 jobs listed above

2. Launchd Service

launchctl list | grep remix-sniper
# Expected: com.jakeshore.remix-sniper

3. PostgreSQL

brew services list | grep postgresql
# Expected: postgresql@16 (started)

psql -d remix_sniper -c "\dt"
# Expected: 4 tables (songs, song_metrics, opportunities, user_preferences)

4. Tracking Data

ls -la ~/.remix-sniper/tracking/
# Expected: predictions.json, remixes.json, snapshots/

5. Remix Sniper Bot

# Check if bot is running
launchctl list | grep remix-sniper

# Check logs
tail -f ~/projects/remix-sniper/bot.log

6. Environment Variables

cat ~/projects/remix-sniper/.env
# Expected: DISCORD_BOT_TOKEN, DATABASE_URL set

⚠️ If Something Goes Wrong

Cron jobs not restored

# Manually restore
crontab ~/.clawdbot/workspace/backup-before-reset-YYYYMMDD-HHMMSS/crontab-backup.txt

Launchd service not loading

# Check file exists
ls -la ~/Library/LaunchAgents/com.jakeshore.remix-sniper.plist

# Load manually
launchctl load -w ~/Library/LaunchAgents/com.jakeshore.remix-sniper.plist

# Restart manually
launchctl restart com.jakeshore.remix-sniper

PostgreSQL not restored

# Ensure PostgreSQL is installed and running
brew services start postgresql@16

# Restore manually
psql -d remix_sniper < ~/.clawdbot/workspace/backup-before-reset-YYYYMMDD-HHMMSS/remix_sniper-db.sql

Tracking data not restored

# Manually copy
cp -R ~/.clawdbot/workspace/backup-before-reset-YYYYMMDD-HHMMSS/remix-sniper/* ~/.remix-sniper/

💾 Alternative: Cloud Backup

For extra safety, consider:

  1. GitHub - Push project code
  2. Dropbox/Google Drive - Sync workspace and tracking data
  3. Time Machine - Automatic backup (if not resetting from it)

Example: Push to GitHub

cd ~/projects/remix-sniper
git init
git add .
git commit -m "Backup before reset"
git remote add origin <your-repo>
git push -u origin main

📊 Summary: What's At Risk

Risk Level Item Backup Available?
🔴 CRITICAL Tracking data (predictions, remixes) Yes
🔴 CRITICAL Cron jobs (6 automated tasks) Yes
🟡 HIGH Launchd service (bot auto-restart) Yes
🟡 HIGH Database schema Yes
🟢 MEDIUM Environment variables Yes
🟢 LOW Project code (should survive) Yes
🟢 LOW Workspace files (should survive) Yes

🚀 Before Reseting

  1. Run backup script

    ~/.clawdbot/workspace/backup_before_reset.sh
    
  2. Copy backup to external storage

    rsync -av ~/.clawdbot/workspace/backup-before-reset-* /Volumes/ExternalDrive/
    
  3. Note the backup directory name

  4. Test restore (optional)

    # In a temporary directory
    mkdir -p /tmp/test-restore
    cp -R ~/.clawdbot/workspace/backup-before-reset-* /tmp/test-restore/
    # Verify contents look correct
    

📝 After Reseting

  1. Copy backup from external storage
  2. Run restore script
  3. Run post-restore checklist
  4. Test Remi bot in Discord
  5. Verify daily scan will run tomorrow at 9am

Questions?

  • What if I lose the backup? → Reconstruct from notes in remix-sniper-skill.md
  • Can I skip some items? → Yes, but tracking data and cron jobs are critical
  • How long does backup take? → Usually < 1 minute
  • How long does restore take? → Usually < 2 minutes

💛 Need Help?

If anything goes wrong:

  1. Check the backup directory contents
  2. Verify checksums with shasum -c sha256-checksums.txt
  3. Manually restore specific items if script fails
  4. Tag Buba in Discord if stuck