#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT="$(cd "${SCRIPT_DIR}/../../.." && pwd)" EXP_ROOT="${ROOT}/experiments/ablation" PYTHON_BIN="${BIOMANUS_PYTHON:-/225040511/miniconda3/envs/biomni_e1/bin/python}" BACKGROUND=0 VARIANT="all" DEBUG=0 while [[ $# -gt 0 ]]; do case "$1" in --background) BACKGROUND=1; shift ;; --foreground) BACKGROUND=0; shift ;; --variant) VARIANT="$2"; shift 2 ;; --debug) DEBUG=1; shift ;; *) echo "Unknown argument: $1" >&2; exit 2 ;; esac done if [[ "${BACKGROUND}" -eq 1 ]]; then mkdir -p "${EXP_ROOT}/logs" LOG="${EXP_ROOT}/logs/all_ablation_$(date -u +%Y%m%d_%H%M%S).log" SCRIPT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/$(basename "${BASH_SOURCE[0]}")" CMD=("${SCRIPT}" "--foreground" "--variant" "${VARIANT}") if [[ "${DEBUG}" -eq 1 ]]; then CMD+=("--debug"); fi nohup "${CMD[@]}" > "${LOG}" 2>&1 < /dev/null & echo "Started full ablation in background." echo "PID: $!" echo "Log: ${LOG}" exit 0 fi LAB_ARGS=("--variant" "${VARIANT}") if [[ "${DEBUG}" -eq 1 ]]; then LAB_ARGS+=("--debug"); fi "${EXP_ROOT}/scripts/run_bioagentbench_ablation.sh" --foreground --variant "${VARIANT}" "${EXP_ROOT}/scripts/run_labbench_ablation.sh" --foreground "${LAB_ARGS[@]}" "${PYTHON_BIN}" "${EXP_ROOT}/scripts/summarize_ablation_results.py"