Commit Graph

3 Commits

Author SHA1 Message Date
Hunter Lovell d49b175dbd feat(evals): add aggregate all-evals entrypoint and suite-builder structure (#457)
## Summary

This PR introduces a first-class aggregate eval entrypoint (`evals/all`)
that runs every existing eval suite through one top-level
LangSmith/Vitest describe block.

To support that cleanly, eval suites were refactored into a reusable
two-file shape: `index.ts` defines suite registration logic
(`define...Suite(runner)`), and `eval.test.ts` owns LangSmith
attribution (`ls.describe(...)`). This removes reliance on ad-hoc global
override wiring and gives the all-evals package a single explicit
integration surface.

## Changes

### Add aggregate all-evals package
- Added `@deepagents/eval-all` package:
- `evals/all/eval.test.ts` imports and invokes every suite registration
function.
- `evals/all/vitest.config.ts` runs only the aggregate `eval.test.ts`
entrypoint.
  - Added package README and package metadata.

### Refactor all eval suites to reusable registration modules
- Standardized suite implementation files to `index.ts`.
- Standardized eval wrappers to `eval.test.ts`.
- For Oolong datasets, standardized to `<dataset>.ts` +
`<dataset>.eval.test.ts`.
- Moved `ls.describe` dataset/project attribution into wrapper test
files so registration modules focus on test definitions only.
- Ensured suite registration functions accept `runner` as an argument
across suites.

### Ensure all existing evals are included in aggregate execution
- `evals/all/eval.test.ts` now imports and calls all suite registration
functions for:
  - core eval suites under `evals/*`
  - oolong dataset suites under `evals/oolong/datasets/*`

### Documentation updates
- Updated `evals/README.md` examples and structure references for
`index.ts` + `eval.test.ts` layout.
- Updated `evals/all/README.md` to document aggregate-run architecture.

### Lockfile updates
- Updated `pnpm-lock.yaml` to include the new `evals/all` workspace
package and dependencies.
2026-04-14 00:28:06 -07:00
Hunter Lovell e3aed6f46f test(evals): expand parity coverage with python eval suites (#455)
## Summary

The change set adds new JS eval packages for summarization, external
benchmark hard-sets, memory-agent-bench style coverage, tau2-airline
style policy tasks, tool selection, follow-up quality, todos, and
multi-turn memory. It also extends existing `files` and `memory` suites
with parity cases previously only present in Python.

## Changes

### Eval suite parity expansion

Added new eval workspaces under `evals/`:

- `external-benchmarks/`
- Adds a curated 15-case hard set spanning FRAMES, Nexus, and
BFCL-v3-style samples.
  - Includes vendored case data at `data/curated_cases.json`.
- `summarization/`
- Adds summarization middleware behavior coverage for long-conversation
continuation and history offloading.
- `memory-agent-bench/`
- Adds MemoryAgentBench-style scenarios for long-context memorization,
conflict updates, and file-seeded retrieval.
- `tau2-airline/`
- Adds a 15-task policy-grounded airline support eval with explicit
tool-behavior assertions.
- `tool-selection/`
- Adds direct/indirect tool routing and chained tool invocation
coverage.
- `followup-quality/`
  - Adds underspecified-request follow-up quality coverage.
- `todos/`
  - Adds sequential `write_todos` behavior coverage.
- `memory-multiturn/`
- Adds multi-turn memory persistence and transient-info filtering
coverage.

Each new suite includes `package.json`, `vitest.config.ts`, `README.md`,
and `index.test.ts` and is wired to LangSmith reporting.

### Existing suite parity fixes

Updated existing suites:

- `evals/files/index.test.ts`
  - Adds pagination tail-recovery and empty-file handling cases.
- `evals/memory/index.test.ts`
- Adds transient memory exclusion, formatting preference persistence,
graceful missing-memory behavior, and memory path routing checks.

### Suite metadata and docs alignment

- Updated `evals/README.md` to include all newly added suites.
- Updated eval test structure to use `ls.describe(runner.name, ...)`
with stable per-suite `projectName` values, matching established local
pattern.
- Added/updated `evals/EVAL_SUITE_DIVERGENCE_ASSESSMENT.md` to reflect
parity progress.

### Dependency/workspace updates

- Updated `pnpm-lock.yaml` to include added eval workspace dependencies.
2026-04-13 23:26:17 -07:00
Hunter Lovell b30cdf9064 feat: add eval harness and initial eval suites (#309)
* Squashed '.agents/skills/langsmith-skills/' content from commit aec5e8f

git-subtree-dir: .agents/skills/langsmith-skills
git-subtree-split: aec5e8f059ff50b1cde655e50b27a25da7981e60

* feat: add eval harness and initial eval suites

* cr

* cr

* cr

* cr

* cr

* cr

* cr
2026-03-17 10:06:55 -07:00