#!/bin/bash # pod_prep.sh — one-shot bootstrap for an RB4 fork pod. # Prereq: ~/.cache/huggingface/token already written (base64-decoded). # Installs deps, downloads all scripts + ckpt_280k branch-point + arcmix + tokenizer, arranges data-dir. set -euo pipefail export HF_HUB_ENABLE_HF_TRANSFER=0 export HF_TOKEN="$(cat ~/.cache/huggingface/token)" pip install -q huggingface_hub datasets tokenizers numpy 2>&1 | tail -1 mkdir -p /workspace/run && cd /workspace/run python - <<'PY' from huggingface_hub import hf_hub_download as d R = "SlayerLab/gollem-v5-ckpts" for f in ["train_gpt_ref.py", "glint_parity_eval.py", "tokenizer.json", "ckpt_autopush.py", "fabryka_push.py", "fork_launch.sh", "blend_edu.py", "build_v2_blend.py", "build_decontam_index.py", "v1_muon/ckpt_320k.pt", "vals/arcmix_val.bin"]: print(d(R, f, local_dir=".")) print(d("SlayerLab/gollem-ui-mirror", "arcmix/train.bin", repo_type="dataset", local_dir=".")) PY mkdir -p data_arcmix ln -sf "$(pwd)/arcmix/train.bin" data_arcmix/train.bin ln -sf "$(pwd)/vals/arcmix_val.bin" data_arcmix/val.bin echo "=== POD-PREP DONE ===" echo "arcmix data-dir:"; ls -la data_arcmix/ echo "branch-point:"; ls -la v1_muon/ckpt_320k.pt echo "" echo "NEXT — fresh-resume-arcmix (2sigma-seed):" echo " mkdir -p run_arcmix_s2 && cp v1_muon/ckpt_320k.pt run_arcmix_s2/ckpt.pt" echo " bash fork_launch.sh data_arcmix run_arcmix_s2 forkctrl_arcmix_s2 4242" echo "NEXT — fork-B (after edu.bin present + blend built):" echo " python blend_edu.py --arcmix arcmix/train.bin --edu edu.bin --out data_blend/train.bin --arcmix-tokens 2000000000 --edu-tokens 2000000000" echo " cp vals/arcmix_val.bin data_blend/val.bin && mkdir -p run_forkB && cp v1_muon/ckpt_320k.pt run_forkB/ckpt.pt" echo " bash fork_launch.sh data_blend run_forkB forkB_arcmix_edu 1337"