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
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,14 +77,14 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: tangle-network/agent-eval
ref: 8e4d6c95ca5beb6fc62a7c3c52c9fb581b928795 # v0.135.1
ref: 1243ca2fa7ac9f91ada7c85b71b9f216f1b3f4ec # v0.135.2
path: .cohort/agent-eval
persist-credentials: false

- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: tangle-network/agent-knowledge
ref: 502ef4954c0dc85eb0f629bfb6c062b3508977ef # v6.1.10
ref: 47d046bdafdcd292af8104e84107c48f5a80f505 # v6.1.11
path: .cohort/agent-knowledge
persist-credentials: false

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,15 @@ jobs:
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: tangle-network/agent-eval
ref: 8e4d6c95ca5beb6fc62a7c3c52c9fb581b928795 # v0.135.1
ref: 1243ca2fa7ac9f91ada7c85b71b9f216f1b3f4ec # v0.135.2
path: .cohort/agent-eval
persist-credentials: false

- name: Check out exact Knowledge release
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: tangle-network/agent-knowledge
ref: 502ef4954c0dc85eb0f629bfb6c062b3508977ef # v6.1.10
ref: 47d046bdafdcd292af8104e84107c48f5a80f505 # v6.1.11
path: .cohort/agent-knowledge
persist-credentials: false

Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.109.2

- Align Runtime with Eval 0.135.2 and Knowledge 6.1.11 so every improvement path uses the corrected paired promotion decisions.

## 0.109.1

- Move `runToolLoop` and `streamToolLoop` to the Worker-safe `@tangle-network/agent-runtime/tool-loop` entrypoint.
Expand Down
4 changes: 4 additions & 0 deletions bench/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 0.4.9

- Consume Runtime 0.109.2 with Eval 0.135.2 and Knowledge 6.1.11 so benchmark runs use the corrected paired promotion decisions.

## 0.4.8

- Consume Runtime 0.109.0 through the canonical `./kernel` entrypoint.
Expand Down
2 changes: 1 addition & 1 deletion bench/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tangle-network/agent-bench",
"version": "0.4.8",
"version": "0.4.9",
"type": "module",
"description": "Benchmark adapters and execution for agent-runtime across coding, tool-use, RAG, memory, browser, and terminal tasks.",
"repository": {
Expand Down
8 changes: 4 additions & 4 deletions bench/scripts/wait-for-published-dependencies.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ test('collects required published Tangle dependencies from a packed manifest', (
const dependencies = collectRequiredTangleDependencies({
name: '@tangle-network/agent-bench',
dependencies: {
'@tangle-network/agent-runtime': '0.109.0',
'@tangle-network/agent-eval': '0.135.1',
'@tangle-network/agent-runtime': '0.109.2',
'@tangle-network/agent-eval': '0.135.2',
undici: '^7.0.0',
},
peerDependencies: {
Expand All @@ -27,9 +27,9 @@ test('collects required published Tangle dependencies from a packed manifest', (
})

assert.deepEqual(dependencies, [
{ name: '@tangle-network/agent-eval', spec: '0.135.1' },
{ name: '@tangle-network/agent-eval', spec: '0.135.2' },
{ name: '@tangle-network/agent-interface', spec: '>=0.36.0 <0.37.0' },
{ name: '@tangle-network/agent-runtime', spec: '0.109.0' },
{ name: '@tangle-network/agent-runtime', spec: '0.109.2' },
])
})

Expand Down
18 changes: 13 additions & 5 deletions docs/api/primitive-catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

# Primitive catalog — the never-stale anti-reinvention inventory

> **GENERATED** from `@tangle-network/agent-runtime@0.109.1` and `@tangle-network/agent-eval@0.135.1` by `scripts/gen-primitive-catalog.mjs`. Do NOT hand-edit — run `pnpm run docs:api`. This is the mechanical companion to the JUDGMENT in `canonical-api.md` (§2 decision table + §1.5 AgentProfile law): that doc says WHICH primitive to reach for and what NOT to build; this catalog proves WHAT exists. Per-symbol signatures + `file:line` live in the per-module pages under `docs/api/`.
> **GENERATED** from `@tangle-network/agent-runtime@0.109.2` and `@tangle-network/agent-eval@0.135.2` by `scripts/gen-primitive-catalog.mjs`. Do NOT hand-edit — run `pnpm run docs:api`. This is the mechanical companion to the JUDGMENT in `canonical-api.md` (§2 decision table + §1.5 AgentProfile law): that doc says WHICH primitive to reach for and what NOT to build; this catalog proves WHAT exists. Per-symbol signatures + `file:line` live in the per-module pages under `docs/api/`.

## 1. agent-runtime — own public surface

Expand Down Expand Up @@ -605,7 +605,7 @@ Import from `@tangle-network/agent-runtime/kernel` — 594 exports.
| `printBenchmarkReport` | function | Pretty-print a report — the "free optimization" verdict, with the cost vector. |
| `probeSandboxCapabilities` | function | Probe (and memoize per client) what the loop may rely on. A client without a |
| `profileRichnessFinding` | function | Turn a {@link ProfileRichness} verdict into a bus-routable `AnalystFinding` (area `profile-quality`). |
| `promotionGate` | function | Statistical promotion decision over a holdout benchmark: a seeded paired bootstrap (`heldoutSignificance`) whose CI lower bound must clear `deltaThreshold`. |
| `promotionGate` | function | Statistical promotion decision over a holdout benchmark using the outcome-appropriate interval selected by `heldoutSignificance`. |
| `providerAsExecutor` | function | Adapt an environment provider into an `ExecutorFactory` for `createExecutor`. |
| `providerAsSandboxClient` | function | Adapt a neutral environment provider to the `SandboxClient` interface used by existing loop paths. |
| `queueOf` | function | Convenience: a `DispatchUnit` factory over a fixed array of tasks, for the common case where |
Expand Down Expand Up @@ -1370,7 +1370,7 @@ Import from `@tangle-network/agent-eval` — 10 exports.

### STATISTICS — significance, intervals, effect size

Import from `@tangle-network/agent-eval` — 53 exports.
Import from `@tangle-network/agent-eval` — 61 exports.

| Symbol | Kind | Summary |
|---|---|---|
Expand All @@ -1389,12 +1389,17 @@ Import from `@tangle-network/agent-eval` — 53 exports.
| `mcnemarPower` | function | Power of a McNemar test at a given number of paired observations, the inverse |
| `mcnemarRequiredN` | function | Number of paired observations needed for a McNemar test to reach a target |
| `mulberry32` | function | Tiny seedable PRNG (mulberry32) — deterministic resampling/shuffling, not |
| `pairedBinaryScale` | function | The common positive level `s` such that EVERY value across both paired arms is |
| `pairedBootstrap` | function | Paired bootstrap on (after − before) deltas. Returns a CI on the chosen |
| `pairedCohensDz` | function | Cohen's dz for paired observations: mean(after - before) divided by the |
| `pairedDecisionShape` | function | Which estimator {@link decidePairedPromotion} would use on this data, and the |
| `pairedDeltaTest` | function | Tests whether a paired candidate-minus-baseline delta clears a threshold. |
| `pairedDeltaTieFraction` | function | Fraction of paired observations whose delta is an exact tie (\|after − before\| |
| `pairedEvalueSequence` | function | Run the paired e-value sequence over an in-order delta stream. |
| `pairedMde` | function | Minimum detectable paired effect (standardised units) for a target paired |
| `pairedRiskDifference` | function | Paired risk difference (the effect-size companion to {@link mcnemar}): the |
| `pairedRiskDifferenceExact` | function | Paired risk difference with the EXACT CONDITIONAL interval — the estimator a |
| `pairedRiskDifferenceScore` | function | Paired risk difference with TANGO'S (1998) SCORE INTERVAL — the estimator a |
| `pairedSignTest` | function | Exact one-sided sign test over paired differences. |
| `pairedTTest` | function | Paired t-test — before/after measurements on the SAME items. |
| `partialCredit` | function | Partial credit: returns 0-1 ratio of current toward target |
Expand All @@ -1408,9 +1413,12 @@ Import from `@tangle-network/agent-eval` — 53 exports.
| `wilcoxonSignedRank` | function | Wilcoxon signed-rank — paired, no distributional assumption on the deltas. |
| `wilson` | function | Wilson score interval for a binomial proportion. Correct at small n and near |
| `normalizeScores` | const | Identity: dimensions already follow "higher = better" by prompt convention |
| `ExactRiskDifferenceResult` | interface | A paired binary effect size with an EXACT interval and the exact test that |
| `McNemarResult` | interface | Result of a McNemar paired-binary significance test. |
| `PairedMcNemarEvidence` | interface | McNemar's exact paired-binary evidence, on the two-point path only. |
| `ProportionInterval` | interface | A binomial proportion estimate with a confidence interval. |
| `RiskDifferenceResult` | interface | A paired binary effect size (treatment rate − control rate) with a CI. |
| `ScoreRiskDifferenceResult` | interface | A paired binary effect size with an interval that is valid at a NONZERO |

**Undocumented supporting types** (add a TSDoc line at the declaration to earn a table row): `BootstrapOptions`, `BootstrapResult`, `ClusterBootstrapInterval`, `CorpusAgreementOptions`, `CorpusAgreementPerDimension`, `CorpusAgreementReport`, `CorpusScoreRecord`, `EProcess`, `EProcessOptions`, `EProcessState`, `EProcessStep`, `PairedBootstrapOptions`, `PairedBootstrapResult`, `WeightedCompositeInput`, `WeightedCompositeResult`, `CliffsMagnitude`.

Expand Down Expand Up @@ -1455,8 +1463,8 @@ Import from `@tangle-network/agent-eval/campaign` — 329 exports.
| `fsCampaignStorage` | function | Node-filesystem storage — the default. Lazily requires `node:fs` so the |
| `gepaOptimizationMethod` | function | Turn an optional GEPA installation into an `OptimizationMethod`. |
| `gitWorktreeAdapter` | function | Git-backed `WorktreeAdapter`: creates isolated worktrees on fresh branches, commits agent changes, and discards losers. |
| `heldOutGate` | function | Composable held-out gate: ships only when the PAIRED bootstrap CI lower bound |
| `heldoutSignificance` | function | Significance of the held-out composite lift: ship only when the paired |
| `heldOutGate` | function | Composable held-out gate: ships only when the lower bound of the DECIDING |
| `heldoutSignificance` | function | Significance of the held-out composite lift: ship only when the lower bound |
| `inMemoryCampaignStorage` | function | In-memory storage for filesystem-less runtimes. Artifacts + trace spans |
| `isProposedCandidate` | function | Type guard: a proposal carrying its rationale vs a bare |
| `isTransientTransportFailure` | function | True when the error text describes an infrastructure hiccup that should be |
Expand Down
9 changes: 5 additions & 4 deletions docs/api/runtime.md
Original file line number Diff line number Diff line change
Expand Up @@ -4923,7 +4923,8 @@ Paired tasks that carried both strategies' cells.

> **lift**: `object`

Paired (candidate − incumbent) lift across the holdout tasks.
Paired (candidate − incumbent) lift across the holdout tasks. `low` and `high`
are the bounds that carried the decision; `mean` and `median` are diagnostics.

###### mean

Expand All @@ -4945,8 +4946,8 @@ Paired (candidate − incumbent) lift across the holdout tasks.

> `optional` **costSavings?**: `object`

non-inferiority mode: paired (incumbent − candidate) cost SAVINGS per task (usd)
positive means the candidate is cheaper; significant iff the CI low clears zero.
non-inferiority mode: paired (incumbent − candidate) cost savings per task (usd).
Positive means the candidate is cheaper; `low` and `high` carried the decision.

###### mean

Expand Down Expand Up @@ -18282,7 +18283,7 @@ readonly [`EqualKArm`](#equalkarm)[]

> **promotionGate**(`opts`): [`PromotionVerdict`](#promotionverdict)

Statistical promotion decision over a holdout benchmark: a seeded paired bootstrap (`heldoutSignificance`) whose CI lower bound must clear `deltaThreshold`.
Statistical promotion decision over a holdout benchmark using the outcome-appropriate interval selected by `heldoutSignificance`.

#### Parameters

Expand Down
4 changes: 2 additions & 2 deletions docs/canonical-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
Generated signatures and the complete export list live in docs/api/.
Run pnpm docs:freshness after editing this file. -->

> **Version 0.109.1.**
> **Version 0.109.2.**
> [`docs/api/primitive-catalog.md`](./api/primitive-catalog.md) lists every export and import path.
> `agent-eval` must satisfy `>=0.135.1 <0.136.0`.
> `agent-eval` must satisfy `>=0.135.2 <0.136.0`.
> `sandbox` must satisfy `>=0.15.0 <0.16.0`.
> Portable profile and tool-part types come from `@tangle-network/agent-interface` `>=0.36.0 <0.37.0`.
>
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tangle-network/agent-runtime",
"version": "0.109.1",
"version": "0.109.2",
"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.",
"homepage": "https://github.com/tangle-network/agent-runtime#readme",
"repository": {
Expand Down Expand Up @@ -162,7 +162,7 @@
"license": "MIT",
"packageManager": "pnpm@11.17.0",
"peerDependencies": {
"@tangle-network/agent-eval": ">=0.135.1 <0.136.0",
"@tangle-network/agent-eval": ">=0.135.2 <0.136.0",
"@tangle-network/agent-interface": ">=0.36.0 <0.37.0",
"@tangle-network/sandbox": ">=0.15.0 <0.16.0",
"playwright": "^1.40.0"
Expand Down
30 changes: 15 additions & 15 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ allowBuilds:
catalog:
'@arethetypeswrong/cli': 0.18.5
'@types/node': 26.1.1
'@tangle-network/agent-eval': 0.135.1
'@tangle-network/agent-eval': 0.135.2
'@tangle-network/agent-interface': 0.36.0
'@tangle-network/agent-knowledge': 6.1.10
'@tangle-network/agent-knowledge': 6.1.11
'@tangle-network/agent-profile-materialize': 0.9.2
'@tangle-network/sandbox': 0.15.2
publint: 0.3.22
Expand Down
Loading