bencalvert04/programbench
ProgramBench cleanroom reconstruction tasks: reimplementing real-world CLI tools from popular open-source repos.
harbor run -d bencalvert04/programbenchbencalvert04/programbench
A Harbor port of ProgramBench: 200 cleanroom program-reconstruction tasks. In each task, an agent sees only a compiled reference binary and its documentation for a real-world open-source CLI tool, and must reimplement the program from scratch so its behavior matches the original. Scoring runs the agent's build against a hidden behavioral test suite; the reward is the pass rate over active tests.
What's in the dataset
- 200 tasks, each named
bencalvert04/<repo-org>--<repo-name>.<commit>(e.g.bencalvert04/burntsushi--ripgrep.3b7fd44), one per source repository. - Source languages: Rust (107), Go (46), C (33), C++ (12), Java (1), Haskell (1).
- Difficulty (as labeled upstream): 120 medium, 35 unknown, 27 easy, 18 hard.
- Excludes the upstream
testorg__fixture task.
How each task works
- Agent phase — runs in a cleanroom container containing only the reference binary and docs, with
network_mode = "allowlist"(LLM API hosts only). - Verifier phase — runs in a separate sandbox built from the same cleanroom image with
/workspacewiped, so the agent's own binary can't leak into scoring. Hidden tests are pulled from HuggingFace or a local blob cache. - Oracle — a reference solution (
solution/solve.sh) restores the cleanroom binary after the hash-scrub, so Harbor's built-inoracleagent gives a sanity ceiling. Note the oracle mean across all 200 tasks is expected to be below 1.0 (upstream test flakiness / partial branch coverage on some tasks) — this is a known upstream property, not a bug in the port.
Each task's reward.json reports three keys (all 0–1, averaged by Harbor's default Mean):
| Key | Meaning |
|---|---|
reward |
pass rate over active hidden tests |
resolved |
1.0 if pass rate is exactly 1.0, else 0.0 |
almost_resolved |
1.0 if pass rate is ≥ 0.95, else 0.0 |
Running it
harbor run -d bencalvert04/programbench -a claude-code -m anthropic/claude-opus-4-1
Or against a single task:
harbor run -t bencalvert04/programbench/burntsushi--ripgrep.3b7fd44 -a claude-code -m anthropic/claude-opus-4-1
Source
Generated from a local ProgramBench checkout via the programbench-adapter CLI in this repo (adapters/programbench/). See that adapter's README for adapter internals, task-template details, and the full generation/verification harness.
Displaying 0 of 200 tasks