#!/usr/bin/env bash
# Run once per checkout. Requires vp i beforehand. Use only a disposable worktree.
set -euo pipefail
checkout=$1
out=$2
mkdir -p "$out"
out=$(cd "$out" && pwd)
python3 "$(dirname "$0")/instrument.py" "$checkout"
cd "$checkout"
export ACP_PROOF_LOG="$out/events.jsonl"
export T3CODE_DEV_SEED=0
vp run dev > "$out/server-private.log" 2>&1 &
runner_pid=$!
trap 'kill -INT "$runner_pid" 2>/dev/null || true' EXIT
# Wait for the server to publish its CLI connection descriptor and finish startup.
# Never upload server-private.log: it contains pairing credentials.
for attempt in $(seq 1 120); do
  if rg -q 'Authentication required' "$out/server-private.log"; then break; fi
  sleep 1
done
node apps/server/src/bin.ts project add --base-dir .t3 --title 'Synthetic ACP proof' .
node apps/server/src/bin.ts thread start --base-dir .t3 --provider devReplay --model showcase --title 'Unread notification proof' . 'Emit the synthetic notification sequence' --wait --json
cat "$out/events.jsonl"
