#!/usr/bin/env bash set -Eeuo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # shellcheck source=candidates.sh source "$SCRIPT_DIR/candidates.sh" candidate_config "${1:-}" target_dir="$MODEL_ROOT/$CANDIDATE_ID" target="$target_dir/$MODEL_FILE" partial="$target.part" install -d -m 0755 "$target_dir" if [[ -s $target ]]; then printf '%s %s\n' "$MODEL_SHA256" "$target" | sha256sum -c - echo "Already prepared: $target" exit 0 fi echo "Downloading pinned $CANDIDATE_ID artifact ($MODEL_SIZE bytes)" curl --fail --location --retry 8 --retry-delay 5 --continue-at - \ --output "$partial" "$MODEL_URL" actual_size=$(stat -c %s "$partial") if [[ $actual_size != "$MODEL_SIZE" ]]; then echo "Size mismatch: expected $MODEL_SIZE, got $actual_size; keeping $partial for inspection" >&2 exit 1 fi printf '%s %s\n' "$MODEL_SHA256" "$partial" | sha256sum -c - mv -f "$partial" "$target" echo "Prepared and verified: $target"