@tangle-network/agent-runtime 0.103.1 → 0.105.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -39
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +5 -5
- package/dist/analyst-loop.d.ts +1 -1
- package/dist/candidate-execution/index.d.ts +2 -2
- package/dist/candidate-execution/index.js +4 -4
- package/dist/{chunk-TUSOOIDV.js → chunk-C5RTIBNZ.js} +2 -2
- package/dist/{chunk-SNSMRT6H.js → chunk-CTRA64LY.js} +3 -3
- package/dist/{chunk-ZXICDSAK.js → chunk-H5QPIZNX.js} +2 -2
- package/dist/{chunk-6WZZXQV5.js → chunk-HLKC4UYB.js} +1 -13
- package/dist/chunk-HLKC4UYB.js.map +1 -0
- package/dist/{chunk-AAN2MB2X.js → chunk-HNP72PNU.js} +3 -10
- package/dist/chunk-HNP72PNU.js.map +1 -0
- package/dist/{chunk-M6MD6JBS.js → chunk-KRBFHMV6.js} +429 -1
- package/dist/chunk-KRBFHMV6.js.map +1 -0
- package/dist/chunk-OPVWXJ2H.js +75 -0
- package/dist/chunk-OPVWXJ2H.js.map +1 -0
- package/dist/{chunk-AYU35OTU.js → chunk-PZZKQVQV.js} +1 -1
- package/dist/chunk-PZZKQVQV.js.map +1 -0
- package/dist/{chunk-B7K7V22Y.js → chunk-RDOAVVHY.js} +2 -2
- package/dist/{chunk-L5DST3QC.js → chunk-SMQXZGLZ.js} +1 -1
- package/dist/chunk-SMQXZGLZ.js.map +1 -0
- package/dist/{chunk-LFM4JBRW.js → chunk-UHEZW5BU.js} +1084 -527
- package/dist/chunk-UHEZW5BU.js.map +1 -0
- package/dist/{chunk-5AITUUHO.js → chunk-VISA6CI3.js} +3 -3
- package/dist/{chunk-ZOYN3JR5.js → chunk-WMTCUOQL.js} +5 -5
- package/dist/{chunk-3LJF5XSE.js → chunk-WRTOVNN4.js} +6 -6
- package/dist/chunk-WRTOVNN4.js.map +1 -0
- package/dist/{chunk-SBTWKPVR.js → chunk-WSTRQZYQ.js} +1 -1
- package/dist/chunk-WSTRQZYQ.js.map +1 -0
- package/dist/{chunk-EAQ5YRRY.js → chunk-XBG2W2VW.js} +50 -23
- package/dist/chunk-XBG2W2VW.js.map +1 -0
- package/dist/{chunk-QYCKIV6C.js → chunk-YJZA2BIK.js} +2 -2
- package/dist/{chunk-QYCKIV6C.js.map → chunk-YJZA2BIK.js.map} +1 -1
- package/dist/{completion-gate-DLINnrkM.d.ts → completion-gate-BMy5LGoP.d.ts} +3 -3
- package/dist/{coordination-DTehA977.d.ts → coordination-BZZSVYpZ.d.ts} +28 -28
- package/dist/environment-provider.d.ts +18 -7
- package/dist/environment-provider.js +3 -1
- package/dist/index.d.ts +106 -182
- package/dist/index.js +374 -236
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +93 -47
- package/dist/intelligence.js +127 -73
- package/dist/intelligence.js.map +1 -1
- package/dist/knowledge.d.ts +6 -6
- package/dist/knowledge.js +9 -9
- package/dist/{local-harness-CtK9dSny.d.ts → local-harness-BDNcl6jI.d.ts} +1 -1
- package/dist/{loop-runner-bin-DhIXsLAd.d.ts → loop-runner-bin-68aoM9-7.d.ts} +5 -13
- package/dist/loop-runner-bin.d.ts +6 -8
- package/dist/loop-runner-bin.js +6 -6
- package/dist/loops.d.ts +67 -42
- package/dist/loops.js +10 -6
- package/dist/mcp/bin.js +4 -4
- package/dist/mcp/index.d.ts +9 -10
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/memory-bin.js +1 -1
- package/dist/primeintellect/index.d.ts +3 -4
- package/dist/primeintellect/index.js +5 -6
- package/dist/primeintellect/index.js.map +1 -1
- package/dist/profiles.d.ts +6 -6
- package/dist/profiles.js.map +1 -1
- package/dist/{protected-model-port-DzkUY3HQ.d.ts → protected-model-port-B4t-OQjL.d.ts} +1 -1
- package/dist/{improve-B40dRu0X.d.ts → redact-BuFjxBUJ.d.ts} +201 -154
- package/dist/{structural-rollout-BFPIy3iw.d.ts → structural-rollout-DEh6CEsa.d.ts} +4 -4
- package/dist/{supervise-Cp8bNcJi.d.ts → supervise-4_48wwvy.d.ts} +3 -3
- package/dist/testing.js +9 -9
- package/dist/testing.js.map +1 -1
- package/dist/{types-DK11_O4L.d.ts → types-BCoemcXU.d.ts} +4 -4
- package/dist/{types-lZTE_LBd.d.ts → types-CvNwMzQt.d.ts} +4 -4
- package/dist/{worktree-fanout-DiiJWjJO.d.ts → worktree-fanout-DxhAWr5Z.d.ts} +6 -6
- package/package.json +8 -7
- package/skills/build-with-agent-runtime/SKILL.md +15 -9
- package/skills/loop-writer/SKILL.md +1 -1
- package/dist/chunk-3LJF5XSE.js.map +0 -1
- package/dist/chunk-6WZZXQV5.js.map +0 -1
- package/dist/chunk-AAN2MB2X.js.map +0 -1
- package/dist/chunk-AYU35OTU.js.map +0 -1
- package/dist/chunk-EAQ5YRRY.js.map +0 -1
- package/dist/chunk-L5DST3QC.js.map +0 -1
- package/dist/chunk-LFM4JBRW.js.map +0 -1
- package/dist/chunk-M6MD6JBS.js.map +0 -1
- package/dist/chunk-SBTWKPVR.js.map +0 -1
- /package/dist/{chunk-TUSOOIDV.js.map → chunk-C5RTIBNZ.js.map} +0 -0
- /package/dist/{chunk-SNSMRT6H.js.map → chunk-CTRA64LY.js.map} +0 -0
- /package/dist/{chunk-ZXICDSAK.js.map → chunk-H5QPIZNX.js.map} +0 -0
- /package/dist/{chunk-B7K7V22Y.js.map → chunk-RDOAVVHY.js.map} +0 -0
- /package/dist/{chunk-5AITUUHO.js.map → chunk-VISA6CI3.js.map} +0 -0
- /package/dist/{chunk-ZOYN3JR5.js.map → chunk-WMTCUOQL.js.map} +0 -0
|
@@ -443,7 +443,7 @@ interface Driver<Task, Output, Decision> {
|
|
|
443
443
|
/**
|
|
444
444
|
* Optional: the driver AUTHORS the winner instead of the kernel's argmax. The
|
|
445
445
|
* kernel consults this at finalize ONLY when the caller did not pass an explicit
|
|
446
|
-
* `selectWinner` to
|
|
446
|
+
* `selectWinner` to runAgentRounds. Return the driver-declared winner (e.g. from a
|
|
447
447
|
* `select` topology move) or `undefined` to fall through to the default
|
|
448
448
|
* (best-valid-score, earliest index). This is the SELECTOR role made
|
|
449
449
|
* agent-authorable — the planner runs the selection, not the kernel.
|
|
@@ -522,7 +522,7 @@ interface SandboxClient {
|
|
|
522
522
|
}>;
|
|
523
523
|
}
|
|
524
524
|
/**
|
|
525
|
-
* Opt-in box-lineage controls for `
|
|
525
|
+
* Opt-in box-lineage controls for `runAgentRounds`. Default OFF — with both flags
|
|
526
526
|
* unset the kernel's per-iteration behavior is byte-identical to acquiring a
|
|
527
527
|
* fresh box, streaming once, and tearing it down. The independence of N fresh
|
|
528
528
|
* boxes (e.g. `random@k`) is a compute-control invariant; these flags must
|
|
@@ -746,7 +746,7 @@ interface LoopTeardownFailedPayload {
|
|
|
746
746
|
reason: string;
|
|
747
747
|
}
|
|
748
748
|
/**
|
|
749
|
-
* Execution context for `
|
|
749
|
+
* Execution context for `runAgentRounds`: the sandbox client the kernel creates boxes through, plus optional runtime hooks.
|
|
750
750
|
*
|
|
751
751
|
* @experimental
|
|
752
752
|
*/
|
|
@@ -799,4 +799,4 @@ interface ExecCtx {
|
|
|
799
799
|
parentSpanId?: string;
|
|
800
800
|
}
|
|
801
801
|
|
|
802
|
-
export { type AgentRunSpec as A, type LoopIterationEndedPayload as B, type LoopIterationStartedPayload as C, type Driver as D, type ExecCtx as E, type LoopPlanDescription as F, type LoopPlanPayload as G, type LoopStartedPayload as H, type Iteration as I, type LoopTeardownFailedPayload as J, type MountManifestEntry as K, type LoopTokenUsage as L, type MountRecorder as M, type RunProvenance as N, type OutputAdapter as O, type ValidationCtx as P, type RuntimeHooks as R, type
|
|
802
|
+
export { type AgentRunSpec as A, type LoopIterationEndedPayload as B, type LoopIterationStartedPayload as C, type Driver as D, type ExecCtx as E, type LoopPlanDescription as F, type LoopPlanPayload as G, type LoopStartedPayload as H, type Iteration as I, type LoopTeardownFailedPayload as J, type MountManifestEntry as K, type LoopTokenUsage as L, type MountRecorder as M, type RunProvenance as N, type OutputAdapter as O, type ValidationCtx as P, type RuntimeHooks as R, type SelectionReceipt as S, type Validator as V, type SandboxClient as a, type LoopSandboxPlacement as b, type LoopTraceEvent as c, type RuntimeDecisionEvidenceRef as d, type RuntimeDecisionKind as e, type RuntimeDecisionPoint as f, type RuntimeHookContext as g, type RuntimeHookErrorContext as h, type RuntimeHookEvent as i, type RuntimeHookPhase as j, type RuntimeHookTarget as k, type RuntimeRunHandle as l, type RuntimeRunPersistenceAdapter as m, type RuntimeRunRow as n, composeRuntimeHooks as o, defineRuntimeHooks as p, notifyRuntimeDecisionPoint as q, notifyRuntimeHookEvent as r, startRuntimeRun as s, type LoopTraceEmitter as t, type LoopWinner as u, type LoopLineageOptions as v, type LoopResult as w, type LoopDecisionPayload as x, type LoopEndedPayload as y, type LoopIterationDispatchPayload as z };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ToolSpan, DefaultVerdict } from '@tangle-network/agent-eval';
|
|
2
2
|
import { AgentProfile } from '@tangle-network/agent-interface';
|
|
3
3
|
import { BackendType } from '@tangle-network/sandbox';
|
|
4
|
-
import { L as LoopTokenUsage, R as RuntimeHooks } from './types-
|
|
4
|
+
import { L as LoopTokenUsage, R as RuntimeHooks } from './types-BCoemcXU.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -373,7 +373,7 @@ interface Agent<Task, Out> {
|
|
|
373
373
|
* meters every runtime identically.
|
|
374
374
|
*
|
|
375
375
|
* Built-in implementations (in `runtime.ts`, NOT variants here): router/inline (a direct
|
|
376
|
-
* Router/HTTP inference call, no box), sandbox (COMPOSES `
|
|
376
|
+
* Router/HTTP inference call, no box), sandbox (COMPOSES `runAgentRounds` as a leaf, forwarding
|
|
377
377
|
* PR #150's optional `lineage` passthrough — does NOT reinvent checkpoint/fork), cli
|
|
378
378
|
* (Halo/RLM subprocess; `budgetExempt`, excluded from equal-k by construction). A user's
|
|
379
379
|
* own agent (mastra/agno/raw HTTP/anything) is first-class by implementing this interface.
|
|
@@ -482,7 +482,7 @@ type Runtime = 'router' | 'inline' | 'sandbox' | 'cli' | (string & {});
|
|
|
482
482
|
* Resolution (in `runtime.ts`):
|
|
483
483
|
* - `executor` present → BYO: use it verbatim (a user's own `Executor`).
|
|
484
484
|
* - `harness === null` → router/inline: a direct Router call, no box.
|
|
485
|
-
* - `harness` is a `BackendType` → sandbox: compose `
|
|
485
|
+
* - `harness` is a `BackendType` → sandbox: compose `runAgentRounds` against `profile` on that backend.
|
|
486
486
|
* Fail loud on an unresolvable spec (no executor and an unknown harness).
|
|
487
487
|
*/
|
|
488
488
|
interface AgentSpec {
|
|
@@ -888,7 +888,7 @@ interface SupervisorOpts {
|
|
|
888
888
|
readonly now?: () => number;
|
|
889
889
|
readonly signal?: AbortSignal;
|
|
890
890
|
/** Lifecycle stream sink, threaded into the root `Scope` so every `spawn`/settle emits on the
|
|
891
|
-
* same `agent.spawn`/`agent.child` stream `
|
|
891
|
+
* same `agent.spawn`/`agent.child` stream `runAgentRounds` feeds — one observable recursive tree. */
|
|
892
892
|
readonly hooks?: RuntimeHooks;
|
|
893
893
|
}
|
|
894
894
|
/** Typed terminal result (M2) — a no-winner is NEVER coerced to a best-effort output. */
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { AgentProfile } from '@tangle-network/agent-interface';
|
|
2
2
|
import { AnalystFinding, DefaultVerdict } from '@tangle-network/agent-eval';
|
|
3
|
-
import { N as NodeId, a as Settled, g as Spend, h as AgentSpec, S as Scope, c as SpawnJournal, b as ResultBlobStore, i as ExecutorRegistry, B as Budget, A as Agent, j as RootHandle, e as SupervisedResult, f as Executor } from './types-
|
|
4
|
-
import { I as Iteration, R as RuntimeHooks } from './types-
|
|
3
|
+
import { N as NodeId, a as Settled, g as Spend, h as AgentSpec, S as Scope, c as SpawnJournal, b as ResultBlobStore, i as ExecutorRegistry, B as Budget, A as Agent, j as RootHandle, e as SupervisedResult, f as Executor } from './types-CvNwMzQt.js';
|
|
4
|
+
import { I as Iteration, R as RuntimeHooks } from './types-BCoemcXU.js';
|
|
5
5
|
import { BackendType } from '@tangle-network/sandbox';
|
|
6
|
-
import { W as WorktreeHarnessResult, G as GitRunner, a as WorktreeCheckRunner, D as DeliverableSpec } from './completion-gate-
|
|
7
|
-
import { L as LocalHarness, r as runLocalHarness } from './local-harness-
|
|
6
|
+
import { W as WorktreeHarnessResult, G as GitRunner, a as WorktreeCheckRunner, D as DeliverableSpec } from './completion-gate-BMy5LGoP.js';
|
|
7
|
+
import { L as LocalHarness, r as runLocalHarness } from './local-harness-BDNcl6jI.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
@@ -806,11 +806,11 @@ interface CoderCheckConstraints {
|
|
|
806
806
|
* coding-harness CLI (claude / codex / opencode) on its OWN git worktree, surfaced as the open
|
|
807
807
|
* `Executor<Out>` port (`./types`). It is a LEAF executor: it plugs straight into the
|
|
808
808
|
* `Scope`/`Supervisor` recursion and `gateOnDeliverable`, so it IS the canonical recursive path
|
|
809
|
-
* (no `
|
|
809
|
+
* (no `runAgentRounds`/virtual-SandboxInstance shim in between).
|
|
810
810
|
*
|
|
811
811
|
* This is a THIN adapter: the physical act (worktree → profile-aware harness invocation → diff →
|
|
812
812
|
* checks → cleanup) lives ONCE in `runWorktreeHarness` (`../../mcp/worktree-harness`), shared with
|
|
813
|
-
* the `
|
|
813
|
+
* the `runAgentRounds`/coder-delegate `createInProcessExecutor`. This executor only projects that core's
|
|
814
814
|
* result onto the `Executor` port (artifact + spend) and owns the teardown point. The complete
|
|
815
815
|
* profile delivery — direct prompt/model plus materialized file-backed resources — lives there.
|
|
816
816
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.105.0",
|
|
4
4
|
"description": "Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/agent-eval.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-runtime#readme",
|
|
6
6
|
"repository": {
|
|
@@ -114,7 +114,8 @@
|
|
|
114
114
|
"verify:bench": "pnpm build && pnpm --filter @tangle-network/agent-bench run typecheck:public && pnpm --filter @tangle-network/agent-bench test && pnpm --filter @tangle-network/agent-bench run verify:package:local-runtime",
|
|
115
115
|
"verify:bench:published": "pnpm build && pnpm --filter @tangle-network/agent-bench run typecheck:public && pnpm --filter @tangle-network/agent-bench test && pnpm --filter @tangle-network/agent-bench run verify:package",
|
|
116
116
|
"verify:package": "pnpm run check:testing-fixture && pnpm run check:skills && node scripts/verify-package-exports.mjs",
|
|
117
|
-
"verify:
|
|
117
|
+
"verify:official-optimizers": "node scripts/verify-official-optimizers.mjs",
|
|
118
|
+
"verify:primeintellect": "pnpm build && node scripts/verify-primeintellect.mjs",
|
|
118
119
|
"verify:primeintellect:live": "pnpm build && node scripts/verify-primeintellect-live.mjs",
|
|
119
120
|
"docs:api": "pnpm run build && typedoc && node scripts/gen-primitive-catalog.mjs",
|
|
120
121
|
"docs:freshness": "node scripts/check-docs-freshness.mjs",
|
|
@@ -122,9 +123,9 @@
|
|
|
122
123
|
},
|
|
123
124
|
"devDependencies": {
|
|
124
125
|
"@biomejs/biome": "^2.4.15",
|
|
125
|
-
"@tangle-network/agent-eval": "0.
|
|
126
|
+
"@tangle-network/agent-eval": "0.126.6",
|
|
126
127
|
"@tangle-network/agent-interface": "0.32.0",
|
|
127
|
-
"@tangle-network/sandbox": "^0.
|
|
128
|
+
"@tangle-network/sandbox": "^0.12.0",
|
|
128
129
|
"@types/node": "^25.9.3",
|
|
129
130
|
"@types/tar-stream": "3.1.4",
|
|
130
131
|
"playwright": "^1.61.0",
|
|
@@ -154,9 +155,9 @@
|
|
|
154
155
|
"license": "MIT",
|
|
155
156
|
"packageManager": "pnpm@10.28.0",
|
|
156
157
|
"peerDependencies": {
|
|
157
|
-
"@tangle-network/agent-eval": ">=0.
|
|
158
|
+
"@tangle-network/agent-eval": ">=0.126.6 <0.127.0",
|
|
158
159
|
"@tangle-network/agent-interface": ">=0.32.0 <0.33.0",
|
|
159
|
-
"@tangle-network/sandbox": ">=0.
|
|
160
|
+
"@tangle-network/sandbox": ">=0.12.0 <1.0.0",
|
|
160
161
|
"playwright": "^1.40.0"
|
|
161
162
|
},
|
|
162
163
|
"peerDependenciesMeta": {
|
|
@@ -168,7 +169,7 @@
|
|
|
168
169
|
}
|
|
169
170
|
},
|
|
170
171
|
"dependencies": {
|
|
171
|
-
"@tangle-network/agent-knowledge": "
|
|
172
|
+
"@tangle-network/agent-knowledge": "5.0.1",
|
|
172
173
|
"@tangle-network/agent-profile-materialize": "0.5.1",
|
|
173
174
|
"tar-stream": "3.2.0"
|
|
174
175
|
}
|
|
@@ -34,7 +34,7 @@ Do not move product storage transactions into a provider-neutral package.
|
|
|
34
34
|
|---|---|
|
|
35
35
|
| One product chat turn | `handleChatTurn(...)` |
|
|
36
36
|
| One normalized streamed agent turn | `streamAgentTurn(...)` and `collectAgentTurn(...)` |
|
|
37
|
-
| One task or multi-turn loop | `runAgentTask(...)`, `runAgentTaskStream(...)`, or `
|
|
37
|
+
| One task or multi-turn loop | `runAgentTask(...)`, `runAgentTaskStream(...)`, or `runAgentRounds(...)` |
|
|
38
38
|
| Supervisor and workers | `supervise(...)` or `superviseSurface(...)` |
|
|
39
39
|
| Parallel work with a shared budget | `fanout(...)` |
|
|
40
40
|
| Fixed composition | `pipeline(...)`, `panel(...)`, or `verify(...)` |
|
|
@@ -50,11 +50,16 @@ Do not move product storage transactions into a provider-neutral package.
|
|
|
50
50
|
|
|
51
51
|
## Improvement flow
|
|
52
52
|
|
|
53
|
-
`improve(profile,
|
|
53
|
+
`improve(profile, options)` searches one surface and returns a detached winner.
|
|
54
54
|
It never changes a profile, document, repository, memory store, or knowledge base.
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
For a profile field, pass one complete agent-eval `OptimizationMethod`, explicit train, selection, and final-test partitions, judges, and the candidate execution function.
|
|
57
|
+
Use `officialGepa(...)` with an explicit recipe when upstream GEPA should own search.
|
|
58
|
+
Use `officialSkillOpt(...)` when Microsoft's SkillOpt should own search.
|
|
59
|
+
Both require `evaluationId`; change it whenever dispatch, judges, models, or scoring behavior changes.
|
|
60
|
+
Resumable runs accept `never`, `if-compatible`, or `required` and reuse state only when agent-eval derives the same run identity.
|
|
61
|
+
Runtime has no local prompt, skill, memory, or profile optimizer fallback.
|
|
62
|
+
Code uses Runtime's isolated worktrees and returns a sealed patch candidate.
|
|
58
63
|
Knowledge uses `runKnowledgeImprovementJob(...)` and returns paired snapshots.
|
|
59
64
|
|
|
60
65
|
Use `proposeAgentImprovement(...)` for a production proposal.
|
|
@@ -80,12 +85,12 @@ Never treat a lost response as a failed write without reconciling it.
|
|
|
80
85
|
|
|
81
86
|
## Surface rules
|
|
82
87
|
|
|
83
|
-
- Prompt changes `profile.prompt` only.
|
|
84
|
-
- Skill optimization selects one inline skill by `skills.resourceName
|
|
88
|
+
- Prompt changes `profile.prompt` only and requires a complete method.
|
|
89
|
+
- Skill optimization selects one inline skill by `skills.resourceName`, requires a complete method, and requires profile resources to fail closed.
|
|
85
90
|
- Curated memory changes `profile.resources.instructions`; retrieval stores and memory databases belong in the knowledge flow.
|
|
86
|
-
- Tools, MCP, hooks, subagents, and whole-profile changes require
|
|
91
|
+
- Tools, MCP, hooks, subagents, curated memory, rollout policy, and whole-profile changes require a complete method.
|
|
87
92
|
- Code candidates must come from the Runtime worktree path so patch identity and cleanup stay intact.
|
|
88
|
-
- Workflow
|
|
93
|
+
- Workflow files are code surfaces. Parameter sweeps belong in a complete agent-eval method.
|
|
89
94
|
- Knowledge candidates remain detached until the shared activation path applies or restores their frozen snapshots.
|
|
90
95
|
|
|
91
96
|
## Product integration
|
|
@@ -104,7 +109,8 @@ The product must not recreate candidate hashing, paired comparison, confidence i
|
|
|
104
109
|
## Do not duplicate
|
|
105
110
|
|
|
106
111
|
- Do not write a provider-specific profile wrapper; extend `AgentProfile` and its materializer.
|
|
107
|
-
- Do not write a second optimizer loop;
|
|
112
|
+
- Do not write a second optimizer loop; pass a complete agent-eval method to `improve(...)`.
|
|
113
|
+
- Do not use Runtime's code generator to approximate GEPA, SkillOpt, or another upstream profile optimizer.
|
|
108
114
|
- Do not write a second candidate catalog; persist the immutable proposal records.
|
|
109
115
|
- Do not let an analyst or adapter commit, push, open a pull request, or edit a live store.
|
|
110
116
|
- Do not hand-roll SSE parsing, usage totals, profile matrices, bootstrap statistics, sandbox acquisition, or worktree cleanup.
|
|
@@ -21,7 +21,7 @@ Do not copy signatures from this skill.
|
|
|
21
21
|
| Parallel repository workers with isolated branches | `worktreeFanout(...)` |
|
|
22
22
|
| Repeated work in a graded tool environment | `runAgentic(...)` |
|
|
23
23
|
| Equal-budget comparison over that environment | `runBenchmark(...)` |
|
|
24
|
-
| Low-level round policy with custom planning and stopping | `
|
|
24
|
+
| Low-level round policy with custom planning and stopping | `runAgentRounds(...)` |
|
|
25
25
|
|
|
26
26
|
If an existing row fits, use it and stop.
|
|
27
27
|
Do not create another wrapper solely to rename inputs or results.
|