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: 2 additions & 0 deletions .evolve/skill-runs.jsonl
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,5 @@
{"skill":"/agent-eval","ts":"2026-07-30T11:43:12Z","project":"agent-eval-profile-axis","target":"expandProfileAxes canonical harness propagation","operatorPrompt":"","durationMin":null,"verdict":"PASS","dispatchedTo":"/verify","operatorOverride":null,"transcriptPath":null,"traceDir":null}
{"skill":"/verify","ts":"2026-07-30T11:43:12Z","project":"agent-eval-profile-axis","target":"agent-eval expandProfileAxes harness source fix","operatorPrompt":"","durationMin":null,"verdict":"PASS","dispatchedTo":"/stop","operatorOverride":null,"transcriptPath":null,"traceDir":null}
{"skill":"/verify","ts":"2026-08-03T22:53:14Z","project":"agent-eval-official-optimizer-observations-20260803","target":"Agent Eval optimizer execution-owner contract","operatorPrompt":"","durationMin":null,"verdict":"passed","dispatchedTo":"/ship","operatorOverride":null,"transcriptPath":null,"traceDir":null}
{"skill":"/agent-eval","ts":"2026-08-04T04:23:29Z","project":"agent-eval-profile-matrix-hardening-20260804","target":"profile matrix model evidence, cancellation, and cache identity","operatorPrompt":"","durationMin":null,"verdict":"PASS","dispatchedTo":"/verify","operatorOverride":null,"transcriptPath":null,"traceDir":null}
{"skill":"/verify","ts":"2026-08-04T04:23:29Z","project":"agent-eval-profile-matrix-hardening-20260804","target":"agent-eval profile matrix hardening 0.144.3","operatorPrompt":"","durationMin":null,"verdict":"PASS","dispatchedTo":"/ship","operatorOverride":null,"transcriptPath":null,"traceDir":null}
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,19 @@ All notable changes to `@tangle-network/agent-eval` and its sibling `agent-eval-

---

## [0.144.3] - 2026-08-03 - exact profile matrix evidence

### Changed

- Campaign cells expose every distinct agent receipt model in `resolvedModels` and expose `resolvedModel` only when all agent receipts agree.
- Snapshot validation accepts Router `-MMDD` model snapshots while rejecting routing selectors such as `@preset/name`.

### Fixed

- `runProfileMatrix` rejects mismatched receipt models, multiple resolved snapshots within one profile, and duplicate profile identities before they can corrupt comparisons.
- A failed profile campaign now cancels active sibling campaigns through their existing abort signals instead of allowing additional paid work to continue.
- Profile campaign cache identity now includes the caller commit, optional `dispatchRef`, profile identity, and comparison config, so changed execution cannot reuse and relabel an old cell.

## [0.144.2] - 2026-08-03 - concurrent exact profile comparison

### Changed
Expand Down
2 changes: 1 addition & 1 deletion clients/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "agent-eval-rpc"
version = "0.144.2"
version = "0.144.3"
description = "Python RPC client, official optimizer bridge, and DSPy metric adapter for @tangle-network/agent-eval."
readme = "README.md"
requires-python = ">=3.10"
Expand Down
2 changes: 1 addition & 1 deletion clients/python/src/agent_eval_rpc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
try:
__version__ = version("agent-eval-rpc")
except PackageNotFoundError:
__version__ = "0.144.2"
__version__ = "0.144.3"

__all__ = [
"Client",
Expand Down
2 changes: 1 addition & 1 deletion clients/python/uv.lock

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

4 changes: 3 additions & 1 deletion docs/eval-surface-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ composition point already exists (see Produced-state grading below).**
When variants of the same task run inside one `runCampaign`, give those scenarios the same `seedGroup` so each repetition uses common randomness.
Use `runProfileMatrix` instead when profiles are separate campaign axes.
Set `maxConcurrency` for cases within one profile and `maxProfileConcurrency` for independent profile columns; results retain caller order regardless of completion order.
An execution profile may carry the provider-facing moving model alias only when each paid-call receipt supplies the related snapshot-bearing model stored in the resulting `RunRecord`.
Every paid-call receipt must match the profile, and a moving alias must resolve to one snapshot across the entire profile column.
The caller commit and profile config are always part of cache identity; set `dispatchRef` when execution behavior can change without a new commit.
A failed profile cancels active sibling columns before the matrix rejects.
| `runAgentMatrix` | The bare N-axis cartesian scheduler with concurrency control. The layer beneath the eval surface: reach for it only when you need raw scheduling, not eval semantics. | cell results |

Mental model: **measure** (`runCampaign`/`runEval`) → **factor** (`runProfileMatrix`) →
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@tangle-network/agent-eval",
"version": "0.144.2",
"version": "0.144.3",
"description": "Evaluate and improve AI agents from runs, traces, judges, and feedback. Compare candidates, cluster failures, measure lift, and gate releases.",
"homepage": "https://github.com/tangle-network/agent-eval#readme",
"repository": {
Expand Down
4 changes: 2 additions & 2 deletions src/analyst/benchmark-implementation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export const ANALYST_BENCHMARK_DEPENDENCY_LOCK_FILES = Object.freeze([
])

export const ANALYST_BENCHMARK_DEPENDENCY_LOCK_SHA256 =
'bc15c7ea5cc3e78c081a8a8ec94e5588a344a77d0410fc6746bdce5de886b4cf'
'f0d788f72ea83b6bd485f2ae61e58dda7e1d87ec79284ce245b3a7f0cc7ca812'

/** The published benchmark evidence was produced at this package version, by
* the retired one-shot direct runner, before trace analysts moved to the
Expand Down Expand Up @@ -117,7 +117,7 @@ export const ANALYST_BENCHMARK_IMPLEMENTATION_FILES = Object.freeze([
])

export const ANALYST_BENCHMARK_IMPLEMENTATION_SHA256 =
'd317d9e7593ddc13f22a4a1e3d62d2fa1e4591395ef3984a0c7585a75794cf8d'
'67cd83aaaa158d44a9fa32e172cbe68fa97f01ae673ccb117469688b628bb9b1'

export function analystBenchmarkImplementationDigest() {
return ANALYST_BENCHMARK_IMPLEMENTATION_SHA256
Expand Down
Loading
Loading