Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -60,3 +60,4 @@ sources: ["claude-workflow-starter-private@296ea45", vllm_omni/config/]
- [XPU eager pins 与 Intel 支持验证](rules-xpu-eager-pins.md)
- [性能基准扩档与基线推导规则](rules-perf-baseline-derivation.md)
- [Thinker prefix cache deploy 默认值](rules-thinker-prefix-cache.md)
- [vLLM-Omni 配置:环境变量清单与测试同步规则](rules-environment-variables.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: "vLLM-Omni 配置:环境变量清单与测试同步规则"
created: 2026-10-26
updated: 2026-10-26
type: rule
tags: [vllm-omni, components, config]
sources: ["PR #9374"]
---

# vLLM-Omni 配置:环境变量清单与测试同步规则

## VLLM-OMNI-PR9374-CODE2WAV-TEST-SYNC — 新增 PUBLIC_OMNI 清单变量须同 PR 更新快照计数;MiniCPM forward 测试桩须携带 _watchdog

- 触发:PR 向 `ENVIRONMENT_VARIABLE_INVENTORY` 新增 `EnvironmentVariableCategory.PUBLIC_OMNI` 类环境变量(如 #9370 新增的 `VLLM_OMNI_CODE2WAV_WATCHDOG_TIMEOUT_S`);或改动 `MiniCPMO45Code2Wav` 的 watchdog 契约(`__init__` 建立的 `_watchdog` 属性或 `forward()` 对它的读取);或改动 `tests/config/test_environment_variables.py::test_inventory_matches_reviewed_snapshot_counts`、`tests/model_executor/models/minicpmo_4_5/test_cuda_graph_wrapper.py::test_vocoder_restores_tf32_policy`。
- 强制:`test_inventory_matches_reviewed_snapshot_counts` 以 `Counter` 按类别统计清单条目并与 expected 字典精确比对,docstring 即 “Make an inventory expansion an explicit review decision”;因此新增 PUBLIC_OMNI 条目的 PR 必须在同一 PR 内同步上调 expected 中该类计数——#9370 新增 `VLLM_OMNI_CODE2WAV_WATCHDOG_TIMEOUT_S` 使实际计数变为 34,AMD build #14633 以 34 vs 33 失败,PR #9374 将 expected 从 33 补到 34,同步不得留给 CI 红灯后的补丁 PR。`test_vocoder_restores_tf32_policy`(fail=True/False 两个参数化)以 `SimpleNamespace` 桩替身调用 `MiniCPMO45Code2Wav.forward()`,#9370 之后 `forward()` 读取 `_watchdog`,故该桩须在已解析的 `_tf32_mode` 之外携带 `_watchdog=Code2WavWatchdog()`(导入自 `vllm_omni.model_executor.models.minicpmo_4_5.code2wav_watchdog`;PR #9374 记录该默认构造与 `__init__` 建立的状态一致、不启动监控线程)。评审触发范围内的 PR 时须核对这两处测试假设已随契约变更一并更新。
- 禁止:在未同步 PUBLIC_OMNI expected 计数的情况下合并新增该类清单条目的 PR,或把计数同步推迟到 CI 失败后的后续 PR;在 `test_vocoder_restores_tf32_policy` 的桩中遗漏 `_watchdog`(CUDA READY #18082 与 AMD #14634 两个参数化失败的原因)。
- 验收:新增 PUBLIC_OMNI 条目或改动 watchdog 契约的 PR tip 上,`test_inventory_matches_reviewed_snapshot_counts` 的 PUBLIC_OMNI expected 计数与清单实际条目数一致(PR #9374 时点为 34);`pytest -q tests/config/test_environment_variables.py::test_inventory_matches_reviewed_snapshot_counts` 与 `pytest -q tests/model_executor/models/minicpmo_4_5/test_cuda_graph_wrapper.py::test_vocoder_restores_tf32_policy` 均通过;TF32 策略测试的桩同时含 `_tf32_mode` 与 `_watchdog=Code2WavWatchdog()`。^[PR #9374]
Comment on lines +14 to +17

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Split the MiniCPM watchdog rule into its model owner

For changes to MiniCPMO45Code2Wav.forward() or its TF32 test stub, the new watchdog requirement is stored only under configuration, despite being specific to MiniCPM-o 4.5. The existing model owner at models/minicpm-o-4-5/ already has rules-code2wav-runtime.md, and Direct routes model-named reviews through that model’s rules.md; neither model entry links to this new requirement. Consequently, model-scoped reviews can miss the watchdog check, while configuration reviews receive an unrelated model contract. Keep the inventory-count rule here, move the watchdog/test-stub rule to the MiniCPM owner, and update its routing entry. The root instructions explicitly require model-specific rules to remain with their model owner.

AGENTS.md reference: AGENTS.md:L12-L17

Useful? React with 👍 / 👎.


<!-- kb:rule status=active since=v0.30.0 -->
Loading