From 443f6b2d7087de3aac28b5d90c87d8aecb1cfec4 Mon Sep 17 00:00:00 2001 From: adibarra <93070681+adibarra@users.noreply.github.com> Date: Wed, 7 Oct 2026 16:54:57 -0500 Subject: [PATCH 1/3] docs: add perf-changelog entries only when collecting results A perf-changelog.yaml entry is what triggers result collection, so add one only when a change should produce new published results. Refactors and recipe or config edits that are not meant to produce new results need no entry. Reword the old rule that every performance-affecting change and every recipe addition or modification needs an entry in AGENTS.md, CONTRIBUTING.md, the multi-node RECIPES.md guide, the PR template, and the Claude workflow prompts. The review prompt no longer blocks a PR that edits master configs without an entry; it asks, without blocking, whether the author intends to collect results. The append-only byte rules, one block per PR, English-only entries, and append-only: true semantics are unchanged. --- .../PULL_REQUEST_TEMPLATE/pull_request_template.md | 4 ++-- .github/workflows/claude.yml | 13 +++++++------ AGENTS.md | 4 ++-- CONTRIBUTING.md | 2 +- .../multi_node/srt-slurm-recipes/RECIPES.md | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index 383466360a..5636e00ddc 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -32,8 +32,8 @@ - [ ] I have completed the AI model disclosure and kept it current - [ ] I have tested my changes locally - [ ] I have updated documentation if necessary -- [ ] **For every change that can affect benchmark performance and every recipe addition or modification, I have appended a new entry to the physical end of `inferencex-e2e/perf-changelog.yaml` and have not edited historical entries** -- [ ] **If this PR can affect benchmark performance or adds or modifies a recipe, it carries exactly one primary sweep label** (a maintainer applies it on fork PRs): `full-sweep-fail-fast` (recommended), `full-sweep-enabled`, or `non-canary-full-sweep-enabled`. Optional modifiers `all-evals`, `evals-only`, and `agentx-fast` require a primary label; the last two block reuse while applied. +- [ ] **If this PR should produce new published results, I have appended one new entry to the physical end of `inferencex-e2e/perf-changelog.yaml`; otherwise I have added none. I have not edited historical entries** +- [ ] **If this PR appends an `inferencex-e2e/perf-changelog.yaml` entry, it carries exactly one primary sweep label** (a maintainer applies it on fork PRs): `full-sweep-fail-fast` (recommended), `full-sweep-enabled`, or `non-canary-full-sweep-enabled`. Optional modifiers `all-evals`, `evals-only`, and `agentx-fast` require a primary label; the last two block reuse while applied. - [ ] **Before merging via reuse, an authorized maintainer (`OWNER`/`MEMBER`/`COLLABORATOR`) has commented `/use ` (or the legacy `/reuse-sweep-run`) on this PR**. Do this **only once there is a final full sweep that is all green with evals passing**, since after this comment the primary sweep label will no longer automatically kick off new sweeps. Remove and re-add the primary sweep label to force a new sweep. diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index d0667bf866..5e9383ba03 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -184,7 +184,7 @@ jobs: - Only wait for the final successful run to complete before analyzing benchmark results - Do NOT claim completion until the most recent job finishes and results are analyzed - If jobs cannot be run, say exactly what you could not run and why - - **Important** Modify inferencex-e2e/perf-changelog.yaml for any config changes affecting performance + - **Important** Append an inferencex-e2e/perf-changelog.yaml entry only when the change should produce new published results (see "Updating perf-changelog.yaml" below) ## Profiling (SGLang only) When asked to profile a config, dispatch the `profile.yml` workflow. **Only SGLang configs can be profiled** — the profiler uses SGLang's `/start_profile` and `/stop_profile` HTTP endpoints. Reject profiling requests for vLLM, TRT, or other frameworks. @@ -234,7 +234,7 @@ jobs: ## Updating perf-changelog.yaml - See `AGENTS.md` → "Non-negotiable benchmark invariants" for changelog rules and `inferencex-e2e/perf-changelog.yaml` for entry format. Required whenever you change image tags, env vars, or perf-affecting params in `inferencex-e2e/configs/*-master.yaml` or `inferencex-e2e/benchmarks/*.sh`. Use `XXX` as the PR-link placeholder until the PR exists. + See `AGENTS.md` → "Non-negotiable benchmark invariants" for changelog rules and `inferencex-e2e/perf-changelog.yaml` for entry format. Add an entry only when the change should produce new published results; the entry is what triggers result collection. Refactors and config, recipe, or script edits that are not meant to produce new results need no entry. If the request does not say whether new results should be collected, ask before adding one. Use `XXX` as the PR-link placeholder until the PR exists. If an entry uses `append-only: true`, require the generated base matrix to remain an immutable subset of the generated head matrix. New concurrency values or new recipe variants may be added inside a selected existing config/scenario, but no existing generated point may be removed or modified, and every addition must retain the target visual curve's single non-null image. Do not enforce a file allowlist: supporting code, benchmark scripts, launchers, helpers, and other files may change when their benchmark effect is exclusive to the corresponding newly appended points. All added changelog entries must be append-only, and eval modifiers are forbidden. Trace behavior through the complete diff; unguarded changes or paths reachable by an existing point are blocking. @@ -397,15 +397,16 @@ jobs: - For re-reviews, prefix summary with "Re-review:" and note what changed ## Master Config and Perf Changelog Validation: + `inferencex-e2e/perf-changelog.yaml` entries are added only when a PR should produce new published results; the entry is what triggers result collection. Refactors and config edits that are not meant to produce new results need no entry. + When reviewing a PR, check if any of the following master config files were modified: - `inferencex-e2e/configs/amd-master.yaml` - `inferencex-e2e/configs/nvidia-master.yaml` If either master config file was edited AND `inferencex-e2e/perf-changelog.yaml` was NOT edited in the same PR: - - This is a 🔴 **BLOCKING** issue - - Comment that `inferencex-e2e/perf-changelog.yaml` must also be updated when master config files are changed - - The perf-changelog entry should document what changed in the config and include the PR link - - Format: "Master config files were modified but `inferencex-e2e/perf-changelog.yaml` was not updated. When changing `inferencex-e2e/configs/amd-master.yaml` or `inferencex-e2e/configs/nvidia-master.yaml`, you must add a corresponding entry to `inferencex-e2e/perf-changelog.yaml` documenting the changes." + - This is NOT a blocking issue or a warning: do not label it 🔴 **BLOCKING** or 🟡 **WARNING**, and do not post an inline comment for it + - Ask once, in the summary comment, whether the author intends to collect results; include the question even when there are no other issues (after "LGTM - no blocking issues found") + - Format: "Master config files changed without a new `inferencex-e2e/perf-changelog.yaml` entry. Do you intend to collect new results for these configs? If so, append an entry for the affected config keys to the end of `inferencex-e2e/perf-changelog.yaml`; if not, no entry is needed." ### Perf Changelog Entry Position: `inferencex-e2e/perf-changelog.yaml` is read in chronological order — oldest entries at the top, newest at the bottom. New entries MUST be appended to the END of the file. Never insert in the middle or prepend. diff --git a/AGENTS.md b/AGENTS.md index 3088bd1060..0019f36fe9 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -105,8 +105,8 @@ Deleting a test that fails these questions needs no replacement. Do not preserve ## Non-negotiable benchmark invariants - Every priority-scheduled benchmark job on a self-hosted cluster must request exactly one `nodes:N` label, where `N` is the positive integer number of physical Slurm nodes required. Single-node jobs use `nodes:1`; generated multi-node jobs must forward their computed `node-count`. A queued job missing this label is ineligible for priority scheduling, and labels cannot be added retroactively, so fix the source branch and dispatch a new run. -- Every change that can affect benchmark performance and every recipe addition or modification requires a new `inferencex-e2e/perf-changelog.yaml` entry. The file is append-only and byte-sensitive. Preserve all existing bytes and separator whitespace, and append only at the tail. -- One PR maps to one `inferencex-e2e/perf-changelog.yaml` block. By convention, a PR with a perf changelog entry is a change that affects inference performance or otherwise requires a rerun to collect up-to-date results. That block may list one or more `config-keys` to run, but do not add a second block for the same PR, even when the change evolved across commits. Revise the PR's existing block so it describes the final state of the change. +- Add a new `inferencex-e2e/perf-changelog.yaml` entry only when a change should produce new published results; the entry is what triggers result collection. Refactors and recipe or config edits that are not meant to produce new results need no entry. The file is append-only and byte-sensitive. Preserve all existing bytes and separator whitespace, and append only at the tail. +- One PR maps to at most one `inferencex-e2e/perf-changelog.yaml` block. That block may list one or more `config-keys` to run, but do not add a second block for the same PR, even when the change evolved across commits. Revise the PR's existing block so it describes the final state of the change. - New `inferencex-e2e/perf-changelog.yaml` entries must be English-only. Do not add Chinese translations or bilingual descriptions; the bilingual documentation and GitHub-content rules do not apply to these entries. Leave historical entries unchanged. - Multi-node srt-slurm changes update the recipe YAML and matching master config together. For image bumps, `model.container` must equal `image`. - Every speculative fixed-sequence benchmark renders prompts with the chat template: single-node srt-slurm recipes that speculate set `benchmark.env.USE_CHAT_TEMPLATE: "true"` (enforced by `inferencex-e2e/infx/srt_slurm/single_node.py::validate_recipe`), which `python3 -m infx.bench fixed-seq` (run by `srt_fixed_sequence.sh`) turns into `--use-chat-template` for the benchmark client. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 12637ef520..7a6a2878c8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,7 @@ Every PR description must include an **AI model disclosure** section inside a co 3. Ping a core maintainer on Slack for final approval, after obtaining the checklist sign-off when required. 4. An authorized maintainer posts `/use ` (see below) and the PR is merged via the reuse path. -**Performance changelog requirement:** Every change that can affect benchmark performance and every recipe addition or modification **MUST** append a new entry to the physical end of `inferencex-e2e/perf-changelog.yaml`. Historical entries **MUST NOT** be edited. +**Performance changelog:** Append a new entry to the physical end of `inferencex-e2e/perf-changelog.yaml` only when the PR should produce new published results; the entry is what triggers result collection. Refactors and recipe or config edits that are not meant to produce new results need no entry. Historical entries **MUST NOT** be edited. ## Draft-model precision diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md index e1437a10a0..ef529d9fd5 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md @@ -73,4 +73,4 @@ The initial migration also resolves compatibility issues that `srtctl migrate` c - The power reader accepts both generations of samples CSV while validating utilization values and continuing to compute board energy from watts. - Post-eval selection uses native `post_eval.command` and `post_eval.passthrough_env` with [`srt_eval.sh`](../srt_eval.sh). TRT AgentX recipes declare their existing Dynamo fork with `dynamo.source.git`; launchers no longer rewrite the srt-slurm source. -Append a new entry to the physical end of `perf-changelog.yaml` for every recipe or runtime change. Preserve all historical bytes. Validate the PR with `full-sweep-fail-fast`, including evals, before following the repository's review and artifact-reuse merge process. +Append a new entry to the physical end of `perf-changelog.yaml` only when the change should produce new published results; the entry is what triggers result collection. Refactors and recipe or runtime edits that are not meant to produce new results need no entry. Preserve all historical bytes. When you append an entry, validate the PR with `full-sweep-fail-fast`, including evals, before following the repository's review and artifact-reuse merge process. From ee382b94752a4fb8b6be332f4ba7ad0f12b02266 Mon Sep 17 00:00:00 2001 From: adibarra <93070681+adibarra@users.noreply.github.com> Date: Thu, 8 Oct 2026 09:54:06 -0500 Subject: [PATCH 2/3] docs: mirror perf-changelog policy in Chinese docs --- CONTRIBUTING_zh.md | 2 +- .../benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING_zh.md b/CONTRIBUTING_zh.md index 0647258dd6..99ead860b6 100644 --- a/CONTRIBUTING_zh.md +++ b/CONTRIBUTING_zh.md @@ -27,7 +27,7 @@ 3. 在 Slack 上联系核心维护者进行最终批准;若要求清单签署,请先完成签署。 4. 由授权维护者发布 `/use `(见下文),然后通过 reuse 路径合并 PR。 -**性能变更日志要求:** 凡是可能影响基准测试性能的变更,以及任何配方(recipe)的新增或修改,都**必须**在 `inferencex-e2e/perf-changelog.yaml` 文件的物理末尾追加一个新条目。历史条目**严禁**编辑。 +**性能变更日志:** 仅当 PR 需要产出新的发布结果时,才在 `inferencex-e2e/perf-changelog.yaml` 文件的物理末尾追加一个新条目;结果采集由该条目触发。重构,以及并非为产出新结果而进行的配方(recipe)或配置修改,均无需添加条目。历史条目**严禁**编辑。 ## Draft 模型精度 diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md index 85586ff012..0e51eb1b5e 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md @@ -73,4 +73,4 @@ python -m infx.matrix.generate full-sweep \ - 功耗读取器兼容两代 samples CSV,校验利用率字段,并继续根据瓦特数计算 GPU 板级能耗。 - 评估选择通过原生 `post_eval.command` 和 `post_eval.passthrough_env` 调用 [`srt_eval.sh`](../srt_eval.sh)。TRT AgentX 配置通过 `dynamo.source.git` 声明原有的 Dynamo 分支仓库,启动器不再改写 srt-slurm 源码。 -每次修改配置或运行时,都必须在 `perf-changelog.yaml` 的物理末尾追加新条目,保留全部历史内容及空白。合并前使用 `full-sweep-fail-fast` 验证 PR(包括评估),再按仓库规定完成审查及产物复用合并流程。 +仅当变更需要产出新的发布结果时,才在 `perf-changelog.yaml` 的物理末尾追加新条目;结果采集由该条目触发。重构,以及并非为产出新结果而进行的配置或运行时修改,均无需添加条目。保留全部历史内容及空白。追加条目后,合并前须使用 `full-sweep-fail-fast` 验证 PR(包括评估),再按仓库规定完成审查及产物复用合并流程。 From e4c3c48506571954d0134863d4db36048659e51c Mon Sep 17 00:00:00 2001 From: adibarra <93070681+adibarra@users.noreply.github.com> Date: Fri, 9 Oct 2026 11:49:13 -0500 Subject: [PATCH 3/3] docs: tighten perf-changelog policy wording State the rule in one sentence: add an entry only when the change should produce new published results, not for every recipe or config edit. Trim the review prompt's non-blocking instructions. The Chinese pages mirror the English text. --- .github/workflows/claude.yml | 8 ++++---- AGENTS.md | 2 +- CONTRIBUTING.md | 2 +- CONTRIBUTING_zh.md | 2 +- .../benchmarks/multi_node/srt-slurm-recipes/RECIPES.md | 2 +- .../benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/claude.yml b/.github/workflows/claude.yml index 5e9383ba03..07a1851390 100644 --- a/.github/workflows/claude.yml +++ b/.github/workflows/claude.yml @@ -234,7 +234,7 @@ jobs: ## Updating perf-changelog.yaml - See `AGENTS.md` → "Non-negotiable benchmark invariants" for changelog rules and `inferencex-e2e/perf-changelog.yaml` for entry format. Add an entry only when the change should produce new published results; the entry is what triggers result collection. Refactors and config, recipe, or script edits that are not meant to produce new results need no entry. If the request does not say whether new results should be collected, ask before adding one. Use `XXX` as the PR-link placeholder until the PR exists. + See `AGENTS.md` → "Non-negotiable benchmark invariants" for changelog rules and `inferencex-e2e/perf-changelog.yaml` for entry format. Add an entry only when the change should produce new published results, not for every config, recipe, or script edit; the entry triggers result collection. If the request does not say whether to collect new results, ask before adding one. Use `XXX` as the PR-link placeholder until the PR exists. If an entry uses `append-only: true`, require the generated base matrix to remain an immutable subset of the generated head matrix. New concurrency values or new recipe variants may be added inside a selected existing config/scenario, but no existing generated point may be removed or modified, and every addition must retain the target visual curve's single non-null image. Do not enforce a file allowlist: supporting code, benchmark scripts, launchers, helpers, and other files may change when their benchmark effect is exclusive to the corresponding newly appended points. All added changelog entries must be append-only, and eval modifiers are forbidden. Trace behavior through the complete diff; unguarded changes or paths reachable by an existing point are blocking. @@ -397,15 +397,15 @@ jobs: - For re-reviews, prefix summary with "Re-review:" and note what changed ## Master Config and Perf Changelog Validation: - `inferencex-e2e/perf-changelog.yaml` entries are added only when a PR should produce new published results; the entry is what triggers result collection. Refactors and config edits that are not meant to produce new results need no entry. + A PR adds an `inferencex-e2e/perf-changelog.yaml` entry only when it should produce new published results, not for every config edit; the entry triggers result collection. When reviewing a PR, check if any of the following master config files were modified: - `inferencex-e2e/configs/amd-master.yaml` - `inferencex-e2e/configs/nvidia-master.yaml` If either master config file was edited AND `inferencex-e2e/perf-changelog.yaml` was NOT edited in the same PR: - - This is NOT a blocking issue or a warning: do not label it 🔴 **BLOCKING** or 🟡 **WARNING**, and do not post an inline comment for it - - Ask once, in the summary comment, whether the author intends to collect results; include the question even when there are no other issues (after "LGTM - no blocking issues found") + - It is NOT 🔴 **BLOCKING** or 🟡 **WARNING**; do not post an inline comment for it + - Ask once in the summary comment whether the author intends to collect results; append the question even to "LGTM - no blocking issues found" - Format: "Master config files changed without a new `inferencex-e2e/perf-changelog.yaml` entry. Do you intend to collect new results for these configs? If so, append an entry for the affected config keys to the end of `inferencex-e2e/perf-changelog.yaml`; if not, no entry is needed." ### Perf Changelog Entry Position: diff --git a/AGENTS.md b/AGENTS.md index 0019f36fe9..5848aaf94e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -105,7 +105,7 @@ Deleting a test that fails these questions needs no replacement. Do not preserve ## Non-negotiable benchmark invariants - Every priority-scheduled benchmark job on a self-hosted cluster must request exactly one `nodes:N` label, where `N` is the positive integer number of physical Slurm nodes required. Single-node jobs use `nodes:1`; generated multi-node jobs must forward their computed `node-count`. A queued job missing this label is ineligible for priority scheduling, and labels cannot be added retroactively, so fix the source branch and dispatch a new run. -- Add a new `inferencex-e2e/perf-changelog.yaml` entry only when a change should produce new published results; the entry is what triggers result collection. Refactors and recipe or config edits that are not meant to produce new results need no entry. The file is append-only and byte-sensitive. Preserve all existing bytes and separator whitespace, and append only at the tail. +- Add a new `inferencex-e2e/perf-changelog.yaml` entry only when a change should produce new published results, not for every recipe or config edit; the entry triggers result collection. The file is append-only and byte-sensitive. Preserve all existing bytes and separator whitespace, and append only at the tail. - One PR maps to at most one `inferencex-e2e/perf-changelog.yaml` block. That block may list one or more `config-keys` to run, but do not add a second block for the same PR, even when the change evolved across commits. Revise the PR's existing block so it describes the final state of the change. - New `inferencex-e2e/perf-changelog.yaml` entries must be English-only. Do not add Chinese translations or bilingual descriptions; the bilingual documentation and GitHub-content rules do not apply to these entries. Leave historical entries unchanged. - Multi-node srt-slurm changes update the recipe YAML and matching master config together. For image bumps, `model.container` must equal `image`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7a6a2878c8..020f4543ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,7 +27,7 @@ Every PR description must include an **AI model disclosure** section inside a co 3. Ping a core maintainer on Slack for final approval, after obtaining the checklist sign-off when required. 4. An authorized maintainer posts `/use ` (see below) and the PR is merged via the reuse path. -**Performance changelog:** Append a new entry to the physical end of `inferencex-e2e/perf-changelog.yaml` only when the PR should produce new published results; the entry is what triggers result collection. Refactors and recipe or config edits that are not meant to produce new results need no entry. Historical entries **MUST NOT** be edited. +**Performance changelog:** Append a new entry to the physical end of `inferencex-e2e/perf-changelog.yaml` only when the PR should produce new published results, not for every recipe or config edit; the entry triggers result collection. Historical entries **MUST NOT** be edited. ## Draft-model precision diff --git a/CONTRIBUTING_zh.md b/CONTRIBUTING_zh.md index 99ead860b6..624174104a 100644 --- a/CONTRIBUTING_zh.md +++ b/CONTRIBUTING_zh.md @@ -27,7 +27,7 @@ 3. 在 Slack 上联系核心维护者进行最终批准;若要求清单签署,请先完成签署。 4. 由授权维护者发布 `/use `(见下文),然后通过 reuse 路径合并 PR。 -**性能变更日志:** 仅当 PR 需要产出新的发布结果时,才在 `inferencex-e2e/perf-changelog.yaml` 文件的物理末尾追加一个新条目;结果采集由该条目触发。重构,以及并非为产出新结果而进行的配方(recipe)或配置修改,均无需添加条目。历史条目**严禁**编辑。 +**性能变更日志:** 仅当 PR 需要产出新的发布结果时,才在 `inferencex-e2e/perf-changelog.yaml` 文件的物理末尾追加一个新条目,并非每次修改配方(recipe)或配置都要添加;结果采集由该条目触发。历史条目**严禁**编辑。 ## Draft 模型精度 diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md index ef529d9fd5..374b53ecfa 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES.md @@ -73,4 +73,4 @@ The initial migration also resolves compatibility issues that `srtctl migrate` c - The power reader accepts both generations of samples CSV while validating utilization values and continuing to compute board energy from watts. - Post-eval selection uses native `post_eval.command` and `post_eval.passthrough_env` with [`srt_eval.sh`](../srt_eval.sh). TRT AgentX recipes declare their existing Dynamo fork with `dynamo.source.git`; launchers no longer rewrite the srt-slurm source. -Append a new entry to the physical end of `perf-changelog.yaml` only when the change should produce new published results; the entry is what triggers result collection. Refactors and recipe or runtime edits that are not meant to produce new results need no entry. Preserve all historical bytes. When you append an entry, validate the PR with `full-sweep-fail-fast`, including evals, before following the repository's review and artifact-reuse merge process. +Append a new entry to the physical end of `perf-changelog.yaml` only when the change should produce new published results, not for every recipe or runtime edit; the entry triggers result collection. Preserve all historical bytes. When you append an entry, validate the PR with `full-sweep-fail-fast`, including evals, before following the repository's review and artifact-reuse merge process. diff --git a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md index 0e51eb1b5e..f691fd2520 100644 --- a/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md +++ b/inferencex-e2e/benchmarks/multi_node/srt-slurm-recipes/RECIPES_zh.md @@ -73,4 +73,4 @@ python -m infx.matrix.generate full-sweep \ - 功耗读取器兼容两代 samples CSV,校验利用率字段,并继续根据瓦特数计算 GPU 板级能耗。 - 评估选择通过原生 `post_eval.command` 和 `post_eval.passthrough_env` 调用 [`srt_eval.sh`](../srt_eval.sh)。TRT AgentX 配置通过 `dynamo.source.git` 声明原有的 Dynamo 分支仓库,启动器不再改写 srt-slurm 源码。 -仅当变更需要产出新的发布结果时,才在 `perf-changelog.yaml` 的物理末尾追加新条目;结果采集由该条目触发。重构,以及并非为产出新结果而进行的配置或运行时修改,均无需添加条目。保留全部历史内容及空白。追加条目后,合并前须使用 `full-sweep-fail-fast` 验证 PR(包括评估),再按仓库规定完成审查及产物复用合并流程。 +仅当变更需要产出新的发布结果时,才在 `perf-changelog.yaml` 的物理末尾追加新条目,并非每次修改配置或运行时都要添加;结果采集由该条目触发。保留全部历史内容及空白。追加条目后,合并前须使用 `full-sweep-fail-fast` 验证 PR(包括评估),再按仓库规定完成审查及产物复用合并流程。