Files
trading_bot_v4/RECOVERY_PLAN.md
mindesbunister f8f289232a docs: Add workspace cleanup plan, safety analysis, and recovery procedures
- CLEANUP_PLAN.md: Detailed plan for organizing workspace structure
- SAFETY_ANALYSIS.md: Analysis proving no runtime dependencies will break
- RECOVERY_PLAN.md: Step-by-step recovery procedures if anything goes wrong

All analysis complete - ready to execute cleanup safely.
Files document current state and recovery methods.
2025-10-27 12:52:48 +01:00

8.1 KiB

🚨 CLEANUP RECOVERY PLAN

📋 Pre-Execution State (Backup)

Date: October 27, 2025 Git Commit: Current HEAD before cleanup System Status: All containers running

Current Git State

# Get current commit hash
git rev-parse HEAD
# This is our recovery point

🔄 RECOVERY METHODS

Method 1: Git Revert (Safest - Use This First)

If anything breaks after cleanup:

# Find the cleanup commit
git log --oneline -5

# Revert the cleanup commit (replace COMMIT_HASH)
git revert COMMIT_HASH

# This creates a new commit that undoes all file moves
# System returns to previous state

Method 2: Git Reset (Nuclear Option)

If git revert doesn't work:

# Get commit hash BEFORE cleanup
git log --oneline -10

# Reset to commit before cleanup (replace COMMIT_HASH)
git reset --hard COMMIT_HASH

# Force push if already pushed
git push --force origin master

Method 3: Manual Recovery

If git fails, manual file restoration:

# All original file locations are documented below
# Simply move files back to root directory

📍 ORIGINAL FILE LOCATIONS (Pre-Cleanup)

Documentation Files (Currently in Root)

/home/icke/traderv4/SETUP.md
/home/icke/traderv4/DOCKER.md
/home/icke/traderv4/N8N_WORKFLOW_SETUP.md
/home/icke/traderv4/N8N_DATABASE_SETUP.md
/home/icke/traderv4/SETTINGS_SETUP.md
/home/icke/traderv4/TELEGRAM_BOT_README.md
/home/icke/traderv4/N8N_WORKFLOW_GUIDE.md
/home/icke/traderv4/TESTING.md
/home/icke/traderv4/WORKFLOW_VERIFICATION.md
/home/icke/traderv4/PHASE_1_COMPLETE.md
/home/icke/traderv4/PHASE_2_COMPLETE.md
/home/icke/traderv4/PHASE_2_SUMMARY.md
/home/icke/traderv4/QUICKREF_PHASE2.md
/home/icke/traderv4/EXIT_ORDERS_TEST_RESULTS.md
/home/icke/traderv4/TEST_STATUS_COMMAND.md
/home/icke/traderv4/TELEGRAM_STATUS_IMPLEMENTATION.md
/home/icke/traderv4/STATUS_COMMAND_QUICKREF.txt

n8n Workflow Files (Currently in Root)

/home/icke/traderv4/Money_Machine.json
/home/icke/traderv4/n8n-complete-workflow.json
/home/icke/traderv4/n8n-daily-report.json
/home/icke/traderv4/n8n-database-analytics.json
/home/icke/traderv4/n8n-pattern-analysis.json
/home/icke/traderv4/n8n-stop-loss-analysis.json
/home/icke/traderv4/telegram-manual-trade-FINAL.json
/home/icke/traderv4/telegram-webhook-FINAL.json
/home/icke/traderv4/n8n-trader-workflow.json
/home/icke/traderv4/n8n-trader-workflow-updated.json
/home/icke/traderv4/n8n-workflow-simple.json
/home/icke/traderv4/telegram-listener-simple.json
/home/icke/traderv4/telegram-n8n-listener.json
/home/icke/traderv4/telegram-polling-addon.json
/home/icke/traderv4/telegram-trigger-addon.json

Shell Scripts (Currently in Root)

/home/icke/traderv4/docker-build.sh
/home/icke/traderv4/docker-start.sh
/home/icke/traderv4/docker-stop.sh
/home/icke/traderv4/docker-logs.sh
/home/icke/traderv4/complete_telegram_setup.sh
/home/icke/traderv4/setup_telegram_bot.sh
/home/icke/traderv4/GET_BOT_TOKEN.sh
/home/icke/traderv4/send_trade.sh
/home/icke/traderv4/trade.sh
/home/icke/traderv4/test-exit-orders.sh

Test Files (Currently in Root)

/home/icke/traderv4/test-drift-v4.ts
/home/icke/traderv4/test-full-flow.ts
/home/icke/traderv4/test-position-manager.ts
/home/icke/traderv4/test-price-monitor.ts

Archive Files (Currently in Root)

/home/icke/traderv4/telegram_trade_bot.py
/home/icke/traderv4/telegram-to-webhook.py
/home/icke/traderv4/quick-trade.html
/home/icke/traderv4/webapp-trade.html
/home/icke/traderv4/CREATE_NEW_BOT.md

🎯 NEW FILE LOCATIONS (Post-Cleanup)

Documented in CLEANUP_PLAN.md - see proposed structure


VALIDATION CHECKLIST

After cleanup, verify these are working:

1. Docker Containers

docker ps | grep -E "(trading-bot|telegram-trade-bot|postgres)"
# All 3 should be running

2. Trading Bot API

curl -s -H "Authorization: Bearer 2a344f0149442c857fb56c038c0c7d1b113883b830bec792c76f1e0efa15d6bb" \
  http://localhost:3001/api/trading/positions | jq .success
# Should return: true

3. Telegram Bot

docker logs telegram-trade-bot --tail 5
# Should show: "🤖 Bot ready! Send commands to your Telegram."

4. Watch Restart Service

systemctl status trading-bot-restart-watcher.service
# Should be: active (running)

5. Critical Files in Root

ls -la /home/icke/traderv4/ | grep -E "(telegram_command_bot.py|watch-restart.sh|docker-compose.yml)"
# All 3 should exist in root

🚨 ROLLBACK PROCEDURE

If System Breaks:

Step 1: Check what's broken

# Check containers
docker ps -a | grep trading-bot

# Check logs
docker logs trading-bot-v4 --tail 50
docker logs telegram-trade-bot --tail 50

# Check systemd
systemctl status trading-bot-restart-watcher.service

Step 2: Quick Fix (If Docker Issue)

# Restart containers
docker-compose down
docker-compose up -d

# Restart telegram bot
docker-compose -f docker-compose.telegram-bot.yml down
docker-compose -f docker-compose.telegram-bot.yml up -d

Step 3: Git Revert (If Files Missing)

# See recent commits
git log --oneline -5

# Revert the cleanup commit
git revert HEAD

# Verify files back
ls -la *.md *.json *.sh

Step 4: Nuclear Option (If All Else Fails)

# Get commit before cleanup
BEFORE_CLEANUP=$(git log --oneline -10 | grep "Add /status" | cut -d' ' -f1)

# Reset to that commit
git reset --hard $BEFORE_CLEANUP

# Restart everything
docker-compose down
docker-compose up -d

📊 SYSTEM STATE SNAPSHOT

Before Cleanup:

  • Containers Running: 3 (trading-bot-v4, telegram-trade-bot, postgres)
  • Services Active: trading-bot-restart-watcher.service
  • API Status: Responding on port 3001
  • Files in Root: 87 files (docs, scripts, workflows mixed)

Expected After Cleanup:

  • Containers Running: 3 (no change - containers don't rebuild)
  • Services Active: trading-bot-restart-watcher.service (no change)
  • API Status: Responding on port 3001 (no change)
  • Files in Root: ~30 files (only essential configs)

🔍 WHAT CAN'T BREAK

These will NOT be affected by cleanup:

  • Running containers (not rebuilding)
  • Database data (no schema changes)
  • Environment variables (no changes)
  • Docker networks (no changes)
  • Active trades (Position Manager in memory)
  • Systemd service (file it references stays in root)

📝 COMMIT MESSAGE

Will use this format:

chore: Organize workspace structure - move docs, workflows, scripts to subdirectories

- Created docs/ for all documentation (setup, guides, history)
- Created workflows/ for n8n JSON files (trading, analytics, telegram, archive)
- Created scripts/ for shell scripts (docker, setup, testing)
- Created tests/ for TypeScript test files
- Created archive/ for unused reference files
- Updated README.md documentation links
- Deleted empty directories (data, screenshots)

All critical files remain in root:
- telegram_command_bot.py (active bot)
- watch-restart.sh (systemd service)
- Dockerfiles and docker-compose files
- Environment files

No code changes - purely organizational.
System continues running without interruption.

Recovery: git revert HEAD to restore previous structure

EXECUTION LOG

Will document each step as executed:

  1. Created directory structure
  2. Moved documentation files
  3. Moved workflow files
  4. Moved script files
  5. Moved test files
  6. Moved archive files
  7. Updated README.md
  8. Deleted empty directories
  9. Validated system still working
  10. Git commit and push

🎯 FINAL SAFETY NET

Before starting:

# Create a manual backup tag
git tag -a cleanup-before -m "State before workspace cleanup - recovery point"
git push origin cleanup-before

To recover using tag:

git reset --hard cleanup-before

READY TO PROCEED

This recovery plan provides:

  • 3 different recovery methods
  • Complete file location documentation
  • Validation checklist
  • Step-by-step rollback procedure
  • Git tag as safety net

Shall I:

  1. Create the git tag (safety net)
  2. Execute the cleanup
  3. Validate everything works
  4. Commit with detailed message
  5. Push to remote

Type "proceed" to start, or any concerns to address first.