Skip to main content

1. Install and set up your agent

kennet skill install finds the coding agents on your machine (Claude Code, Codex, Hum, Gemini CLI, GitHub Copilot CLI, Cursor, opencode). In each one it installs the Kennet skill and adds the kennet MCP server, https://kennet.metaphi.ai/mcp/. It prints the sign-in command for each agent, for example hum mcp login kennet. Start a new session afterwards so the skill loads. kennet agents list shows what is installed where, and --harness picks one agent. Sign in to the server with GitHub. Every call is checked against your own GitHub access, and the tools listed are the ones your access reaches. Without the CLI, add the server by hand. In Hum:
For other clients, see Connect an MCP server.

2. Push a bundle

A bundle is a directory holding task.toml, with instruction.md, environment/, solution/solve.sh and tests/test.sh. Push it first: Kennet clones GitHub, never your checkout. The steps below use acme/tasks at main, bundle tasks/fix-rounding. Its runs land under fix-rounding/. You can ask your agent in plain words (“run pre-run checks on tasks/fix-rounding”); the calls are shown so you know what it sends.

3. Pre-run checks

It returns a task. Poll get_task until it ends. Read tasks[<bundle>].eval_ready; when false, gate.blocking_checks names what to fix. Edit, push, call again. The report lands at fix-rounding/ci/<run id>/. arms (default true) runs the validate run that decides eval_ready: the reference solution, the untouched code, and every solution in the bundle’s wrong/ and right/. With arms off, the call screens and audits only and cannot be eval_ready.

4. Validate

One trial per leg: the reference solution must score 1.0, the untouched code below it, and a cheat probe must not pass. It lands at fix-rounding/validate/<run id>/.

5. Conduct

Eight trials, each reviewed as it finishes. reasoning_effort is required; Kennet has no default. The task’s progress counts calls by phase while it works. The run lands at fix-rounding/eval/<run id>/<model slug>/.

6. Read the run

harbor_rollouts gives one row per trial (reward, failure type, cost, tokens, phase times) and per task the pass@k and its band. harbor_run_report lists one run’s trials and files; name a trial for its review report.

7. Review the trajectories

Every trial gets trajectory_report.json: whether the reward was earned, whether the agent got stuck, and recommended fixes to the task. Disagree with a verdict? See Post-run.

8. Pull it

It returns a curl command. Run it; the run lands in ./jobs/<run id>/ in Harbor’s layout, and harbor view jobs/<run id> browses it.

Then decide

Too easy (pass@k near 1)? Harden the task. Unsolved and the reviews say the instruction is short of information? Fix the instruction. Then push and go round again. Keeping, revising and rejecting are yours.