Skip to content

[Klaud Cold] Enact the August 6, 2026 Kimi-K2.5/2.6/2.7-Code retirement / 执行 2026 年 8 月 6 日 Kimi-K2.5/2.6/2.7-Code 完全退役 - #2527

Merged
functionstackx merged 2 commits into
mainfrom
feat/deprecate-kimik2.5-8k1k
Aug 7, 2026
Merged

[Klaud Cold] Enact the August 6, 2026 Kimi-K2.5/2.6/2.7-Code retirement / 执行 2026 年 8 月 6 日 Kimi-K2.5/2.6/2.7-Code 完全退役#2527
functionstackx merged 2 commits into
mainfrom
feat/deprecate-kimik2.5-8k1k

Conversation

@functionstackx

Copy link
Copy Markdown
Collaborator

Enacts the Thursday, August 6, 2026 deprecation recorded in MODELS.md. That entry set 2026-08-06 as the last day for the Single-turn 8k1k scenario on Kimi-K2.5/2.6/2.7-Code (kimik2.5) and — combined with the agentic-coding deprecation already enacted on 2026-08-04 in #2493 — declared the model fully retired after that date. Today is 2026-08-07, so this carries it out.

Follows the #2493 precedent exactly: archive the config keys, move the scripts, update both MODELS docs, and leave perf-changelog.yaml alone.

Config keys removed (17)

Archived under configs/deprecated/, removed from the active masters so sweep generation no longer selects them.

nvidia-kimik2.5-8k1k-master.yaml (10) — kimik2.5-int4-b200-vllm, -int4-b300-vllm, -int4-h200-vllm, -fp4-b200-vllm, -fp4-b300-vllm, -fp4-b200-dynamo-trt, -fp4-gb200-dynamo-trt, -fp4-gb300-dynamo-trt, -fp4-gb200-dynamo-vllm, -fp4-gb300-dynamo-vllm

amd-kimik2.5-8k1k-master.yaml (7) — kimik2.5-int4-mi355x-vllm, -int4-mi325x-vllm, -int4-mi300x-vllm, -fp4-mi355x-vllm, -fp4-mi355x-atom, -fp4-mi355x-atom-disagg, -fp4-mi355x-vllm-disagg

nvidia-master.yaml 134 → 123 keys, amd-master.yaml 56 → 49. kimik2.5 now has no active configuration in any master config.

Scripts moved (12)

10 from benchmarks/single_node/fixed_seq_len/ and 2 from benchmarks/multi_node/ into their sibling deprecated/ directories, as git mv renames.

Bug fixed along the way

kimik2.5-int4-h100-vllm is an agentic-coding key that #2493 left behind in nvidia-master.yaml when it moved that recipe's script to benchmarks/single_node/agentic/deprecated/. The key has since been pointing at benchmarks/single_node/agentic/kimik2.5_int4_h100.sh, which does not exist — so the config was dangling. It is archived here into nvidia-kimik2.5-agentic-master.yaml alongside its siblings, where #2493 intended it to go.

Deliberately not changed

Validation

  • pytest utils/matrix_logic/224 passed
  • generate_sweep_configs.py full-sweep over both masters → 1912 configs, 0 with model-prefix: kimik2.5
  • Key-conservation check against origin/main: every removed key lands in exactly one archive, no key lost, and no non-kimik2.5 key removed (an earlier attempt silently dropped dsr1-fp8-b200-sglang-mtp; caught and redone)
  • Archived entry bodies parse identical to what main had
  • No duplicate keys in any touched YAML

中文说明

执行 MODELS.md2026 年 8 月 6 日(星期四) 的弃用计划:该日为 Kimi-K2.5/2.6/2.7-Code(kimik2.5单轮 8k1k 场景的最后运行日;叠加 #2493 已于 2026-08-04 执行的智能体编码弃用,该模型此后完全退役。今日为 2026-08-07,故予以执行。完全遵循 #2493 的先例:归档配置项、移动脚本、同步更新中英文 MODELS 文档、不改动 perf-changelog.yaml

移除 17 个配置项并归档至 configs/deprecated/nvidia-kimik2.5-8k1k-master.yaml(10 个)与 amd-kimik2.5-8k1k-master.yaml(7 个)。nvidia-master.yaml 由 134 项减至 123 项,amd-master.yaml 由 56 项减至 49 项。此后 kimik2.5 在所有主配置中均无启用配置。

移动 12 个脚本:单节点 fixed_seq_len/ 10 个、多节点 2 个,均以 git mv 移入同级 deprecated/ 目录。

顺带修复一处缺陷kimik2.5-int4-h100-vllm 是一个智能体编码配置项,#2493 将其脚本移入 agentic/deprecated/ 时,该配置项被遗留在 nvidia-master.yaml 中,导致其指向的 benchmarks/single_node/agentic/kimik2.5_int4_h100.sh 已不存在。现将其归入 nvidia-kimik2.5-agentic-master.yaml

刻意保留:SPEED-Bench 脚本(由 speedbench-al.yml 驱动,不经过主配置,与 #2493 处理 MiniMax-M3 一致);perf-changelog.yaml(移除操作不触发基准测试);ci-priority.yamlthresholds.yamlrunners/srt-slurm-recipes/(按模型前缀索引或为惰性参考数据,#2493 亦未改动)。

验证pytest utils/matrix_logic/ 224 项全部通过;两个主配置的全量扫描生成 1912 个配置,其中 model-prefix: kimik2.50;对照 origin/main 的配置项守恒检查确认无遗失、且未误删任何非 kimik2.5 配置项(首次尝试曾误删 dsr1-fp8-b200-sglang-mtp,已发现并重做);归档条目内容与 main 完全一致;所有改动的 YAML 均无重复键。

MODELS.md set 2026-08-06 as the last day for the Single-turn 8k1k scenario on
kimik2.5, and — combined with the agentic-coding deprecation enacted on
2026-08-04 in #2493 — declared the model fully retired after that date. Today is
2026-08-07, so this carries it out.

Removes 17 kimik2.5 config keys from the active master configs and archives them
under configs/deprecated/:
  - nvidia-kimik2.5-8k1k-master.yaml (10): int4 b200/b300/h200, fp4 b200/b300,
    fp4 b200/gb200/gb300 dynamo-trt, fp4 gb200/gb300 dynamo-vllm
  - amd-kimik2.5-8k1k-master.yaml (7): int4 mi300x/mi325x/mi355x, fp4 mi355x
    vllm/atom, fp4 mi355x atom-disagg/vllm-disagg

Their 12 benchmark scripts move to the sibling deprecated/ directories (10 under
single_node/fixed_seq_len/, 2 under multi_node/). kimik2.5 now has no active
configuration in any master config.

Also archives kimik2.5-int4-h100-vllm, an agentic-coding key #2493 left behind in
nvidia-master.yaml after moving its script to single_node/agentic/deprecated/ --
the config had been pointing at a path that no longer existed. It joins its
siblings in nvidia-kimik2.5-agentic-master.yaml.

benchmarks/single_node/speedbench/kimik2.5_fp4_b300_vllm.sh is deliberately kept:
speedbench is driven by speedbench-al.yml rather than the master configs, which
is how #2493 treated MiniMax-M3. perf-changelog.yaml is untouched -- removals do
not trigger benchmarks, also per #2493.

中文:执行 MODELS.md 中 2026 年 8 月 6 日的 Kimi-K2.5/2.6/2.7-Code 退役计划。单轮
8k1k 场景的最后运行日为 2026-08-06,叠加 #2493 已于 2026-08-04 执行的智能体编码
弃用,该模型此后完全退役;今日为 2026-08-07,故予以执行。

从启用的主配置中移除 17 个 kimik2.5 配置项并归档至 configs/deprecated/(NVIDIA 10
个、AMD 7 个),对应的 12 个基准测试脚本移入同级 deprecated/ 目录。此后 kimik2.5
在所有主配置中均无启用配置。

同时归档 kimik2.5-int4-h100-vllm:#2493 将其脚本移入 agentic/deprecated/ 时,该
配置项被遗留在 nvidia-master.yaml 中,导致配置指向已不存在的路径。

SPEED-Bench 脚本予以保留(由 speedbench-al.yml 驱动,不经过主配置,与 #2493 处理
MiniMax-M3 的方式一致);perf-changelog.yaml 未改动(移除操作不触发基准测试)。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
中文:在 MODELS.md 与 MODELS_zh.md 中填入 #2527 的 PR 链接。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs


感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

1 similar comment
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs


感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

Comment on lines +6 to +20
# Removed from the active master config so sweep generation no longer selects them.

kimik2.5-int4-b200-vllm:
image: vllm/vllm-openai:v0.25.0
model: moonshotai/Kimi-K2.5
model-prefix: kimik2.5
runner: b200
precision: int4
framework: vllm
multinode: false
scenarios:
fixed-seq-len:
- isl: 8192
osl: 1024
search-space:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 The 10 kimik2.5 fixed_seq_len scripts moved into benchmarks/single_node/fixed_seq_len/deprecated/ (e.g. kimik2.5_int4_b200.sh, kimik2.5_fp4_b200.sh, etc.) still source $(dirname "$0")/../../benchmark_lib.sh, which is one ../ short from the new location and resolves to a nonexistent path. Fix by changing to ../../../benchmark_lib.sh, matching every other already-archived script in the same directory (e.g. glm5_fp4_b200.sh).

Extended reasoning...

When this PR archived the 10 kimik2.5 fixed_seq_len scripts via git mv into a new deprecated/ subdirectory (benchmarks/single_node/fixed_seq_len/deprecated/), it moved each script one directory level deeper than its old location. Since git mv is a pure rename, the source "$(dirname "$0")/../../benchmark_lib.sh" line at the top of every one of these scripts was left untouched.

That relative path was correct at the old location (fixed_seq_len/single_node/benchmarks/ = 2 levels up), but from the new deprecated/ subdirectory it now resolves to benchmarks/single_node/benchmark_lib.sh — a file that does not exist. The real file lives at benchmarks/benchmark_lib.sh, three levels up from deprecated/.

Proof:

$ ls benchmarks/benchmark_lib.sh
benchmarks/benchmark_lib.sh          # exists

$ ls benchmarks/single_node/benchmark_lib.sh
ls: cannot access 'benchmarks/single_node/benchmark_lib.sh': No such file or directory

$ grep benchmark_lib.sh benchmarks/single_node/fixed_seq_len/deprecated/kimik2.5_int4_b200.sh
source "$(dirname "$0")/../../benchmark_lib.sh"     # -> benchmarks/single_node/benchmark_lib.sh (broken)

$ grep benchmark_lib.sh benchmarks/single_node/fixed_seq_len/deprecated/glm5_fp4_b200.sh
source "$(dirname "$0")/../../../benchmark_lib.sh"  # -> benchmarks/benchmark_lib.sh (correct)

glm5_fp4_b200.sh is a script that was already archived into the same deprecated/ directory in an earlier PR, and it correctly uses three ../s — confirming both that this is the established convention for scripts at this depth and that the convention was simply missed for these 10 scripts in this PR.

Nothing in CI or sweep generation catches this: these scripts are deprecated and no longer selected by generate_sweep_configs.py, so the broken source line is never exercised automatically. The only way it manifests is a human manually re-running or sourcing one of these 10 scripts for reference/debugging, at which point it fails immediately with a "No such file or directory" error on the source line before anything else in the script executes.

The fix is mechanical and consistent with the rest of the directory: change ../../benchmark_lib.sh to ../../../benchmark_lib.sh in all 10 moved scripts (kimik2.5_fp4_b200.sh, kimik2.5_fp4_b300.sh, kimik2.5_fp4_mi355x.sh, kimik2.5_fp4_mi355x_atom.sh, kimik2.5_int4_b200.sh, kimik2.5_int4_b300.sh, kimik2.5_int4_h200.sh, kimik2.5_int4_mi300x.sh, kimik2.5_int4_mi325x.sh, kimik2.5_int4_mi355x.sh).

Severity-wise, this is a real, concrete breakage with a guaranteed failure mode and an unambiguous fix pattern already established in the same directory, but the blast radius is limited: these scripts are archived/deprecated and not part of any active sweep or CI path, so nothing breaks for existing automated workflows if this ships unfixed. It only affects a manual reference/rerun scenario. Given the rubric's guidance to reserve "normal" for things that break automated behavior or user-facing correctness, this is best treated as a nit — worth fixing before merge since the fix is trivial and the pattern is already established, but not blocking.

Comment on lines 1460 to 1465
# does not have a B300-specific recipe, so this config reuses the existing
# Kimi-K2.5 FP4 B200 vLLM recipe as-is until B300-specific tuning is available.

kimik2.5-fp4-b200-vllm:
image: vllm/vllm-openai:nightly-e2fa28594f7baad142a426b0b6a2cfe2c79201c7
model: nvidia/Kimi-K2.5-NVFP4
model-prefix: kimik2.5
runner: b200
precision: fp4
framework: vllm
multinode: false
scenarios:
fixed-seq-len:
- isl: 8192
osl: 1024
search-space:
- { tp: 8, ep: 1, conc-start: 1, conc-end: 512 }
- { tp: 4, ep: 1, conc-start: 1, conc-end: 512 }
- { tp: 8, ep: 8, dp-attn: false, conc-start: 1, conc-end: 512 }
- { tp: 4, ep: 4, dp-attn: false, conc-start: 1, conc-end: 512 }
- { tp: 8, ep: 8, dp-attn: true, conc-list: [512, 1024] }

# NOTE: At the time of submission, https://docs.vllm.ai/projects/recipes/en/latest/moonshotai/Kimi-K2.5.html
# does not have a B300-specific recipe, so this config reuses the existing
# Kimi-K2.5 FP4 B200 vLLM recipe as-is until B300-specific tuning is available.
kimik2.5-fp4-b300-vllm:
image: vllm/vllm-openai:nightly-e2fa28594f7baad142a426b0b6a2cfe2c79201c7
model: nvidia/Kimi-K2.5-NVFP4
model-prefix: kimik2.5
runner: b300
precision: fp4
framework: vllm
multinode: false
scenarios:
fixed-seq-len:
- isl: 8192
osl: 1024
search-space:
- { tp: 8, ep: 1, conc-list: [1] }
- { tp: 4, ep: 1, conc-start: 1, conc-end: 512 }
- { tp: 8, ep: 8, dp-attn: false, conc-list: [1] }
- { tp: 4, ep: 4, dp-attn: false, conc-start: 1, conc-end: 512 }
- { tp: 4, ep: 4, dp-attn: true, conc-start: 128, conc-end: 512 }
dsr1-fp8-b200-sglang-mtp:
image: lmsysorg/sglang:v0.5.12-cu130
model: deepseek-ai/DeepSeek-R1-0528

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 This 3-line NOTE comment about reusing the Kimi-K2.5 FP4 B200 vLLM recipe was left behind above the unrelated dsr1-fp8-b200-sglang-mtp entry after both kimik2.5-fp4-b200-vllm and kimik2.5-fp4-b300-vllm were removed in this PR. It's a stale editing artifact (the identical duplicate comment above the b300 entry was correctly deleted) that now falsely implies the DeepSeek-R1 entry reuses a Kimi-K2.5 recipe — delete lines 1459-1462 in configs/nvidia-master.yaml.

Extended reasoning...

configs/nvidia-master.yaml previously carried two identical copies of a 3-line # NOTE: comment explaining that kimik2.5-fp4-b300-vllm reuses the kimik2.5-fp4-b200-vllm recipe as-is, pending B300-specific tuning: one copy directly above kimik2.5-fp4-b200-vllm, and one directly above kimik2.5-fp4-b300-vllm.

This PR correctly removes both kimik2.5-fp4-b200-vllm and kimik2.5-fp4-b300-vllm (archiving them, comment included, into configs/deprecated/nvidia-kimik2.5-8k1k-master.yaml lines 72-76). The diff shows the second copy of the comment — the one immediately preceding kimik2.5-fp4-b300-vllm — was removed as part of that hunk. However, the first copy, which sat above kimik2.5-fp4-b200-vllm, was an unchanged context line and was never deleted.

With both Kimi-K2.5 entries gone, that orphaned comment now sits at lines 1459-1461 of configs/nvidia-master.yaml, directly above the unrelated dsr1-fp8-b200-sglang-mtp: entry (line 1463), separated only by a blank line. Read in context, it appears to explain why the DeepSeek-R1 SGLang MTP entry reuses a Kimi-K2.5 FP4 B200 vLLM recipe — which is false. The dsr1-fp8-b200-sglang-mtp/dsr1-fp8-b300-sglang-mtp pair already has its own correct NOTE comment a few lines further down (1478-1480), explaining the actual DSR1 B300→B200 SGLang reuse, so the misplaced Kimi-K2.5 comment is pure noise with no correct referent nearby.

Step-by-step proof:

  1. In the parent commit (8c241a3^), nvidia-master.yaml line ~1505 has NOTE-copy-1 above kimik2.5-fp4-b200-vllm, and line ~1528 has NOTE-copy-2 above kimik2.5-fp4-b300-vllm.
  2. This PR's diff removes kimik2.5-fp4-b200-vllm (and NOTE-copy-1's neighbor context is not removed — the comment lines themselves are left as unchanged context), and separately removes kimik2.5-fp4-b300-vllm along with NOTE-copy-2 (that hunk's - lines include the comment text).
  3. Reading current HEAD at configs/nvidia-master.yaml:1459-1465 confirms NOTE-copy-1 is still present, immediately followed by a blank line and then dsr1-fp8-b200-sglang-mtp:.
  4. There is no longer any Kimi-K2.5 entry anywhere near this comment for it to legitimately describe.

Since YAML comments are inert to generate_sweep_configs.py and the sweep/CI pipeline, this has zero effect on functionality, config generation, or the 1912-config full-sweep validation the PR cites. The only harm is that a future reader (human or LLM) skimming this file could be misled into thinking the DeepSeek-R1 entry has some dependency on a retired Kimi-K2.5 recipe. Fix is a trivial one-line-block deletion: remove lines 1459-1462 (the 3 comment lines plus the now-redundant blank line) in configs/nvidia-master.yaml.

Comment thread MODELS.md

**Thursday, August 6, 2026** is the last day for the **Single-turn 8k1k** scenario on **Kimi-K2.5/2.6/2.7-Code** (`kimik2.5`); the scenario is deprecated for these models after that date. Rationale: Kimi-K3 launched on July 27, 2026, so GPU cluster time shifts to the newer frontier model. Combined with the Agentic coding deprecation above, this leaves `kimik2.5` with no active scenario — the model is **fully retired after August 6, 2026**.

**Enacted on 2026-08-07** in [#2527](https://github.com/SemiAnalysisAI/InferenceX/pull/2527): 17 `kimik2.5` config keys were removed from the active master configs and archived under [`configs/deprecated/`](configs/deprecated/) as `nvidia-kimik2.5-8k1k-master.yaml` (10) and `amd-kimik2.5-8k1k-master.yaml` (7), and their 12 benchmark scripts were moved to the sibling `deprecated/` directories. `kimik2.5` now has **no active configuration in any master config** and is fully retired. The same PR archived `kimik2.5-int4-h100-vllm`, an agentic-coding key that #2493 left behind in `nvidia-master.yaml` after moving its script to `benchmarks/single_node/agentic/deprecated/`; it is now in `nvidia-kimik2.5-agentic-master.yaml` with its siblings. The SPEED-Bench acceptance-length script `benchmarks/single_node/speedbench/kimik2.5_fp4_b300_vllm.sh` is intentionally kept — speedbench is driven by `speedbench-al.yml`, not the master configs, matching how #2493 treated MiniMax-M3.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 The self-referential PR links in the Deprecation Notice enactment note and the model-support-matrix row use the literal unfilled placeholder #XXXX (linking to the nonexistent /pull/XXXX) instead of #2527. This occurs 4 times total: MODELS.md lines 43 and 147, and the equivalent lines in MODELS_zh.md — all four should read #2527 / /pull/2527.

Extended reasoning...

What the bug is

The PR adds two new self-referential links to this very PR (#2527) — one in the "Enacted on 2026-08-07" paragraph under the Deprecation Notice, and one in the kimik2.5 row of the Model support matrix. In both MODELS.md and MODELS_zh.md, the author left the template placeholder #XXXX unfilled instead of substituting the real PR number. The committed text reads:

**Enacted on 2026-08-07** in [#XXXX](https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX): ...

and in the matrix row:

| Kimi-K2.5/2.6/2.7-Code | `kimik2.5` | ... | — (fully retired 2026-08-07, [#XXXX](https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX)) | ... Single-turn 8k1k (removed 2026-08-07, [#XXXX](https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX)) |

The same two instances are duplicated in MODELS_zh.md (Chinese doc), for 4 broken links total.

Why this is real and not a display artifact

The PR description text (the human-written summary) correctly uses #2527 throughout — that is what makes this easy to miss on a first read. But the actual file content added by this commit (verified directly against the repo, not the description) contains the literal string XXXX. git show on this merge commit confirms these lines were added with XXXX already in them — this is not a pre-existing issue inherited from a prior PR, it is a template placeholder introduced and never filled in by this PR.

Impact

Each [#XXXX](.../pull/XXXX) renders as a clickable markdown link that resolves to a nonexistent PR (/pull/XXXX is not a valid GitHub PR number). This defeats the entire purpose of the enactment note, which exists specifically to give readers a traceable link from the deprecation record to the PR that carried it out — the same pattern the #2493 precedent (referenced elsewhere in this same PR) implements correctly with a real PR number.

Proof / how to see it

  1. Open MODELS.md at line 43 in the merged file (not the PR description prose).
  2. Read: **Enacted on 2026-08-07** in [#XXXX](https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX): ...
  3. Click the link (or navigate to https://github.com/SemiAnalysisAI/InferenceX/pull/XXXX) — it 404s, since XXXX is not a PR number.
  4. Compare to the intended target, https://github.com/SemiAnalysisAI/InferenceX/pull/2527, which is this very PR and works correctly.
  5. Repeat for line 147 (matrix row, 2 occurrences) and the equivalent lines 43/147 in MODELS_zh.md.

Fix

Replace all 4 occurrences of #XXXX / pull/XXXX with #2527 / pull/2527 in MODELS.md and MODELS_zh.md. This is a trivial find-and-replace with no other code impact — generate_sweep_configs.py, the config YAMLs, and the archived scripts are all unaffected, since this is purely a documentation link.

Severity

Docs-only defect with no effect on sweep generation, config parsing, or benchmark execution — nothing crashes and no data is lost. However it is an objective, unambiguous error (not a style nit or PR-description mismatch) that ships 4 dead links in the canonical model-tracking document. Marking as nit: worth fixing before merge, but not blocking.

@functionstackx
functionstackx merged commit 8cc24c3 into main Aug 7, 2026
16 checks passed
@functionstackx
functionstackx deleted the feat/deprecate-kimik2.5-8k1k branch August 7, 2026 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

1 participant