#!/usr/bin/env bash set -Eeuo pipefail IFS=$'\n\t' SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" ROOT="${ROOT:-$SCRIPT_DIR}" LOGDIR="${LOGDIR:-$SCRIPT_DIR/../logs/seeding}" TS="$(date +%Y%m%d_%H%M%S)" log() { printf '%s\n' "$*"; } log_err() { printf 'ERR: %s\n' "$*" >&2; } usage(){ cat </dev/null 2>&1 || { log_err "python3 not found"; exit 127; } log "=== 🧠 Hive Seeding Launcher ==="; log "All expansions will be ATOMICALLY HASHED and inserted into atomic_facts" rc=0 for pair in "${selected[@]}"; do s="${pair%%:*}"; base="${s%.py}"; logfile="$LOGDIR/${base}_$TS.log"; if [[ -f "$ROOT/$s" ]]; then log "➡️ Running $s (dry-run=${DRY_RUN})" if [[ "$DRY_RUN" == "1" ]]; then DRY_RUN=1 python3 "$ROOT/$s" >>"$logfile" 2>&1 || rc=$?; else python3 "$ROOT/$s" >>"$logfile" 2>&1 || rc=$?; fi [[ $rc -eq 0 ]] && log "✅ Completed $s (see: $logfile)" || log_err "❌ $s failed: $rc (see: $logfile)" else log_err "⚠️ Missing $ROOT/$s"; rc=1; fi done [[ $rc -eq 0 ]] && log "=== ✅ Hive expansions seeded (atomically hashed) ===" || log_err "=== ⚠️ Hive seeding completed with errors ==="; exit "$rc"