From a68b25de2f0ba704776e55c72e040a9caf1d4484 Mon Sep 17 00:00:00 2001 From: Drew Stone Date: Tue, 28 Jul 2026 13:59:16 -0600 Subject: [PATCH] chore(release): prepare Runtime 0.109.0 and Bench 0.4.8 --- .github/workflows/ci.yml | 4 +- .github/workflows/publish.yml | 4 +- CHANGELOG.md | 6 + bench/CHANGELOG.md | 5 + bench/package.json | 2 +- .../wait-for-published-dependencies.test.mjs | 8 +- bench/src/sandbox-run.ts | 4 +- docs/api/primitive-catalog.md | 2 +- docs/canonical-api.md | 4 +- package.json | 4 +- pnpm-lock.yaml | 30 ++--- pnpm-workspace.yaml | 4 +- scripts/verify-package-exports.mjs | 110 +++++++++++++++++- .../fixtures/agent-improvement-proposal.json | 10 +- .../agent-profile-improvement-proposal.json | 4 +- 15 files changed, 159 insertions(+), 42 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ec0b4bdd..a3f4fa5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,14 +70,14 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: tangle-network/agent-eval - ref: 7faa75dda9d1459df3b0a9eb61629aa7cbdd5084 # v0.134.2 + ref: 8e4d6c95ca5beb6fc62a7c3c52c9fb581b928795 # v0.135.1 path: .cohort/agent-eval persist-credentials: false - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: tangle-network/agent-knowledge - ref: 115f940faeea2cfc7c59175a4a129b8f61807d27 # v6.1.8 + ref: 502ef4954c0dc85eb0f629bfb6c062b3508977ef # v6.1.10 path: .cohort/agent-knowledge persist-credentials: false diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 98bc5e78..031c7057 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -140,7 +140,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: tangle-network/agent-eval - ref: 7faa75dda9d1459df3b0a9eb61629aa7cbdd5084 # v0.134.2 + ref: 8e4d6c95ca5beb6fc62a7c3c52c9fb581b928795 # v0.135.1 path: .cohort/agent-eval persist-credentials: false @@ -148,7 +148,7 @@ jobs: uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: repository: tangle-network/agent-knowledge - ref: 115f940faeea2cfc7c59175a4a129b8f61807d27 # v6.1.8 + ref: 502ef4954c0dc85eb0f629bfb6c062b3508977ef # v6.1.10 path: .cohort/agent-knowledge persist-credentials: false diff --git a/CHANGELOG.md b/CHANGELOG.md index 517b38d7..f4560dfa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.109.0 + +- Rename the public `./loops` entrypoint to `./kernel` and remove the old entrypoint. +- Export the kernel's main execution types from the package root for discovery without adding root runtime weight. +- Align Runtime with Eval 0.135.1 and Knowledge 6.1.10. + ## 0.108.1 - Align Runtime with Eval 0.134.2 and Knowledge 6.1.8 so every knowledge and runtime evaluation uses complete multishot judge cost accounting. diff --git a/bench/CHANGELOG.md b/bench/CHANGELOG.md index 876861b1..51367275 100644 --- a/bench/CHANGELOG.md +++ b/bench/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.4.8 + +- Consume Runtime 0.109.0 through the canonical `./kernel` entrypoint. +- Align Bench with Eval 0.135.1, Interface 0.36.0, Knowledge 6.1.10, Materialize 0.9.2, and Sandbox 0.15.2. + ## 0.4.7 - Consume Runtime 0.108.1 with Eval 0.134.2, Interface 0.36.0, Knowledge 6.1.8, Materialize 0.9.2, and Sandbox 0.15.2. diff --git a/bench/package.json b/bench/package.json index e60966de..b0b68af9 100644 --- a/bench/package.json +++ b/bench/package.json @@ -1,6 +1,6 @@ { "name": "@tangle-network/agent-bench", - "version": "0.4.7", + "version": "0.4.8", "type": "module", "description": "Benchmark adapters and execution for agent-runtime across coding, tool-use, RAG, memory, browser, and terminal tasks.", "repository": { diff --git a/bench/scripts/wait-for-published-dependencies.test.mjs b/bench/scripts/wait-for-published-dependencies.test.mjs index c4468169..d65e98b9 100644 --- a/bench/scripts/wait-for-published-dependencies.test.mjs +++ b/bench/scripts/wait-for-published-dependencies.test.mjs @@ -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.108.1', - '@tangle-network/agent-eval': '0.134.2', + '@tangle-network/agent-runtime': '0.109.0', + '@tangle-network/agent-eval': '0.135.1', undici: '^7.0.0', }, peerDependencies: { @@ -27,9 +27,9 @@ test('collects required published Tangle dependencies from a packed manifest', ( }) assert.deepEqual(dependencies, [ - { name: '@tangle-network/agent-eval', spec: '0.134.2' }, + { name: '@tangle-network/agent-eval', spec: '0.135.1' }, { name: '@tangle-network/agent-interface', spec: '>=0.36.0 <0.37.0' }, - { name: '@tangle-network/agent-runtime', spec: '0.108.1' }, + { name: '@tangle-network/agent-runtime', spec: '0.109.0' }, ]) }) diff --git a/bench/src/sandbox-run.ts b/bench/src/sandbox-run.ts index 79e67f98..d665f6bc 100644 --- a/bench/src/sandbox-run.ts +++ b/bench/src/sandbox-run.ts @@ -15,8 +15,8 @@ import { type OutputAdapter, routerChatWithUsage, } from '@tangle-network/agent-runtime/kernel' -// `BackendType` is the sandbox SDK's harness union — its canonical home. agent-runtime consumes -// it from there too; it is not re-exported from the loops barrel. +// `BackendType` is the sandbox SDK's harness union and its canonical home. agent-runtime consumes +// it from there too; it is not re-exported from the kernel barrel. import type { BackendType } from '@tangle-network/sandbox' /** Parse the agent's final answer from the event stream (harness-agnostic). diff --git a/docs/api/primitive-catalog.md b/docs/api/primitive-catalog.md index c2a85e8f..8f47db56 100644 --- a/docs/api/primitive-catalog.md +++ b/docs/api/primitive-catalog.md @@ -7,7 +7,7 @@ # Primitive catalog — the never-stale anti-reinvention inventory -> **GENERATED** from `@tangle-network/agent-runtime@0.108.1` and `@tangle-network/agent-eval@0.134.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/`. +> **GENERATED** from `@tangle-network/agent-runtime@0.109.0` 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/`. ## 1. agent-runtime — own public surface diff --git a/docs/canonical-api.md b/docs/canonical-api.md index 232ea5fa..b429dfaf 100644 --- a/docs/canonical-api.md +++ b/docs/canonical-api.md @@ -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.108.1.** +> **Version 0.109.0.** > [`docs/api/primitive-catalog.md`](./api/primitive-catalog.md) lists every export and import path. -> `agent-eval` must satisfy `>=0.134.2 <0.135.0`. +> `agent-eval` must satisfy `>=0.135.1 <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`. > diff --git a/package.json b/package.json index 291235a8..d7dcd4f3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tangle-network/agent-runtime", - "version": "0.108.1", + "version": "0.109.0", "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": { @@ -151,7 +151,7 @@ "license": "MIT", "packageManager": "pnpm@11.17.0", "peerDependencies": { - "@tangle-network/agent-eval": ">=0.134.2 <0.135.0", + "@tangle-network/agent-eval": ">=0.135.1 <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" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf4894e3..5f31a72f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,14 +10,14 @@ catalogs: specifier: 0.18.5 version: 0.18.5 '@tangle-network/agent-eval': - specifier: 0.134.2 - version: 0.134.2 + specifier: 0.135.1 + version: 0.135.1 '@tangle-network/agent-interface': specifier: 0.36.0 version: 0.36.0 '@tangle-network/agent-knowledge': - specifier: 6.1.8 - version: 6.1.8 + specifier: 6.1.10 + version: 6.1.10 '@tangle-network/agent-profile-materialize': specifier: 0.9.2 version: 0.9.2 @@ -46,7 +46,7 @@ importers: dependencies: '@tangle-network/agent-knowledge': specifier: 'catalog:' - version: 6.1.8 + version: 6.1.10 '@tangle-network/agent-profile-materialize': specifier: 'catalog:' version: 0.9.2(@tangle-network/agent-interface@0.36.0) @@ -62,7 +62,7 @@ importers: version: 2.5.5 '@tangle-network/agent-eval': specifier: 'catalog:' - version: 0.134.2 + version: 0.135.1 '@tangle-network/agent-interface': specifier: 'catalog:' version: 0.36.0 @@ -104,13 +104,13 @@ importers: dependencies: '@tangle-network/agent-eval': specifier: 'catalog:' - version: 0.134.2 + version: 0.135.1 '@tangle-network/agent-interface': specifier: 'catalog:' version: 0.36.0 '@tangle-network/agent-knowledge': specifier: 'catalog:' - version: 6.1.8 + version: 6.1.10 '@tangle-network/agent-runtime': specifier: workspace:* version: link:.. @@ -870,16 +870,16 @@ packages: '@tangle-network/agent-core@0.4.25': resolution: {integrity: sha512-3hfIs64b/1/C1ezYhSPu6NC449lO4XAq79uaol0z0eLXcXDM+2znXThTeMTEZUPJ4iAsR514xcHL2OrP3dsE3g==} - '@tangle-network/agent-eval@0.134.2': - resolution: {integrity: sha512-+SooBL1Ca5nSx1kJDkEU3MAkadnsvbeeBMDZSFyuNSXLyz6dYtY3Cn4CLkn8AEJRhlm2kMs23yYpPHKHo7Y+Qw==} + '@tangle-network/agent-eval@0.135.1': + resolution: {integrity: sha512-YKJEn4+IJDSNYTP9MQTDqcyRIxcSVetkqxYqv+IWEPfVM9odsAQ95tmatb5wlYukuz9u5/Dk7Dm5AAFrHKZW6A==} engines: {node: '>=20'} hasBin: true '@tangle-network/agent-interface@0.36.0': resolution: {integrity: sha512-l48SiAY5Atx6ZTL86/XP2wSUPfJJ1sga82/F6V0KqwVkE5MHWiFql6wsLoqk0lc7s4EJe6+cKky+2zzxFuxDpg==} - '@tangle-network/agent-knowledge@6.1.8': - resolution: {integrity: sha512-hKLNkhV9h27Qgp+1SCtYbon6sIMS7iK+2/j1nfEwjLzMBHuka3vJn7xLEJMk/MR0vfJa+iWPEVpfeUMoYczi0w==} + '@tangle-network/agent-knowledge@6.1.10': + resolution: {integrity: sha512-M+3kmoG/wjs18TY6I7XjyvmZB1GHIdO0MwiMefSlOxrPm6+i6D8sqd5TLwh0xUt52FuDAHfW2je3jUlAI7S4hA==} engines: {node: '>=20.19.0'} hasBin: true @@ -2298,7 +2298,7 @@ snapshots: '@tangle-network/agent-interface': 0.36.0 zod: 4.4.3 - '@tangle-network/agent-eval@0.134.2': + '@tangle-network/agent-eval@0.135.1': dependencies: '@asteasolutions/zod-to-openapi': 9.1.0(zod@4.4.3) '@ax-llm/ax': 23.0.5(zod@4.4.3) @@ -2313,9 +2313,9 @@ snapshots: '@noble/hashes': 1.8.0 zod: 4.4.3 - '@tangle-network/agent-knowledge@6.1.8': + '@tangle-network/agent-knowledge@6.1.10': dependencies: - '@tangle-network/agent-eval': 0.134.2 + '@tangle-network/agent-eval': 0.135.1 '@tangle-network/agent-interface': 0.36.0 proper-lockfile: 4.1.2 zod: 4.4.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 800718b6..c6f01681 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -17,9 +17,9 @@ allowBuilds: catalog: '@arethetypeswrong/cli': 0.18.5 '@types/node': 26.1.1 - '@tangle-network/agent-eval': 0.134.2 + '@tangle-network/agent-eval': 0.135.1 '@tangle-network/agent-interface': 0.36.0 - '@tangle-network/agent-knowledge': 6.1.8 + '@tangle-network/agent-knowledge': 6.1.10 '@tangle-network/agent-profile-materialize': 0.9.2 '@tangle-network/sandbox': 0.15.2 publint: 0.3.22 diff --git a/scripts/verify-package-exports.mjs b/scripts/verify-package-exports.mjs index f9d0c5cb..78276c5f 100644 --- a/scripts/verify-package-exports.mjs +++ b/scripts/verify-package-exports.mjs @@ -1,5 +1,13 @@ import { spawnSync } from 'node:child_process' -import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from 'node:fs' +import { + existsSync, + mkdirSync, + mkdtempSync, + readFileSync, + readdirSync, + rmSync, + writeFileSync, +} from 'node:fs' import { tmpdir } from 'node:os' import { dirname, join, resolve } from 'node:path' import { fileURLToPath } from 'node:url' @@ -9,9 +17,15 @@ import { requiredPackedDevelopmentDependency, } from './lib/packed-package-test.mjs' +// Static imports of these packages mutate Node builtins at module load and can +// make edge runtimes reject a Worker before startup. Scan installed first-party +// output because Runtime can inherit the failure through a transitive package. +const edgeUnsafeStaticImports = ['graceful-fs', 'proper-lockfile'] + const repoRoot = resolve(dirname(fileURLToPath(import.meta.url)), '..') const tempRoot = mkdtempSync(join(tmpdir(), 'agent-runtime-package-')) const suppliedTarball = process.argv[2] ? resolve(process.argv[2]) : undefined +const suppliedKnowledgeTarball = process.argv[3] ? resolve(process.argv[3]) : undefined try { const packDir = join(tempRoot, 'pack') @@ -24,6 +38,9 @@ try { if (suppliedTarball && !existsSync(suppliedTarball)) { throw new Error(`supplied release tarball does not exist: ${suppliedTarball}`) } + if (suppliedKnowledgeTarball && !existsSync(suppliedKnowledgeTarball)) { + throw new Error(`supplied knowledge tarball does not exist: ${suppliedKnowledgeTarball}`) + } if (!suppliedTarball) { run('pnpm', ['pack', '--pack-destination', packDir], repoRoot) } @@ -96,6 +113,9 @@ try { ) { throw new Error('packed consumer requires an installed @tangle-network/agent-knowledge release') } + const knowledgePackageSpec = suppliedKnowledgeTarball + ? `file:${suppliedKnowledgeTarball}` + : knowledgePackageJson.version const peerPackages = [ '@tangle-network/agent-eval', '@tangle-network/agent-interface', @@ -115,6 +135,7 @@ try { type: 'module', dependencies: { '@tangle-network/agent-runtime': `file:${tarballs[0]}`, + '@tangle-network/agent-knowledge': knowledgePackageSpec, ...peerDependencies, }, devDependencies: { @@ -122,7 +143,7 @@ try { typescript: requiredPackedDevelopmentDependency(packageJson, 'typescript'), }, overrides: { - '@tangle-network/agent-knowledge': knowledgePackageJson.version, + '@tangle-network/agent-knowledge': '$@tangle-network/agent-knowledge', }, }, null, @@ -299,6 +320,7 @@ try { // This fixture type-checks with its declared dev toolchain; ambient production // install settings must not silently omit TypeScript or the Node declarations. run('npm', ['install', '--ignore-scripts', '--no-audit', '--no-fund'], appDir) + assertNoEdgeUnsafeStaticImports(join(appDir, 'node_modules', '@tangle-network')) run('npm', ['exec', '--', 'tsc', '-p', 'tsconfig.json'], appDir) run( @@ -614,6 +636,90 @@ try { rmSync(tempRoot, { recursive: true, force: true }) } +function assertNoEdgeUnsafeStaticImports(scopeDir) { + assertEdgeUnsafeStaticImportMatcher() + if (!existsSync(scopeDir)) throw new Error(`expected an installed scope at ${scopeDir}`) + const packageDirs = firstPartyPackageDirs(scopeDir) + if (packageDirs.length === 0) throw new Error(`no @tangle-network packages installed at ${scopeDir}`) + const offenders = [] + let scanned = 0 + for (const packageDir of packageDirs) { + // Third-party package bodies are outside this first-party artifact check. + for (const file of ownJavascriptFiles(packageDir)) { + scanned += 1 + const source = readFileSync(file, 'utf8') + for (const specifier of edgeUnsafeStaticImports) { + if (hasStaticImport(source, specifier)) { + offenders.push(`${file.slice(scopeDir.length + 1)} -> ${specifier}`) + } + } + } + } + if (offenders.length > 0) { + throw new Error( + [ + 'an installed @tangle-network package statically imports a module that patches a Node builtin.', + 'Cloudflare rejects the whole Worker on upload with code 10021, and a dry run cannot see it.', + 'Fix it in the owning package with a dynamic import() inside the function that needs it.', + ...offenders.map((offender) => ` - ${offender}`), + ].join('\n'), + ) + } + process.stdout.write( + `Edge module-load safety: ${packageDirs.length} first-party packages, ${scanned} shipped files, no blocked static imports.\n`, + ) +} + +function hasStaticImport(source, specifier) { + const escaped = specifier.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + const quoted = `["']${escaped}(?:/[^"'\\r\\n]*)?["']` + return new RegExp( + `(?:\\bfrom\\s*${quoted}|\\bimport\\s*${quoted}|\\brequire\\s*\\(\\s*${quoted}\\s*\\))`, + ).test(source) +} + +function assertEdgeUnsafeStaticImportMatcher() { + const specifier = 'proper-lockfile' + const cases = [ + ['bound ESM import', `import value from '${specifier}'`, true], + ['bare side-effect ESM import', `import '${specifier}'`, true], + ['ESM re-export', `export { value } from '${specifier}'`, true], + ['package subpath', `export * from '${specifier}/lib/lockfile.js'`, true], + ['spaced CommonJS require', `require ('${specifier}')`, true], + ['dynamic import', `await import('${specifier}')`, false], + ['lookalike package', `import value from '${specifier}-safe'`, false], + ] + for (const [label, source, expected] of cases) { + if (hasStaticImport(source, specifier) !== expected) { + throw new Error(`edge-unsafe static import matcher failed: ${label}`) + } + } +} + +/** Every installed `@tangle-network/*` directory, including nested copies. */ +function firstPartyPackageDirs(scopeDir) { + const dirs = [] + for (const entry of readdirSync(scopeDir, { withFileTypes: true })) { + if (!entry.isDirectory() || entry.name.startsWith('.')) continue + const packageDir = join(scopeDir, entry.name) + dirs.push(packageDir) + const nestedScope = join(packageDir, 'node_modules', '@tangle-network') + if (existsSync(nestedScope)) dirs.push(...firstPartyPackageDirs(nestedScope)) + } + return dirs +} + +function ownJavascriptFiles(directory) { + const files = [] + for (const entry of readdirSync(directory, { withFileTypes: true })) { + if (entry.name === 'node_modules' || entry.name.startsWith('.')) continue + const path = join(directory, entry.name) + if (entry.isDirectory()) files.push(...ownJavascriptFiles(path)) + else if (/\.(?:js|mjs|cjs)$/.test(entry.name)) files.push(path) + } + return files +} + function run(command, args, cwd) { const result = spawnSync(command, args, { cwd, diff --git a/src/testing/fixtures/agent-improvement-proposal.json b/src/testing/fixtures/agent-improvement-proposal.json index 94ea5ff3..0a359cfc 100644 --- a/src/testing/fixtures/agent-improvement-proposal.json +++ b/src/testing/fixtures/agent-improvement-proposal.json @@ -1,6 +1,6 @@ { "changedSurfaces": ["prompt"], - "digest": "sha256:08d05582d3b22918b525a09c5e12f2707c484f962bf8f7120da86fa24fb342ad", + "digest": "sha256:0111aecf13f77e5967b34600f49978a2d0fc6036e2f3285e3bf29a892c8390ae", "evaluation": { "decision": { "contributingChecks": [ @@ -4810,7 +4810,7 @@ ], "metadata": { "fixture": "agent-improvement-proposal", - "runtimeVersion": "0.108.1" + "runtimeVersion": "0.109.0" }, "objectives": [ { @@ -4921,8 +4921,8 @@ "baselineContentHash": "sha256:5c21ee53e513fc604cb09754e21c392b24a424da0ef37dbf8f1ee4a8a0b08f09", "candidateContentHash": "sha256:60fcbb1c728194bd51d7d19cb732d1c3f1881dce7e0a6266b41c8b98cfd65693", "kind": "agent-eval-loop", - "recordDigest": "sha256:7fa5934d75bc213405a15288d66f453f05ba42c52c907583e25e31ef074761cf", - "runId": "agent-runtime-0.108.1-proposal-fixture", + "recordDigest": "sha256:0a21cbc2e244683e58623c1b00c672cf34312bb5acb17d522cd3e4a747f08418", + "runId": "agent-runtime-0.109.0-proposal-fixture", "schema": "agent-candidate-experiment" } }, @@ -4949,5 +4949,5 @@ ], "kind": "agent-improvement-proposal", "proposedAt": "2026-07-10T01:00:00.000Z", - "runId": "agent-runtime-0.108.1-proposal-fixture" + "runId": "agent-runtime-0.109.0-proposal-fixture" } diff --git a/src/testing/fixtures/agent-profile-improvement-proposal.json b/src/testing/fixtures/agent-profile-improvement-proposal.json index 2a7fea33..7d9e9d95 100644 --- a/src/testing/fixtures/agent-profile-improvement-proposal.json +++ b/src/testing/fixtures/agent-profile-improvement-proposal.json @@ -1,6 +1,6 @@ { "changedSurfaces": ["prompt", "skills"], - "digest": "sha256:35274b75919ceb1cabd118c49c89908d27c373dc58902f20e4b4e31cbe3e9b8e", + "digest": "sha256:d91073bcdef9663a219cecd71d230f1855d286ea762a1557ffefff99830a60fd", "evaluation": { "decision": { "contributingChecks": [ @@ -1695,7 +1695,7 @@ ], "metadata": { "fixture": "agent-profile-improvement-proposal", - "runtimeVersion": "0.108.1" + "runtimeVersion": "0.109.0" }, "objectives": [ {