Skip to content

Fix/benchmark runnable baseline - #25

Merged
Peefy merged 6 commits into
mainfrom
fix/benchmark-runnable-baseline
Aug 29, 2026
Merged

Fix/benchmark runnable baseline#25
Peefy merged 6 commits into
mainfrom
fix/benchmark-runnable-baseline

Conversation

@hrw991009

Copy link
Copy Markdown
Collaborator

Summary

This PR restores a supported, reproducible, and unbiased smoke/baseline path for the existing benchmark suite.

It addresses the six confirmed benchmark issues:

  • restores the tracked AML-compatible local retrieval orchestrator and its six existing textual benchmark entrypoints
  • repairs the LongMemEval and BEAM TypeScript configurations
  • prevents LoCoMo and LongMemEval resume behavior from selectively retrying incorrect answers
  • maps BEAM 128k, 500k, 1m, and 10m scales to their actual upstream Hugging Face sources
  • adds preflight checks before ingestion or provider calls
  • records minimum reproducibility metadata, real wall-clock time, and available provider token usage

Changes

Benchmark entrypoints

  • Added a tracked benchmark/aml-local/retrieve.py.
  • Updated run_aml_local.ps1 to use the supported orchestrator.
  • Added offline fixtures and mock HTTP coverage for:
    • LongMemEval
    • LoCoMo
    • CLBench
    • BEAM
    • PersonaMem
    • ScriptMem
  • Restored typechecking for LoCoMo, LongMemEval, and BEAM.

BEAM dataset mapping

Added explicit mappings for:

  • 128kMohammadta/BEAM, split 100K
  • 500kMohammadta/BEAM, split 500K
  • 1mMohammadta/BEAM, split 1M
  • 10mMohammadta/BEAM-10M, split 10M

The bundled sample conversion remains fully offline.

Resume behavior

  • --resume now reuses every successfully completed and judged result, whether correct or incorrect.
  • Only execution errors such as transport failures, empty responses, timeouts, or judge parse failures are retried.
  • Checkpoints record the attempt and answerer/judge model identities.
  • --no-resume performs a fresh run.
  • Model-mismatched or legacy checkpoints are not silently reused.

Preflight and run metadata

Preflight now checks the required dataset, daemon, credentials, Python dependencies, parameters, and writable output paths before ingestion or paid provider calls.

Run manifests record the code revision, dataset identity, model identities, retrieval configuration, resume mode, timestamps, wall-clock duration, and available token usage. Missing provider usage is represented as unavailable rather than a fabricated zero.

CI and documentation

Added an offline benchmark smoke job covering:

  • TypeScript typechecking and lint
  • CLI --help
  • BEAM sample conversion and source mapping tests
  • AML fixture, mock HTTP, and contract tests
  • deterministic checkpoint/resume tests
  • preflight failure tests
  • verification that smoke tests do not modify tracked files

Updated the benchmark documentation to match the supported commands, data sources, resume semantics, and the distinction between internal TypeScript evaluation, AML-compatible local evaluation, and hosted AML leaderboard evaluation.

Validation

  • pnpm install --frozen-lockfile
  • package build completed successfully
  • full workspace typecheck completed successfully
  • Linux/LF Biome format check passed for 915 files
  • LoCoMo lint and 9 deterministic tests passed
  • LongMemEval lint and 6 deterministic tests passed
  • BEAM lint, 5 mapping/conversion tests, and offline sample conversion passed
  • AML retrieval tests passed for all six entrypoints
  • AML contract fixtures passed
  • all benchmark CLI --help checks passed without credentials
  • clean-worktree benchmark smoke validation passed

Scope

This PR does not:

  • add or tune benchmarks
  • change models, prompts, embeddings, retrieval top_k, or scoring methods
  • update published benchmark scores
  • run paid answerer or judge models
  • download full benchmark datasets
  • perform a hosted AML submission

Fixture, mock, typecheck, and smoke results are not presented as evidence that the full paid benchmarks have been executed.

Closes #24

@Peefy

Peefy commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Good Job! LGTM!

@Peefy
Peefy merged commit d722484 into main Aug 29, 2026
13 checks passed
@Peefy
Peefy deleted the fix/benchmark-runnable-baseline branch August 29, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] Benchmark runners are not reproducible from a clean checkout

2 participants