Skip to content

Redesign examples/ and templates/ into one benchmarks/ directory - #959

Merged
OsherElhadad merged 3 commits into
mainfrom
refactor/benchmarks-dir
Nov 8, 2026
Merged

OsherElhadad merged 3 commits into
mainfrom
refactor/benchmarks-dir

Conversation

@OsherElhadad

Copy link
Copy Markdown
Collaborator

What & why

Benchmark material was split across templates/adapters/<x> (minimal copy-and-run
adapters) and examples/<x> (full worked runs), with inconsistent naming
(tau2_bench vs tau2_airline vs tau2_sierra_airline) and no single place to see
what exists for a given benchmark.

This PR puts everything under one benchmarks/ directory, one folder per
benchmark, each with a predictable template/ and/or examples/<variant>/ shape:

benchmarks/
  README.md                 index of every benchmark
  ADDING_A_BENCHMARK.md      step-by-step for onboarding a new one
  _scaffold/{project,skill}  generic scaffolds (cap-evolve init, new-skill template)
  _shared/model_config.py    provider-agnostic model wiring
  generic/{jsonl_litellm,huggingface_litellm,harbor}/template
  tau2/template, tau2/examples/{airline,sierra_airline}
  skillsbench/template, skillsbench/examples/shared_skills
  swe_bench/template, spreadsheetbench/template, rfe_creator/template
  appworld/examples/react_agent
  parsec/examples/rca_prompts
  toy/examples/{calc,skill}

templates/ and examples/ are removed. Every reference to the old paths —
CLI (cap-evolve init), CI workflows, shell scripts, tests, docs, and the public
site HTML — is updated to the new layout, with history preserved via git mv.

Checklist

  • python -m pytest core/tests -q passes (2857/2858; the one failure —
    test_explicit_pool_split.py::test_explicit_feedback_and_confirm_become_the_partition
    — reproduces identically on unmodified origin/main, so it predates this change
    and is unrelated to it)
  • python skills/_registry/build_manifest.py skills is clean
  • python skills/_registry/lint_skills.py skills is clean
  • lychee --offline link check over README/docs/benchmarks markdown: 0 errors
  • Zero-API e2e: bash benchmarks/toy/examples/calc/run.sh, cap-evolve init,
    intake skill scaffold, and ci/e2e_all_algorithms.sh (all 5 algorithms) all pass
  • Honesty invariants untouched (gate on val, test sealed) — pure path rename,
    core/tests/test_ci_tau2_sierra_arms.py's example-not-template invariant kept,
    just re-pointed at the new paths
  • Docs updated (README/ADAPTER_TEMPLATES.md/benchmarks/README.md)

🤖 Generated with Claude Code

@skillberry-bot

Copy link
Copy Markdown
Contributor

❌ Automatic Labeling Failed

An error occurred while trying to automatically label this pull request. Please check the workflow logs for details and add labels manually.

Osher Elhadad and others added 2 commits November 8, 2026 23:03
Pure file moves (git mv), no content changes yet. One directory per
benchmark under benchmarks/<name>/{template,examples/<variant>}, plus
benchmarks/_scaffold/ (generic project/skill scaffolds) and
benchmarks/_shared/ (model_config.py). Path references throughout the
repo are fixed up in the next commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Osher Elhadad <Osher.Elhadad@ibm.com>
Rewrites all code, CI workflows, shell scripts, tests, docs, and site
HTML that referenced the old templates/adapters/<x> or examples/<x>
layout to the new benchmarks/<name>/{template,examples/<variant>}
paths. Also fixes relative-path depth in shell scripts and markdown
links that changed since the moved dirs are 2 levels deeper, and adds
benchmarks/README.md (index) and benchmarks/ADDING_A_BENCHMARK.md.

Verified: core test suite (2857/2858 passing; the one failure is
pre-existing on main, unrelated to this change), lychee --offline
link check (0 errors), zero-API toy run, cap-evolve init, intake
skill scaffold, all 5 algorithms via ci/e2e_all_algorithms.sh, and
skills/_registry/lint_skills.py.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Osher Elhadad <Osher.Elhadad@ibm.com>
@OsherElhadad
OsherElhadad force-pushed the refactor/benchmarks-dir branch from 97b468f to cba254b Compare November 8, 2026 21:03
A cleanup regex pass in the previous commit over-matched and stripped
leading whitespace on 6 unrelated JS comment lines inside
dashboard.py's embedded dashboard template (lines ~3467-4272) that
don't contain any templates/examples path. Cosmetic only (JS comments
inside a Python string literal), but also happened to touch the exact
lines GitHub's code-scanning PR check re-flags pre-existing alerts on
(py/path-injection, py/polynomial-redos in dashboard.py/harness.py,
all already present on main at the same line numbers), so minimizing
the diff here avoids a false "new alert" on unrelated lines in this
PR.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Signed-off-by: Osher Elhadad <Osher.Elhadad@ibm.com>
@OsherElhadad
OsherElhadad merged commit aeee712 into main Nov 8, 2026
14 of 15 checks passed
OsherElhadad pushed a commit that referenced this pull request Nov 8, 2026
Signed-off-by: Osher Elhadad <Osher.Elhadad@ibm.com>
@OsherElhadad
OsherElhadad deleted the refactor/benchmarks-dir branch November 8, 2026 22:13
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.

2 participants