Skip to main content

Harness-agnostic evaluation of single-agent and orchestrated coding systems

Project description

Orchestrator Uplift Harness

PyPI Python

ouh compares a coding manager working alone with the same manager using model-bound subagents. Evaluation logic is independent of Codex and OpenCode; harness-specific behavior lives behind adapters.

The first comparison targets OpenCode with Gemma 4 31B as the manager and mistralai/devstral-2512 as the optional coding worker. The checked-in condition keeps the canonical model ID openrouter/mistralai/devstral-2512. Because current OpenCode model discovery does not expose that entry, the adapter creates an isolated OpenRouter-compatible provider alias for transport and records both identities in every trial.

Quick start

Install the published CLI and copy its immutable input suite into a writable working directory:

uv tool install orchestrator-uplift-harness
ouh init --destination ./orchestrator-eval
cd orchestrator-eval
ouh validate --root .

For development from a source checkout:

uv sync --python 3.14
uv run ouh validate --root .
uv run ouh preflight \
  --comparison comparisons/opencode_gemma4_devstral2.toml
uv run ouh run \
  --comparison comparisons/opencode_gemma4_devstral2.toml \
  --suite suites/spawn_smoke.toml \
  --repeats 1 \
  --run-id opencode-spawn-proof
uv run ouh report --run-id opencode-spawn-proof

Use suites/smoke.toml and multiple repeats for an uplift experiment. The one-case spawn_smoke.toml suite proves the wiring only; it cannot establish a quality advantage.

The native smoke suite now spans eight task shapes, including concurrency, graph/cycle debugging, backward-compatible feature work, and security hardening. For real-repository evidence, benchmarks/ contains pinned, deterministically stratified SWE-bench Verified and Multilingual selections. The package ships selection metadata and digests, not upstream repositories, test patches, gold patches, model outputs, or run artifacts.

Included inputs

  • Eight deterministic native coding tasks and hidden workspace graders.
  • Codex and OpenCode single-agent/orchestrated conditions.
  • OpenCode Gemma 4 31B plus mistralai/devstral-2512 worker condition.
  • SWE-bench Verified selections with 24 and 100 pinned instance IDs.
  • SWE-bench Multilingual selections with 18 and 42 pinned instance IDs.
  • The checkout and official Docker-evaluator bridge for real SWE-bench issues.

All benchmark families remain separate in reports. Function synthesis, repository issue resolution, and terminal work are not collapsed into one opaque score.

Evaluation contract

  • Baseline and candidate receive the same task and fresh fixture state.
  • The baseline technically denies child creation.
  • Delegation-required cases must produce a child session; negative controls must not delegate.
  • Quality comes only from an external deterministic workspace grader.
  • Runtime status, quality, tokens, cost, latency, and cleanup are stored as separate observations.
  • Every observed child records its agent, canonical model, transport model, parent session, and exact ID.
  • OpenCode state is isolated per trial. Cleanup deletes only observed session IDs and verifies that the trial database contains none of them afterward.
  • Large or truncated OpenCode exports fall back to the same isolated session database for identity and usage; failure of both sources blocks the trial.

Generated runs live under artifacts/<run-id>/ and are intentionally ignored by Git because they may contain large transient workspaces. The final report is available as JSON, Markdown, and static HTML inside that directory.

Requirements

  • Python 3.14 or newer.
  • Git for isolated benchmark workspaces.
  • OpenCode and/or the Codex app binary for their respective adapters.
  • Docker plus a separately installed, pinned SWE-bench evaluator only when running external SWE-bench instances.

Provider credentials remain in the native harness credential stores. They are not copied into the generated working directory or distribution archives.

License

MIT. Upstream benchmark repositories and datasets retain their own licenses.

Development

uv sync --python 3.14
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy src

See the versioned design and implementation plan under docs/superpowers/.

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

orchestrator_uplift_harness-0.1.0.tar.gz (60.4 kB view details)

Uploaded Source

Built Distribution

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

orchestrator_uplift_harness-0.1.0-py3-none-any.whl (93.7 kB view details)

Uploaded Python 3

File details

Details for the file orchestrator_uplift_harness-0.1.0.tar.gz.

File metadata

File hashes

Hashes for orchestrator_uplift_harness-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b8cb348fcebaffa2c14adb4bdf376d439853da65f2046792080cfb09255c3cc9
MD5 c66db8d6317f35690adea8ec130549f2
BLAKE2b-256 f0f2bf89fa0c44f55c45ada07d9b5b7081574594b2c45d72a9661a9844070ae2

See more details on using hashes here.

File details

Details for the file orchestrator_uplift_harness-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for orchestrator_uplift_harness-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e7acf3a0c8cdf651a73889b72bb33f2fd980c0233e34c4db546139062be7d4b
MD5 e2da2f60ebe8b23ccffece76eabd82ac
BLAKE2b-256 710d507bd4713ab2b29cbfee42654c2700993f76d7352cbfb1fac2cdbb8dc146

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