This release is a pre-release and may not be stable for production use.
CUBE Standard
This repo contains the code and documentation for the AI Alliance: CUBE Standard project, which standardizes benchmark wrapping so the community can wrap otherwise-incompatible benchmarks uniformly and use them everywhere.
CUBE Standard defines the protocol — the Tool, Task, Benchmark, Observation, and Action interfaces that any benchmark must implement. cube-harness is the evaluation runtime that runs agents against CUBE-compatible benchmarks.
Paper: arXiv:2603.15798
Principal developer: ServiceNow AI Research.
Components
CUBE Standard is organized into three layers:
| Layer | Package | Description |
|---|---|---|
| Core | cube-standard (this repo) |
interfaces: Tool, Task, Benchmark, Observation, Action |
| Resources | cube-resources/ |
Optional shared infrastructure (browser sessions, VM backends) |
| Tools | cube-tools/ |
Optional action executors (browser tools, computer tools) |
Resources are pieces of shared infrastructure — e.g. a running browser instance or a VM — that are launched once and shared across tasks. Tools execute agent actions against that infrastructure.
Benchmark ──► TaskConfig ──► Task ──► Tool ──► Resource ──► Environment
▲ (cube-tools) (cube-resources)
cube-standard
See cube-resources/README.md and cube-tools/README.md for available implementations and usage examples.
Installation
Requires Python 3.12+. Install with uv:
uv add cube-standard
Or with pip:
pip install cube-standard
To include optional container backends:
# Docker support
uv add "cube-standard[docker]"
# Modal support
uv add "cube-standard[modal]"
# Daytona support
uv add "cube-standard[daytona]"
For development (includes test and lint tools):
git clone https://github.com/The-AI-Alliance/cube-standard
cd cube-standard
uv sync --extra dev
CLI commands
| Command | What it does |
|---|---|
cube init [NAME] |
Scaffolds a new benchmark package from the built-in template |
cube list |
Lists all installed benchmarks registered under cube.benchmarks entry points |
cube test NAME |
Runs the debug suite and asserts reward == 1.0 on every debug task |
For benchmark contributors
Three ways to start:
- Guided — run
/new-cubein Claude Code with this repo checked out. The skill interviews you, scaffolds the package, fills TODOs, and validates end-to-end. - Copy —
cp -r examples/counter-cube my-bench && cd my-bench && uv sync, then edit the placeholders. - Scaffold —
cube init my-bench && cd my-bench && uv sync, then work through theTODOmarkers.
Validate with cube test my-bench (every debug task must reach reward == 1.0), self-audit with /review-cube ./my-bench, and submit with cube registry add --submit.
See the Authoring a CUBE guide for the full walkthrough. CONTRIBUTING.md covers framework invariants and the RFC process.
For framework contributors
Want to change CUBE itself — a field, a method, a protocol type — rather than wrap a benchmark? CUBE is a small contract many cubes depend on, so we hold framework changes to a high bar (lean and general beats convenient-for-one). Start here:
- Design Philosophy — the broader picture and the bar a change must clear. Read this before proposing an API change. Most needs have a smaller in-schema form.
- Contribution workflow — branch → RFC → code → smoke → review, end to end.
- ROADMAP.md — where the project is heading, so your change rides with it.
/gatekeep-rfc(skill) — run it locally and iteratively while shaping your idea (on a rough sketch, not just a finished draft); it reads it the way a maintainer will and points at the smallest change that fits. Converge locally before opening a PR — don't polish a full proposal only to get reshaped.
Getting Involved
All contributions are welcome — open an issue, submit a PR, or wrap a new benchmark. See CONTRIBUTING.md for the development guide and RFC process.
Want to contribute a benchmark? Whether you're an original author or just a frequent user, fill out this short form to let us know. No commitment required — we'll follow up based on your interest and the benchmark's fit.
Want deeper involvement? Join the core team, shape the roadmap, and get credit for what you build. Apply here.
For general AI Alliance contribution guidelines, see the community repo and Code of Conduct.
All code contributions are licensed under the Apache 2.0 LICENSE (which is also in this repo, LICENSE.Apache-2.0).
All documentation contributions are licensed under the Creative Commons Attribution 4.0 International (which is also in this repo, LICENSE.CC-BY-4.0).
All data contributions are licensed under the Community Data License Agreement - Permissive - Version 2.0 (which is also in this repo, LICENSE.CDLA-2.0).
We use the "Developer Certificate of Origin" (DCO).
See the Alliance contributing guide section on DCO for details. In practical terms, supporting this requirement means you must use the -s flag with your git commit commands.
Pre-commit hooks (recommended)
This repo uses the pre-commit framework to run fast checks locally before you commit, including enforcing the DCO Signed-off-by line.
Install the hooks (you only need to do this once per clone):
pre-commit install --hook-type pre-commit --hook-type commit-msg
Run the checks on all files (optional, useful the first time):
pre-commit run --all-files
When committing, include your sign-off:
git commit -s -m "your message"
Metadata
Release files for cube-standard 0.1.0rc10
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cube_standard-0.1.0rc10.tar.gz | 134.8 kB | With provenance | Details for cube_standard-0.1.0rc10.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| cube_standard-0.1.0rc10-py3-none-any.whl | Python 3 | none | any | Details for cube_standard-0.1.0rc10-py3-none-any.whl |
Total release size: 287.5 kB
Release files / cube_standard-0.1.0rc10.tar.gz
| Download URL | cube_standard-0.1.0rc10.tar.gz |
|---|---|
| Size | 134.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f749d92976ab843b387673e6066af3d233060ac4821b87a840cc1263141d228
|
|
BLAKE2b-256 checksum How to use checksums |
75c56415d49accab5f027820c6bf1a890f4139744e99ffcc69b87633747f939c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logRelease files / cube_standard-0.1.0rc10-py3-none-any.whl
| Download URL | cube_standard-0.1.0rc10-py3-none-any.whl |
|---|---|
| Size | 152.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7e3708377e5787921f4dc36a74a31582f8bbd2b72ec6a8dfabba0ab32c26a465
|
|
BLAKE2b-256 checksum How to use checksums |
c7cf4145df56aa2b2ee995a28bce923684c0ab59fa30496d97376de1c5dc1d63
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logSecurity for cube-standard 0.1.0rc10
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for cube_standard-0.1.0rc10.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.