docs: restructure benchmarking design docs to match actual scope
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Documentación
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Área
- documentation
Línea de trabajo
Start by reading the three existing files in docs/design/ and docs/design/index.md, then inspect docs/contributing/add_benchmark.md for cross-links. Rename the existing designs, add benchmarking.md as the overview, update links and stale requirement status, and preserve the technical content while making the three-layer structure and requirement mapping clear.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
docs: restructure benchmarking design docs to match actual scope
What is the problem with the docs
The three benchmarking design documents sound like they form a hierarchy, but they do not. A reader who starts at Benchmarking System expects an umbrella design. What they get is the execution and operations design, written first, with later work parked in two other files whose names sound like "more metadata."
That mismatch shows up in three ways:
- Names do not match scope. "System" claims everything. "Integration" and "Metadata convention" both sound like how metadata is attached to packages, so it is hard to tell them apart.
- The two-tier story is incomplete.
benchmark_system.md§1.1 says the architecture is two-tiered (ado experiments vs Nexus integration). A third concern — logical benchmarks, instances, and result aggregation — has no place in that picture, and the detailed "Tier 2" lives in another file that does not say it is Tier 2. - Cross-links and leftovers are stale.
benchmark_system.mdstill marks REQ 2.3 and REQ 7.1 as PENDING. Those decisions were later made in the integration doc. Nothing at the top of the design index tells you which file answers which requirement group.
The two later docs are also easy to confuse because both are about registering things. They register different things:
- Run-side: benchmark experiments and benchmark submissions (runs of those experiments on a problem)
- Problem-side: logical benchmarks and benchmark instances
| Current file | Title a reader expects | What the file actually designs | Specific issues |
|---|---|---|---|
docs/design/benchmark_system.md |
The whole benchmarking design | How experiments are executed and operated: ado + Ray, GitHub triggers, admin cluster, versioning conventions (REQ-1, REQ-4, REQ-5.1, REQ-6, REQ-7) | Name is too broad. Mixes a high-level architecture sketch with ops detail. Still lists REQ 2.3 / REQ 7.1 as open. The two-tier table hides the later aggregation work. |
docs/design/benchmark_integration_design.md |
How the system plugs into Nexus | How to add benchmark experiments and benchmark submissions (runs of those experiments on a problem): nexus.yaml, benchmark_packages/, benchmark_submissions/space.yaml (REQ-2, REQ-3) |
"Integration" does not say experiments and submissions. Easy to confuse with the metadata convention, which is also about attaching metadata. |
docs/design/benchmark_metadata_convention.md |
A naming convention for extra fields | How to add logical benchmarks and benchmark instances, plus (for now) how an experiment binds to a logical benchmark so results can be aggregated (REQ-5.2 / 5.3) | "Convention" undersells the schemas. Relation to the integration doc is only "builds on," not "problem-side vs run-side." Binding could later move to the experiments/submissions doc. |
Proposed Solution
Treat benchmarking as one short overview plus three focused designs, named for the artifacts they cover and the requirement groups they close. Do not keep benchmark_system or benchmark_registration as filenames — the first will still be read as the whole design, and the second does not distinguish run-side registration from problem-side registration.
Proposed layout
docs/design/benchmarking.md overview: concepts, layers, REQ → doc map
├── benchmark_execution.md REQ-1, 4, 6, 7 (today’s system doc, trimmed)
├── benchmark_experiments_and_submissions.md REQ-2, 3 (today’s integration doc)
└── logical_benchmarks_and_instances.md REQ-5.2 / 5.3 (today’s metadata convention)
| New file | Title | Content |
|---|---|---|
benchmarking.md |
Benchmarking Architecture | Entry point only: terminology, three layers, and a table mapping REQ-1…7 to the child docs. No schemas. |
benchmark_execution.md |
Benchmark Execution and Operations | ado experiment packaging, Ray, result store, GitHub/admin triggers, sweep governance. Point at experiments/submissions for REQ 2.3 / 7.1 instead of leaving them PENDING. |
benchmark_experiments_and_submissions.md |
Benchmark Experiments and Submissions | Adding experiments (benchmark_packages, nexus.yaml) and submissions (benchmark_submissions/space.yaml), discovery CLI. |
logical_benchmarks_and_instances.md |
Logical Benchmarks and Instances | Adding logical benchmark definitions and instances. Experiment binding stays here for now. Metric mapping and aggregation. |
The overview should state three layers so each child doc has a clear parent:
- Execution — ado experiment packages, Ray, result store
- Experiments and submissions — which experiments a package exposes, which submissions run them
- Logical benchmarks and instances — shared problem definition, concrete instances, comparable results
Implementation notes
git mvthe three existing files, then addbenchmarking.mdas the new index.- Update
docs/design/index.mdto list the overview first, then the three children with one-line scopes. - Update cross-links in the design docs and
docs/contributing/add_benchmark.md. - Do not rewrite the technical content except to fix stale PENDING items and the two-tier wording.
- Leave experiment binding in
logical_benchmarks_and_instances.mdfor now. It may later move tobenchmark_experiments_and_submissions.md.
- Lenguaje dominante
- Python
- Estrellas
- 3
- Forks
- 7
- Merge medio
- 14 h 4 min
- PR fusionados (30 d)
- 15
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de IBM/algorithm-nexus
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
IBM/algorithm-nexus#159 ·
Los mantenedores suelen responder en 1 día
-
fix: update benchmarking requirementsPosiblemente ocupada @christian-pinto la tomó hace 1 día. Abierto
IBM/algorithm-nexus#255 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
IBM/algorithm-nexus#254 ·
Los mantenedores suelen responder en 1 día
-
Test bmfm-targets with vllm >= 0.29.0Posiblemente ocupada @sivanravidos la tomó hace 15 días. Abierto
IBM/algorithm-nexus#240 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
IBM/algorithm-nexus#149 ·
Los mantenedores suelen responder en 1 día
Todos los issues de IBM/algorithm-nexus
Issues similares
-
correction metadata
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
acl-org/acl-anthology#10104 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug status/needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
prowler-cloud/prowler#12885 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Bug in GaussianTailProbabilityCalibrator: running_statistics=False still uses a windowed varianceAbiertobug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
selimfirat/pysad#107 ·
Los mantenedores suelen responder en 1 día
-
bug ci-failure high priority
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
vllm-project/vllm-omni#8194 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día