#!/bin/bash
set -euo pipefail
package_dir=$(cd "$(dirname "$0")" && pwd)
target_dir=${1:-/Users/bpa/ForesixaQuant}
[ -d "$target_dir" ] || { echo "Target repository is missing" >&2; exit 1; }
python3 "$package_dir/test_repairs.py"
mkdir -p "$target_dir/generated"
for name in verify_ledger_json.py portfolio_performance_ranker.py telemetry_notifier.py; do
    if [ -e "$target_dir/generated/$name" ]; then
        cp -p "$target_dir/generated/$name" "$target_dir/generated/$name.backup.$(date +%Y%m%d-%H%M%S).$$"
    fi
    replacement=$(mktemp "$target_dir/generated/$name.XXXXXX")
    trap 'rm -f "$replacement"' EXIT
    cp "$package_dir/generated/$name" "$replacement"
    chmod 600 "$replacement"
    mv -f "$replacement" "$target_dir/generated/$name"
    trap - EXIT
done
echo "Three repaired modules installed. Ledger/database untouched. No notifications sent."
