Installation
Prerequisites
- Python 3.10 or later.
- OpenCode for the Arena workflow; the checked-in judge and mutator agents are configured for OpenCode Go.
- A GPU node with SLURM, or a local GPU configured in
user_config.yaml. - A node-side
btp-compatible harness exposing the APIs listed inpaths.py. - Target and primary-judge model weights available in the Hugging Face cache.
- Your own behavior CSV and benign prompt banks. The project does not publish raw experiment data.
Clone and install the lightweight Python dependencies
git clone https://github.com/punctualprocrastinator/whetstone.git
cd whetstone
python -m venv .venv
Activate the environment, then install the CPU-side helpers:
# Linux/macOS
source .venv/bin/activate
python -m pip install -r blue/requirements.txt
On Windows PowerShell, activate with \.venv\Scripts\Activate.ps1. The target and classifier libraries require a compatible PyTorch/Transformers installation on the GPU node; see node_setup.sh and your node's CUDA guidance.
Prepare the GPU node
The setup script needs your repository URL and a compatible harness source or existing harness path:
V2_REPO_URL=https://github.com/punctualprocrastinator/whetstone.git \
V2_HARNESS_REPO=<your-btp-compatible-harness-url> bash node_setup.sh
If the harness is private, do not put credentials in the URL or commit them. Set V2_HARNESS_DIR on the node to an authorized local checkout instead. The script downloads model weights only; it does not supply Whetstone's private behavior or benign data.
Verify access
Copy user_config.yaml.example to the gitignored user_config.yaml, fill it in, then run from the repository root:
python schedule.py check
If using OpenCode Go Muse Spark Contributor, read Data and privacy before sending any prompts or completions.