569f9947fd
- Fix recovery level selection logic: Now uses error-type-based detection instead of level-based progression. Added detect_recovery_level_from_errors() function that maps specific error patterns to appropriate recovery levels (missing files → Level 1, redo incompatibility → Level 5, corruption → Levels 1/4/6 with escalation, etc.) - Fix shutdown/reset crashes: Improved stop_second_instance() and cleanup_on_exit() trap handlers with proper validation. Now verifies socket removal and process termination before marking instance as stopped. Implements graceful shutdown with force-kill fallback if needed. Prevents stale sockets/locks that cause crashes on subsequent runs. - Fix while loop condition: Removed buggy [ -n "$count" ] check that was always true. Loop now correctly terminates based on numeric condition [ "$count" -lt 30 ]. - Integrate error-based recovery recommendations: Modified show_recovery_options() to call detect_recovery_level_from_errors() early and display both error type and recommended recovery level to user. Provides intelligent, error-specific guidance instead of generic level progression. All changes validated: ✓ Syntax check: bash -n passing ✓ QA scan: No new HIGH issues introduced (2 MEDIUM, 1 LOW are pre-existing) ✓ Script still handles all recovery scenarios Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>