refactor(api): rename HTTP routes, JSON keys, CLI messages → project (2/4)#1243
Merged
Conversation
This was referenced May 14, 2026
…→ project
PR 2 of 4 in the benchmark → project rename. Wire-format changes:
Routes (apps/cli/src/commands/results/{serve.ts,eval-runner.ts}):
/api/benchmarks → /api/projects
/api/benchmarks/all-runs → /api/projects/all-runs
/api/benchmarks/:benchmarkId/* → /api/projects/:projectId/*
/api/benchmarks/:benchmarkId/eval/* → /api/projects/:projectId/eval/*
JSON response fields:
benchmarks (list envelope) → projects
benchmark_id → project_id
benchmark_name → project_name
multi_benchmark_dashboard → multi_project_dashboard
CLI flag descriptions and error/log messages:
"Register a benchmark by path" → "Register a project by path"
"Unregister a benchmark by ID" → "Unregister a project by ID"
"Force single-benchmark dashboard" → "Force single-project dashboard"
"Launch in multi-benchmark dashboard" → "Launch in multi-project dashboard"
"Benchmark not found" → "Project not found"
"Registered benchmark: …" → "Registered project: …"
"Unregistered benchmark: …" → "Unregistered project: …"
"Multi-benchmark mode: N benchmark(s)"→ "Multi-project mode: N project(s)"
TypeScript-internal renames in the same files:
withBenchmark() → withProject()
benchmarkEntryToWire() → projectEntryToWire()
multiBenchmarkDashboard option → multiProjectDashboard
isMultiBenchmark, benchmarkCount → isMultiProject, projectCount
Out of scope (intentionally NOT renamed):
- benchmark.json per-run artifact and its writer (Agent Skills compat)
- examples/*-benchmark dirs (academic benchmark-suite semantics)
Stacks on refactor/rename-benchmark-to-project. The Studio frontend still
calls /api/benchmarks/* and parses {benchmarks: ...} envelopes on this
branch — PR 3 ships the matching frontend changes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1d861fa to
4b8a07f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR 2 of 4 in the benchmark → project rename. Stacks on #1242 (PR 1). Renames the wire-format surface of the API.
Routes
`/api/benchmarks` → `/api/projects` (POST, GET, DELETE, /all-runs, and all 15+ `:projectId`-scoped subroutes including the eval-runner endpoints).
JSON response fields
CLI flag descriptions and console messages
`--add`/`--remove` help text and the "Registered/Unregistered/Benchmark not found/Multi-benchmark mode" strings all flip to "project."
TypeScript-internal renames in the same files
Intentionally NOT renamed
Test plan
🤖 Generated with Claude Code