Skip to main content

Lightweight grading toolkit for environment-based tasks.

Project description

Harbor Rewardkit

Docs

The Harbor Rewardkit is a lightweight package to define and run verifiers. Rewardkit is designed to be used with the Harbor task format but you can use it on its own.

Installation

uv tool install harbor-rewardkit

Example: Programmatic criteria

# tests/check.py
from rewardkit import criteria

criteria.file_exists("output.txt")
criteria.file_contains("output.txt", "hello")

Example: LLM judge

# tests/quality.toml
[judge]
judge = "anthropic/claude-sonnet-4-6"
files = ["/app/main.py"]

[[criterion]]
description = "Is the code correct?"
type = "binary"

Example: Agent judge with an MCP server

Each [[judge.mcp_servers]] entry matches a Harbor task's [[environment.mcp_servers]]. Per-server allowed_tools lists the tools the judge may call; omit it to allow all of the server's tools. codex ignores allowed_tools and does not support sse servers.

# tests/quality.toml
[judge]
judge = "claude-code"

[[judge.mcp_servers]]
name = "playwright"
transport = "stdio"
command = "npx"
args = ["@playwright/mcp@latest", "--headless", "--isolated"]
allowed_tools = ["navigate", "click"]

[[criterion]]
description = "Does the rendered page match the spec?"
type = "binary"

Usage

Add rewardkit to your test.sh file:

# tests/test.sh
uvx harbor-rewardkit@0.1 /tests

See the documentation and a full working example.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harbor_rewardkit-0.1.7.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

harbor_rewardkit-0.1.7-py3-none-any.whl (46.4 kB view details)

Uploaded Python 3

File details

Details for the file harbor_rewardkit-0.1.7.tar.gz.

File metadata

  • Download URL: harbor_rewardkit-0.1.7.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for harbor_rewardkit-0.1.7.tar.gz
Algorithm Hash digest
SHA256 1afd6bf4aac87a6d95a563d6e2062df175e104ef8c3b94361b5054670ba0d278
MD5 040311375db1c20cf06991712e10972e
BLAKE2b-256 8bc2250143b4373cf4f654e8efffa51e5058b16485769315b5ce1704c9366723

See more details on using hashes here.

File details

Details for the file harbor_rewardkit-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: harbor_rewardkit-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 46.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for harbor_rewardkit-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 cb9938e551a0ac2cd21f68e819c3f6f6b3a7cebb2e8ae4a19fb3148d5514539c
MD5 3c1e37c40f9204a37090d79acaa12905
BLAKE2b-256 6abeb5e8a882023f420ad6636344f0cf890892f9e586fc7c370b4395f5333609

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page