diff --git a/knowledge/repos/vllm-omni/rules.md b/knowledge/repos/vllm-omni/rules.md index eb8ae675..b6801190 100644 --- a/knowledge/repos/vllm-omni/rules.md +++ b/knowledge/repos/vllm-omni/rules.md @@ -4,7 +4,7 @@ created: 2026-07-10 updated: 2026-10-13 type: rule tags: [vllm-omni] -sources: [benchmark/incidents/_index.md, ci/incidents/_index.md, git/incidents/_index.md, remote/incidents/_index.md, "PR #8014", "PR #8786", "PR #8770", "PR #8645"] +sources: [benchmark/incidents/_index.md, ci/incidents/_index.md, git/incidents/_index.md, remote/incidents/_index.md, "PR #8014", "PR #8786", "PR #8770", "PR #8645", "PR #8897"] --- # vLLM-Omni 硬门禁 @@ -134,3 +134,12 @@ sources: [benchmark/incidents/_index.md, ci/incidents/_index.md, git/incidents/_ - 验收:`tests/benchmarks/duplex/test_omni_duplex_eval_serving.py` 通过;同一 response-root 下重复调用生成互不相同的 `run-*` 目录;保存结果含 `omni_duplex_eval.response_root`、带覆盖计数的 `omni_duplex_eval.accuracy` 与 `published_with_unfinished_responses` 字段。^[PR #8645] + +## VLLM-OMNI-PR8897-MERGE-LOOP — PR merge loop bible:匹配平台 L2 是唯一放行门槛,L3/L4 不阻塞合并 + +- 触发:改动 `docs/contributing/ci/pr_merge_loop.md`(维护者 PR 合并循环指南),或 `CONTRIBUTING.md`、`docs/contributing/README.md` 中指向该指南的入口链接,或 `docs/contributing/ci/.nav.yaml` 的 `pr_merge_loop.md` 导航项;以及在评审/合并判定中应用该指南的门槛语义(合并资格、平台 L2 匹配、docs-only 跳过记录、CUDA merge-test 回归处置)。 +- 强制:合并资格 = tip 匹配的批准 + 适用的 GitHub checks 绿 + 匹配平台的 L2 ready 绿,或如实的 docs-only 跳过记录;L3/L4 不计入合并资格。L3 merge-test(`.buildkite/cuda/test-merge.yml`)可由 `merge-test` label 触发,也可合并后在 main 上运行;L4 nightly(`.buildkite/cuda/test-nightly.yml`)由 `NIGHTLY=1`/`nightly-test` 触发;两者供给 quality watch 与 LESSONS(L3 红当日 LESSONS、L4 深度 LESSONS),无论以何种方式触发都不得变成合并前门槛或逐 PR 的例行税。vendor/平台 PR 必须用匹配平台门:CUDA `.buildkite/cuda/test-ready.yml`、AMD `.buildkite/amd/test-amd-ready.yml`、NPU `.buildkite/npu/test-npu-ready.yml`(NPU 有 L2/L4、无独立 L3)、Intel 静态 `.buildkite/intel/pipeline-intel.yml`(Intel 无独立 L3/L4 文件);严禁以 CUDA-only L2 给 Ascend/AMD 等平台标绿。docs-only 变更的 GPU/wheel 检查跳过必须记录为跳过而非“绿”,label 请求不覆盖该跳过,main 的定时 nightly 覆盖仍运行。CUDA merge-test 合并后变红时:先判定是否新合并变更所致,确认因果后立即 revert 该变更(不等同类堆叠或次日评审);须区分基础设施失败与 flaky,先定位因果 commit 再 revert;失败检查、因果变更、revert 与后续写入 LESSONS;L3 仍是合并后健康检查,不是新增的合并前门槛。每 6 小时的自动 merge-readiness 刷新只是补充每日检查点,每日上限仍为 ≤10 triage / 1 deep review。首评清单验收线保持:bug 须有指名的、无该变更即失败的回归且 tip 上变绿;perf 数字必须来自同硬件 + 同 prompt 集的 tip vs baseline A/B 配对;验证者必须写明在该 tip SHA 实际运行了什么,未运行的检查列 “not run”,不得省略。 +- 禁止:把 L3/L4 当作每 PR 的合并前阻塞;用不匹配平台的 L2 结果为 vendor PR 放行或标绿;把 docs-only 跳过表述为检查通过;未排除 infra/flake、未定位因果 commit 就 revert;删除或改写指南中上述门槛语义,或移除两个入口链接与 `.nav.yaml` 导航项。 +- 验收:`docs/contributing/ci/pr_merge_loop.md` 存在并保留 CI ladder(含 L3/L4 触发方式:L3 为 `merge-test` 或合并后于 main 运行、L4 为 `NIGHTLY=1`/`nightly-test`)、High-priority selection、Daily clock、Quality watch(含 CUDA merge-test regressions 小节)与 First-comment checklist 各节的上述语义;`CONTRIBUTING.md` 与 `docs/contributing/README.md` 的入口链接有效,`.nav.yaml` 含 `pr_merge_loop.md` 且 YAML 可解析;对该指南的改动不与上述门槛相矛盾。^[PR #8897] + +