Requirements
The reference suite targets Linux with a working systemd --user manager; util-linux unshare, mount, and setpriv; unprivileged user and mount namespaces; Python 3.11 or newer; Git; Go; Node.js; and GitHub CLI with gh attestation. Claude runs also require Claude Code 2.1.187 or newer, bubblewrap, socat, and the executable sandbox-runtime seccomp helper.
The configured provider executable and its local prerequisites are required for dry-run validation. Authentication is required when the provider is invoked.
Skivolve runs generated code. Read the security model before using proprietary fixtures, private holdouts, or valuable provider credentials.
Install the verified release
git clone --branch v0.7.0 https://github.com/Dhi13man/skivolve.git
cd skivolve
python3 -m venv .venv
. .venv/bin/activate
mkdir -p /tmp/skivolve-0.7.0
gh release download v0.7.0 --repo Dhi13man/skivolve \
--pattern "skivolve-0.7.0*" --pattern SHA256SUMS \
--dir /tmp/skivolve-0.7.0
(cd /tmp/skivolve-0.7.0 && sha256sum --check SHA256SUMS)
gh attestation verify \
/tmp/skivolve-0.7.0/skivolve-0.7.0-py3-none-any.whl \
--repo Dhi13man/skivolve
python -m pip install \
/tmp/skivolve-0.7.0/skivolve-0.7.0-py3-none-any.whl
This leaves the tagged reference suite beside a provenance-verified installation. The runtime has one exact third-party dependency for RFC 8785 JSON canonicalization.
Validate without dispatch
skivolve --suite suite.json \
--comparison candidate-vs-original \
--dry-run
A dry run validates the manifest and selected cases, resolves required tools, binds source variants, checks provider protocol locks, and reports configured call and spend ceilings. Successful output contains "dry_run": true.
Run objective verifiers
skivolve \
--suite suite.json \
--comparison candidate-vs-original \
--verifier-only \
--output-dir /tmp/skivolve-verifier
This mode skips comparator judgment but still invokes the configured generation provider. It is suitable when the case-specific objective oracle is the intended decision authority. Provider-backed runs can consume metered API spend or subscription quota.
Understand the suite contract
Suite schema v1 requires explicit comparison arms, repetitions, task fixtures, bundle sources, verifier commands, execution limits, provider adapters, judgment mode, release comparisons, and artifact contracts. The included suite compares a frozen original bundle, the current candidate, and a no-skill control.
- Objective-only: the case verifier decides; no comparator is constructed.
- Judged: eligible ambiguity may use a selected, calibrated comparator profile.
- Artifact contract: each case selects a workspace diff, final text, or final JSON representation.
- Source authority: Git commits, paths, bytes, modes, and context inputs are fingerprinted and rechecked.
Read the authoritative suite contract, manifest schema, and case acceptance checklist.
Know what a result can claim
A public validation run is not a private holdout. A model-generated answer is not objective verification. A comparator decision is not source authority. Skivolve preserves those distinctions and fails closed when an artifact tries to borrow authority from another layer.
A release claim requires a separately stored private suite frozen before candidate evaluation, independent reviewers, a mode-0600 sealed plan, declared release comparisons, and a single consumed execution record. Judged claims additionally require fresh live comparator certification; the public repository ships none.