Package Exports
- @codragraph/harness
- @codragraph/harness/algorithm
- @codragraph/harness/algorithm.js
- @codragraph/harness/cli/main
- @codragraph/harness/cli/main.js
- @codragraph/harness/evaluator/impl
- @codragraph/harness/evaluator/impl.js
- @codragraph/harness/evaluator/judge
- @codragraph/harness/evaluator/judge.js
- @codragraph/harness/evaluator/runner
- @codragraph/harness/evaluator/runner.js
- @codragraph/harness/evaluator/score
- @codragraph/harness/evaluator/score.js
- @codragraph/harness/filesystem
- @codragraph/harness/filesystem.js
- @codragraph/harness/graph/http-client
- @codragraph/harness/graph/http-client.js
- @codragraph/harness/graph/index
- @codragraph/harness/graph/index.js
- @codragraph/harness/graph/local-client
- @codragraph/harness/graph/local-client.js
- @codragraph/harness/harness/interface
- @codragraph/harness/harness/interface.js
- @codragraph/harness/harness/seeds/few-shot
- @codragraph/harness/harness/seeds/few-shot.js
- @codragraph/harness/harness/seeds/graph-aware
- @codragraph/harness/harness/seeds/graph-aware.js
- @codragraph/harness/harness/seeds/index
- @codragraph/harness/harness/seeds/index.js
- @codragraph/harness/harness/seeds/zero-shot
- @codragraph/harness/harness/seeds/zero-shot.js
- @codragraph/harness/index
- @codragraph/harness/index.js
- @codragraph/harness/inference/claude
- @codragraph/harness/inference/claude.js
- @codragraph/harness/inference/index
- @codragraph/harness/inference/index.js
- @codragraph/harness/inference/interface
- @codragraph/harness/inference/interface.js
- @codragraph/harness/inference/openai
- @codragraph/harness/inference/openai.js
- @codragraph/harness/inference/opencode
- @codragraph/harness/inference/opencode.js
- @codragraph/harness/loader
- @codragraph/harness/loader.js
- @codragraph/harness/mcp/handler
- @codragraph/harness/mcp/handler.js
- @codragraph/harness/moat/index
- @codragraph/harness/moat/index.js
- @codragraph/harness/moat/lookup
- @codragraph/harness/moat/lookup.js
- @codragraph/harness/moat/recipe-store
- @codragraph/harness/moat/recipe-store.js
- @codragraph/harness/moat/swarm-with-moat
- @codragraph/harness/moat/swarm-with-moat.js
- @codragraph/harness/moat/types
- @codragraph/harness/moat/types.js
- @codragraph/harness/pareto
- @codragraph/harness/pareto.js
- @codragraph/harness/proposer/claude-code
- @codragraph/harness/proposer/claude-code.js
- @codragraph/harness/proposer/interface
- @codragraph/harness/proposer/interface.js
- @codragraph/harness/swarm/algorithm
- @codragraph/harness/swarm/algorithm.js
- @codragraph/harness/swarm/coordinator
- @codragraph/harness/swarm/coordinator.js
- @codragraph/harness/swarm/critic
- @codragraph/harness/swarm/critic.js
- @codragraph/harness/swarm/exploiter
- @codragraph/harness/swarm/exploiter.js
- @codragraph/harness/swarm/explorer
- @codragraph/harness/swarm/explorer.js
- @codragraph/harness/swarm/interface
- @codragraph/harness/swarm/interface.js
- @codragraph/harness/swarm/termination
- @codragraph/harness/swarm/termination.js
- @codragraph/harness/trace
- @codragraph/harness/trace.js
- @codragraph/harness/types
- @codragraph/harness/types.js
Readme
codragraph-harness
Auto-tuned harnesses for AI agents — Meta-Harness Algorithm 1 with Pareto search over (accuracy, tokens, latency).
Built on top of codragraph MCP tools (graph-aware code intelligence) and works with any inference provider (Claude, Codex, OpenCode, OpenAI, Anthropic, Gemini, ...).
Status
Developer preview. The package ships with single-proposer search, multi-role swarm search (Explorer + Exploiter + Critic), versioned recipe memory keyed on graph snapshots, and CLI / MCP entry points.
See RFC.md for the full design.
Concept
A harness is the code around a fixed base model that decides what to store, retrieve, and present at each step. Different harnesses produce different (accuracy, token-cost, latency) tradeoffs for the same task family.
codragraph-harness search runs an outer optimization loop:
- Start with seed harnesses (
zero-shot,few-shot,graph-aware). - Score each on a search-set of tasks → 3-vector
(accuracy, tokens, latencyMs). - An agentic proposer (Claude Code by default) reads the filesystem of all prior candidates' source + traces + scores and writes new harness variants.
- Each new harness is validated, scored, added to the Pareto frontier.
- Loop for N iterations.
- Return the non-dominated frontier.
Reference: Meta-Harness paper, arXiv 2603.28052.
Usage (planned)
codragraph-harness search \
--task ./tasks/codebase-qa/ \
--seeds zero-shot,few-shot,graph-aware \
--iterations 20 \
--proposer claude-code \
--output ./runs/2026-04-29/import { search } from "codragraph-harness";
const frontier = await search({
taskSet: "./tasks/codebase-qa/",
iterations: 20,
proposer: "claude-code",
});Also exposed as a harness_run MCP tool and via codragraph-sdk.