#!/bin/bash
# Full C0-C6 ladder against a Mistral 7B tune (non-tool-trained), the
# larger-model arm of the scale-vs-tool-training disentangler.
#
#   bash run-mistral-ladder.sh [MODEL] [PREFIX]
#
# Defaults to the instruct v0.2 tune. For the base/text tune:
#   bash run-mistral-ladder.sh mistral:7b-text-v0.2-q4_0 mistraltext
#
# Absolute paths below are local to the experiment machine.
set +e
CEL=/home/tiara/workspace/byteb4rb1e/cel
DD=$CEL/sek.ddist
XSEK=$CEL/xsek.byteb4rb1e
export VENV_PY=/home/tiara/.local/share/virtualenvs/sek.ddist-JE-PxZHd/bin/python
export SEK_MODEL="${1:-mistral:7b-instruct-v0.2-q4_0}"
export SEK_MODEL_URL="http://localhost:4000/v1"
export SEK_API_KEY="sk-litellm-dev"
PREFIX="${2:-mistral}"
N=5; SECS=120
cd "$DD" || { echo CD_FAIL; exit 0; }

log(){ echo "[$(date +%H:%M:%S)] $*"; }

prep(){   # $1 = seed config (c0..c6)   $2 = stop (yes/no)
  pkill -9 -f byteb4rb1e.sek.ddist 2>/dev/null; sleep 1
  if [ "$2" = "yes" ]; then git -C "$XSEK" checkout 9407df3 >/dev/null 2>&1
  else                     git -C "$XSEK" checkout 5b2b1c6 >/dev/null 2>&1; fi
  "$VENV_PY" set_seed.py "$1" >/dev/null
  rm -rf "$DD/src/byteb4rb1e/sek/ddist/rootfs"
  "$VENV_PY" -m byteb4rb1e.sek.ddist install >/dev/null 2>&1
  log "$1 (stop=$2): reinstalled, xsek=$(git -C "$XSEK" rev-parse --short HEAD)"
}

log "MISTRAL LADDER START  N=$N  secs=$SECS  model=$SEK_MODEL  prefix=$PREFIX"
prep c0 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c0 $N $SECS
prep c1 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c1 $N $SECS
prep c2 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c2 $N $SECS
prep c3 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c3 $N $SECS
prep c4 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c4 $N $SECS
prep c4 yes ; "$VENV_PY" _repl_driver.py ${PREFIX}_c5 $N $SECS   # C5 = C4 seed + stop-at-newline
prep c6 no  ; "$VENV_PY" _repl_driver.py ${PREFIX}_c6 $N $SECS

# restore working tree: C4 standalone seed + no-stop discipline
git -C "$XSEK" checkout 5b2b1c6 >/dev/null 2>&1
"$VENV_PY" set_seed.py c4 >/dev/null 2>&1
log "MISTRAL LADDER DONE  ($PREFIX)"
exit 0
