#!/usr/bin/env bash
# Optimization dispatcher
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"

case "${1:---all}" in
    --all|-a)
        echo "Running full optimization walkthrough..."
        echo ""
        echo "=== Phase 1: Core System ==="
        bash "$SCRIPT_DIR/scripts/optimize/tuned-profile.sh"
        bash "$SCRIPT_DIR/scripts/optimize/kernel-params.sh"
        bash "$SCRIPT_DIR/scripts/optimize/vram-gtt.sh"
        echo ""
        echo "=== Phase 2: System Tuning ==="
        bash "$SCRIPT_DIR/scripts/optimize/power-profile.sh"
        echo ""
        bash "$SCRIPT_DIR/scripts/optimize/verify.sh"
        ;;
    --kernel|-k)  exec bash "$SCRIPT_DIR/scripts/optimize/kernel-params.sh" ;;
    --tuned|-t)   exec bash "$SCRIPT_DIR/scripts/optimize/tuned-profile.sh" ;;
    --vram|-v)    exec bash "$SCRIPT_DIR/scripts/optimize/vram-gtt.sh" ;;
    --power|-p)   exec bash "$SCRIPT_DIR/scripts/optimize/power-profile.sh" ;;
    --verify)     exec bash "$SCRIPT_DIR/scripts/optimize/verify.sh" ;;
    --rollback)   exec bash "$SCRIPT_DIR/scripts/optimize/rollback.sh" ;;
    *)
        echo "Usage: optimize [--all|--kernel|--tuned|--vram|--power|--verify|--rollback]"
        echo "  --all       Full optimization walkthrough (Phase 1 + 2)"
        echo "  --kernel    Configure kernel boot parameters"
        echo "  --tuned     Switch tuned profile"
        echo "  --vram      BIOS VRAM + GTT guidance"
        echo "  --power     Phase 2: ryzenadj, sysctl, THP, RADV"
        echo "  --verify    Post-optimization checklist"
        echo "  --rollback  Revert changes"
        exit 1
        ;;
esac
