Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Headline entrypoints: `runAgentTask`/`runAgentTaskStream` (`src/run.ts`), the mu

## Commands

- `pnpm run lint` (Biome — **not** `npx biome`), `pnpm run build`, `pnpm test`, `pnpm run typecheck`. Tests live next to code and under `tests/`; the loops kernel is covered by `tests/loops/`.
- `pnpm run lint` (Biome — **not** `npx biome`), `pnpm run build`, `pnpm test`, `pnpm run typecheck`. Tests live next to code and under `tests/`; the execution kernel is covered by `tests/kernel/`.
- **Publish gotcha (Tangle obfuscate step):** never give a module-global `const` an UPPERCASE-prefixed name — the obfuscator (`--rename-globals false`) trips `pnpm pack`/verify-dist on a banned UPPERCASE pattern. (e.g. `SIDECAR_PERMISSION_KEYS` → `CANONICAL_PERMISSION_KEYS`.) Lowercase or rename module-globals.
- Verify with the dedicated tools (Edit/Read errors if a change failed) — don't re-read files just to confirm an edit landed.

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ That file defines the scripted `worker`, `output`, and `validator` used below so
Replace the scripted worker with a sandbox, CLI bridge, or router backend without changing the driver.

```ts
import { inProcessSandboxClient, runAgentRounds } from '@tangle-network/agent-runtime/loops'
import { inProcessSandboxClient, runAgentRounds } from '@tangle-network/agent-runtime/kernel'

const result = await runAgentRounds<Task, Note, 'refine' | 'pick-winner' | 'fail'>({
task: { prompt: 'Write a one-line release note for one-click restore.' },
Expand Down Expand Up @@ -113,7 +113,7 @@ For a repeated initial dispatch, reuse both `sessionId` and `turnId`; `execution
One supervisor spawns and steers workers toward a goal. Where the workers run (an in-process loop, or a sandboxed coding harness) is one data value; the budget, journaling, and stopping are handled for you.

```ts
import { supervise } from '@tangle-network/agent-runtime/loops'
import { supervise } from '@tangle-network/agent-runtime/kernel'

const result = await supervise(
{ name: 'supervisor', harness: null, systemPrompt: 'Delegate to workers; do not solve the task yourself.' },
Expand Down Expand Up @@ -434,11 +434,11 @@ The general-purpose pieces, by import path. Every export with its one-line summa

| Primitive | What it does | Import |
|---|---|---|
| Chat-turn runtime | Stream and persist one production chat turn (`handleChatTurn`); derive its stable execution and turn identity (`deriveExecutionId`); normalize any backend's stream into one event shape (`streamAgentTurn`) | `/durable` · `/loops` |
| Supervision | One agent spawns, budgets, and steers workers toward a goal (`supervise`, `delegate`), on an in-process loop or a sandboxed coding harness | `/loops` · `/mcp` |
| Loop kernel + combinators | Write a driver (`plan`/`decide`) and run it (`runAgentRounds`), or compose fixed shapes: refine (`loopUntil`), best-of-N (`fanout`), chain (`pipeline`), multi-judge (`panel`) | `/loops` |
| Chat-turn runtime | Stream and persist one production chat turn (`handleChatTurn`); derive its stable execution and turn identity (`deriveExecutionId`); normalize any backend's stream into one event shape (`streamAgentTurn`) | `/durable` · `/kernel` |
| Supervision | One agent spawns, budgets, and steers workers toward a goal (`supervise`, `delegate`), on an in-process loop or a sandboxed coding harness | `/kernel` · `/mcp` |
| Loop kernel + combinators | Write a driver (`plan`/`decide`) and run it (`runAgentRounds`), or compose fixed shapes: refine (`loopUntil`), best-of-N (`fanout`), chain (`pipeline`), multi-judge (`panel`) | `/kernel` |
| Improvement driver | Optimize one part of an agent and ship only if it wins on tasks it never practiced on (`improve`); production proposal/review/activation flow | root · `/intelligence` |
| Benchmarks + leaderboards | Compare strategies with significance stats (`runBenchmark`), stand up a harness×model leaderboard (`defineLeaderboard`, `leaderboard`) | `/loops` |
| Benchmarks + leaderboards | Compare strategies with significance stats (`runBenchmark`), stand up a harness×model leaderboard (`defineLeaderboard`, `leaderboard`) | `/kernel` |
| Knowledge improvement | Produce a measured candidate copy of a KB/wiki/RAG corpus without touching the live one (`runKnowledgeImprovementJob`) | `/knowledge` |
| MCP tool servers | Give an agent a `delegate` tool or live worker-coordination tools over MCP | `/mcp` |
| Conversations + durability | Multi-turn two-agent sessions with SQL-backed resume (D1/pg/sqlite/libSQL adapters) | `/conversation` |
Expand Down
2 changes: 1 addition & 1 deletion bench/HARNESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ If you're an agent picking this up: read this page, then run `pnpm help` + `pnpm
do NOT re-derive the harness from source. This map is SHORT on purpose; if it disagrees
with the code, the code wins — fix this page in the same turn (the anti-rediscovery law).
Verified against source 2026-07-18 · agent-eval pinned `0.122.8`. The CANONICAL surface is now
the published optimization suite (`@tangle-network/agent-runtime/loops`): `Environment` +
the published optimization suite (`@tangle-network/agent-runtime/kernel`): `Environment` +
`Strategy`/`defineStrategy` + `runBenchmark` — see the section below FIRST. The recursive
diverse-vs-blind gate runs through the keystone (`gate-cli.mts` → `runGate`);
the offline selector replay (`corpus-replay.mts` / `corpus-report.mts`) gates the legacy corpora.
Expand Down
2 changes: 1 addition & 1 deletion bench/src/aec-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { resolveAdapter } from './adapters'
import type { BenchmarkAdapter, BenchTask } from './benchmarks/types'
import { type AttemptRecord, appendRunRecord, buildRunRecordFromAttempts } from './corpus'
import { composeStrategies } from './directives'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/loops'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/kernel'
import { pool } from './stats.mts'

function must(name: string): string {
Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/agentbench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import { readFile } from 'node:fs/promises'
import { join } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/appworld.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import { spawn } from 'node:child_process'
import { join } from 'node:path'
import { createInterface } from 'node:readline'
import { type OutputAdapter, routerToolLoop, type ToolSpec } from '@tangle-network/agent-runtime/loops'
import { type OutputAdapter, routerToolLoop, type ToolSpec } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, preflightVenvImports, runVenvScriptStdin, venvPython } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/bfcl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import { readFile, stat } from 'node:fs/promises'
import { join } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/commit0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import { join } from 'node:path'
import { readFile } from 'node:fs/promises'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, preflightVenvImports, runVenvScriptStdin, venvPythonAt } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/dabstep.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

import { join } from 'node:path'
import { access, readFile, stat } from 'node:fs/promises'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, runVenvPython, runVenvScriptStdin } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/enterpriseops-gym.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

import { mkdir, readFile, rm, writeFile } from 'node:fs/promises'
import { join } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, runVenvScriptStdin } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/programbench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import { join } from 'node:path'
import { readFile } from 'node:fs/promises'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, preflightVenvImports, runVenvScriptStdin } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/rag-shared.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { readFile } from 'node:fs/promises'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import type { BenchScore, BenchTask, LoadOptions } from './types'

export const FINAL_ANSWER_SENTINEL = 'FINAL ANSWER:'
Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/swe-bench.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
*/

import { join } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import {
preflightVenvImports,
readJsonReport,
Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/tau-bench-shared.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import { readFile, stat } from 'node:fs/promises'
import { resolve } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { runVenvPython } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/toollm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import { readFile } from 'node:fs/promises'
import { join } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
* from the benchmark's published evaluation harness.
*/

import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'

export interface BenchTask {
/** Stable benchmark instance id. */
Expand Down
2 changes: 1 addition & 1 deletion bench/src/benchmarks/webarena-verified.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import { access, readFile, stat } from 'node:fs/promises'
import { join, resolve } from 'node:path'
import type { OutputAdapter } from '@tangle-network/agent-runtime/loops'
import type { OutputAdapter } from '@tangle-network/agent-runtime/kernel'
import { benchRoot, runVenvPython } from './_harness'
import type { BenchmarkAdapter, BenchScore, BenchTask, LoadOptions } from './types'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/clbench-codebase-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { promisify } from 'node:util'
import { acquireSandbox } from '@tangle-network/agent-runtime/loops'
import { acquireSandbox } from '@tangle-network/agent-runtime/kernel'
import { Sandbox } from '@tangle-network/sandbox'
import { composeStrategies } from './directives'
import { type AttemptRecord, appendRunRecord, buildRunRecordFromAttempts } from './corpus'
Expand Down
2 changes: 1 addition & 1 deletion bench/src/clbench-context-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import { execFileSync } from 'node:child_process'
import { existsSync, readFileSync } from 'node:fs'
import { composeStrategies } from './directives'
import { type AttemptRecord, appendRunRecord, buildRunRecordFromAttempts } from './corpus'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/loops'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/kernel'
import { selfConsistencySelect, verifierGroundedSelect } from './selector'
import { type PairedLift, pairedLift, pool } from './stats.mts'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/cloud-loop.mts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* env MODEL=gpt-4.1 ROUNDS=3 pnpm exec tsx src/cloud-loop.mts
*/
import { createChatClient } from '@tangle-network/agent-eval'
import { observe, openSandboxRun } from '@tangle-network/agent-runtime/loops'
import { observe, openSandboxRun } from '@tangle-network/agent-runtime/kernel'
import { Sandbox } from '@tangle-network/sandbox'
import { answerOutput, sandboxAgentRun } from './sandbox-run'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/commit0-env-run.mts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
*/
import { readFileSync } from 'node:fs'
import { join } from 'node:path'
import { adaptiveRefine, printBenchmarkReport, refine, runBenchmark, sample, type Strategy } from '@tangle-network/agent-runtime/loops'
import { adaptiveRefine, printBenchmarkReport, refine, runBenchmark, sample, type Strategy } from '@tangle-network/agent-runtime/kernel'
import { type Commit0Row, createCommit0Environment, rowToTask } from './commit0-env'

function must(name: string): string {
Expand Down
2 changes: 1 addition & 1 deletion bench/src/commit0-env.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { mkdtempSync, rmSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { promisify } from 'node:util'
import type { AgenticSurface, AgenticTask, AgenticTool, ArtifactHandle, SurfaceScore } from '@tangle-network/agent-runtime/loops'
import type { AgenticSurface, AgenticTask, AgenticTool, ArtifactHandle, SurfaceScore } from '@tangle-network/agent-runtime/kernel'

const exec = promisify(execFile)

Expand Down
2 changes: 1 addition & 1 deletion bench/src/commit0-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ import {
type Deliverable,
openSandboxRun,
type SandboxRun,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import { Sandbox } from '@tangle-network/sandbox'
import { createCommit0Adapter } from './benchmarks/commit0'
import type { BenchTask } from './benchmarks/types'
Expand Down
2 changes: 1 addition & 1 deletion bench/src/corpus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import { appendFile, mkdir } from 'node:fs/promises'
import { dirname } from 'node:path'
import { hashContent, type RunSplitTag, validateRunRecord } from '@tangle-network/agent-eval'
import type { CorpusRecord } from '@tangle-network/agent-eval/rl'
import type { Iteration } from '@tangle-network/agent-runtime/loops'
import type { Iteration } from '@tangle-network/agent-runtime/kernel'
import type { BenchRuntimeDecisionPoint, BenchRuntimeHookEvent } from './runtime-hook-recorder'

/** One attempt within a condition-run: the prompt/steer sent, the output, the
Expand Down
2 changes: 1 addition & 1 deletion bench/src/examples/lean-proof-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
runBenchmark,
sample,
sampleThenRefine,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import { ensureLeanImage, leanCheck } from './lean-verify.js'

// Real, mathlib-free Lean 4 theorems (compile in core Lean). `header` is everything up to `:=`;
Expand Down
2 changes: 1 addition & 1 deletion bench/src/examples/math-demo.mts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
runBenchmark,
sample,
sampleThenRefine,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'

// GSM8K-style problems; meta.answer is the ground truth the deployable check compares to.
const problems: Array<{ q: string; answer: number }> = [
Expand Down
2 changes: 1 addition & 1 deletion bench/src/examples/strategy-demo.mts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* Toy task = only a router key needed (no dataset, no sandbox). Run from bench/:
* TANGLE_API_KEY=... WORKER_MODEL=gpt-4o-mini tsx src/examples/strategy-demo.mts
*/
import { adaptiveRefine, type AgenticTask, type ArtifactHandle, defineStrategy, type Environment, printBenchmarkReport, refine, runBenchmark, sample } from '@tangle-network/agent-runtime/loops'
import { adaptiveRefine, type AgenticTask, type ArtifactHandle, defineStrategy, type Environment, printBenchmarkReport, refine, runBenchmark, sample } from '@tangle-network/agent-runtime/kernel'

// ── 1. Implement an Environment (the only thing a new domain writes) ──────────────
// A toy: the agent must drive a counter to exactly the target using the increment tool.
Expand Down
2 changes: 1 addition & 1 deletion bench/src/fleet.mts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
* Run it twice: the second run injects the first run's learnings into the workers.
*/
import { createChatClient } from '@tangle-network/agent-eval'
import { FileCorpus, observe, openSandboxRun, renderReport } from '@tangle-network/agent-runtime/loops'
import { FileCorpus, observe, openSandboxRun, renderReport } from '@tangle-network/agent-runtime/kernel'
import { Sandbox } from '@tangle-network/sandbox'
import { answerOutput, sandboxAgentRun, type WorkerBackendType } from './sandbox-run'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/gate-cli.mts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* single CLI run is the instrument, not the significance test).
*/

import type { AgentProfile } from '@tangle-network/agent-runtime/loops'
import type { AgentProfile } from '@tangle-network/agent-runtime/kernel'
import { resolveAdapter } from './adapters'
import { runGate } from './gate'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/gate.test.mts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import type {
Executor,
ExecutorFactory,
ExecutorResult,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import type { BenchmarkAdapter, BenchScore, BenchTask } from './benchmarks/types'
import { runGate, type SolveTask } from './gate'

Expand Down
4 changes: 2 additions & 2 deletions bench/src/gate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import type {
Spend,
SupervisedResult,
TrajectoryReport,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import {
definePersona,
routerChatWithUsage,
Expand All @@ -56,7 +56,7 @@ import {
InMemorySpawnJournal,
runPersonified,
trajectoryReport,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import type { BenchmarkAdapter, BenchTask } from './benchmarks/types'

/** A fanout child's task: the prompt to solve with + the instance to grade against. The instance
Expand Down
2 changes: 1 addition & 1 deletion bench/src/generate-eval/certify.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import { execSync } from 'node:child_process'
import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { dirname, join, resolve } from 'node:path'
import { routerChatWithUsage } from '@tangle-network/agent-runtime/loops'
import { routerChatWithUsage } from '@tangle-network/agent-runtime/kernel'
import { scoreTask, taskToPrompt } from '../search-bench/tasks'
import { type EvalCertification, type GeneratedEval, generatedEvalSchemaVersion, parseCandidate } from './schema'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/humaneval-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

import { composeStrategies } from './directives'
import { basePrompt, type CheckResult, extractCode, type HumanEvalTask, loadHumanEval, runChecker } from './benchmarks/humaneval'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/loops'
import { type RouterConfig, routerChatWithUsage } from '@tangle-network/agent-runtime/kernel'
import { selfConsistencySelect, verifierGroundedSelect } from './selector'
import { type PairedLift, pairedLift, pool } from './stats.mts'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/humaneval-repair-gate.mts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
* tsx src/humaneval-repair-gate.mts
*/
import { type HumanEvalTask, basePrompt, extractCode, loadHumanEval, runChecker } from './benchmarks/humaneval'
import { type RouterConfig, type ToolSpec, routerChatWithUsage, routerToolLoop } from '@tangle-network/agent-runtime/loops'
import { type RouterConfig, type ToolSpec, routerChatWithUsage, routerToolLoop } from '@tangle-network/agent-runtime/kernel'
import { verifierGroundedSelect } from './selector'
import { type PairedLift, pairedLift, pool } from './stats.mts'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/research-shot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* — the only difference is who drives the rounds (a flat best-of-k pool vs the real
* `runLoop` kernel with analyst steering).
*/
import { routerChatWithUsage } from '@tangle-network/agent-runtime/loops'
import { routerChatWithUsage } from '@tangle-network/agent-runtime/kernel'

export interface ShotCfg {
model: string
Expand Down
2 changes: 1 addition & 1 deletion bench/src/resolve-client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {
inlineSandboxClient,
resolveSandboxClient,
type SandboxClient,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import { Sandbox } from '@tangle-network/sandbox'
import { makeSearchExecutor, webSearchTool } from './search-tool'

Expand Down
2 changes: 1 addition & 1 deletion bench/src/router-executor.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {
type ExecutorResult,
inlineSandboxClient,
type SandboxClient,
} from '@tangle-network/agent-runtime/loops'
} from '@tangle-network/agent-runtime/kernel'
import { runResearchShot, type ShotCfg } from './research-shot'

export function routerSandboxClient(cfg: ShotCfg): SandboxClient {
Expand Down
Loading