Skip to content

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 in paths.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.