fix(ci): record qwen-autofix.yml's shipped size in the workflow size baseline - #9747
Conversation
…baseline The ratchet that #9677 introduced fails on the tree that introduced it. That PR moved prose out of `qwen-autofix.yml` (431526 → 397656 bytes) and recorded the manifest in the same commit, but the number it recorded — 392111 — is the size from an earlier revision of the branch, 5545 bytes below what actually shipped and 1449 past the 4096-byte allowance. Nothing downstream can pass it. `Check workflow file size` is step 7 of the `Test` job, ahead of `Install dependencies`, and a failure there skips every step after it — so any PR whose merge ref contains #9677 reports a red `Test` lane having run no tests at all, over a workflow file it never touched. Measured on two PRs from different authors, both failing at that step and no other. The file is the post-migration one #9677 meant to ship, so the number is what moves: the entry now records what is on disk, and the ratchet resumes measuring drift from there.
|
✅ Qwen Triage finished — CI landed green on ✅ Qwen Triage 已完成 —— |
|
Thanks for the PR! Template looks good ✓ Problem: real and observed. I verified it statically on Direction: aligned. A gate that fails on its own merge commit defeats its own purpose — the ratchet exists to make drift visible, not to wedge CI. Restoring it to measuring from reality is the right call. No CHANGELOG reference needed; this is CI infrastructure, not user-facing behavior. Size: not applicable — one file under Approach: minimal and right-sized. Moving the number rather than trimming the file is the correct choice: the workflow file is the post-migration version #9677 intended to ship, and shrinking it further would be a separate decision. The tradeoff (banking 5545 bytes of baseline) is named honestly in the description. No unrelated changes in the diff — it is exactly the one line it claims to be. Risk: no elevated risk signals — Moving on to code review. 🔍 中文说明感谢贡献! 模板完整 ✓ 问题:真实且已被观测到。我在 方向:对齐。一个在自己的合并提交上就失败的闸门违背了它自己的目的——棘轮是为了让漂移可见,而不是把 CI 卡死。让它从真实大小重新开始度量是正确的选择。无需 CHANGELOG 引用;这是 CI 基础设施,不涉及用户可见行为。 规模:不适用——只改 方案:最小且恰当。动数字而不是裁文件是正确的选择:workflow 文件正是 #9677 想要落库的迁移后版本,进一步裁剪应当是另一个决定。描述中诚实地说明了取舍(把 5545 字节收进基线)。diff 没有夹带无关改动——就是它所声称的那一行。 风险:无升级风险信号—— 进入代码审查。🔍 — Qwen Code · qwen3.8-max Reviewed at |
Code reviewMy independent proposal for "the size ratchet fails on the tree that introduced it, because the recorded baseline is 5545 bytes below the shipped file": update the manifest entry to the file's real size — the workflow file is the post-migration state #9677 intended, so the number moves, not the file. That is exactly what this PR does, in one line. Cross-checks against the gate's own logic (
Nothing else in the diff — no drive-by edits, no reordering. No findings. CI test evidence (this commit's own CI, read via API)The ubuntu The ubuntu lane was still in progress at review time (started ~5 minutes prior; the suite's normal runtime), so the gate's pass on this commit is not yet a recorded result. Everything else that has reported is green: Final CI results for
One row per check name (latest run); skipped checks omitted; failures sort first. / 每个检查名一行(取最新一次运行),省略 skipped,失败项排在最前。 No sandboxed-verification lane is named here, and that is deliberate: the claim this PR makes is about the CI gate itself, and that gate is running on this exact commit in the table above — the finalize pass records the result once it lands. There is no product behavior to settle with 中文说明代码审查针对"棘轮在引入它的那棵树上失败,因为记录的基线比落库文件小 5545 字节",我的独立方案是:把清单条目更新为文件的真实大小——workflow 文件正是 #9677 想要落库的迁移后状态,所以动数字而不是动文件。这正是本 PR 所做的,且只有一行。 与闸门自身逻辑的交叉核对(静态阅读了
diff 没有其他内容——没有顺手改动,没有重排序。无发现。 CI 测试证据(本提交自己的 CI,经 API 读取)ubuntu 的 审查时 ubuntu 通道仍在进行中(约 5 分钟前启动,属该套件正常时长),因此闸门在本提交上的通过还不是已记录的结果。其余已报告的均为绿色(见上方表格,最终结果由 finalize 流程在 CI 落定后更新)。 此处不点名沙箱验证通道,这是有意为之:本 PR 的主张就是 CI 闸门本身,而该闸门正在这个提交上运行——结果落定后由 finalize 记录。没有需要用 — Qwen Code · qwen3.8-max Reviewed at |
|
Confidence: 5/5 — verified failure on main, one-line fix that matches the gate's own arithmetic exactly, honest about its tradeoff. Stepping back: this is the ratchet's author fixing the ratchet's own birth defect, and every check I can run statically confirms the diagnosis — the recorded 392111 never matched the shipped 397656, the drift of 5545 is 1449 past the allowance, and the failing step sits ahead of dependency installation, so it wedges the Test lane for every PR on a recent merge ref. My independent proposal (update the number, not the file) is exactly what the PR does; I found no simpler path, and the diff carries nothing beyond that one line. The one tradeoff — banking 5545 bytes of baseline that no reviewer approved as growth — is named in the PR body itself, and it is the right call: the alternative (trimming Approval deferred until CI lands green on 中文说明置信度:5/5 —— 在 main 上核实了失败,一行修复与闸门自身的算术完全吻合,且对取舍坦诚。 退一步看:这是棘轮的作者在修复棘轮与生俱来的缺陷,我能做的每一项静态核对都印证了诊断——记录的 392111 从未匹配落库的 397656,5545 字节的漂移超出允差 1449,而失败步骤排在依赖安装之前,于是它把每个基于较新 merge ref 的 PR 的 Test 通道都卡死了。我的独立方案(动数字而不是动文件)与 PR 完全一致;没有找到更简的路径,diff 也没有超出这一行的任何内容。唯一的取舍——把 5545 字节未经评审批准为"增长"就收进基线——PR 正文自己就点明了,而且这是正确的选择:另一条路(把 批准将推迟到 — Qwen Code · qwen3.8-max Reviewed at |
qwen-code-ci-bot
left a comment
There was a problem hiding this comment.
中文说明
— qwen3.8-max via Qwen Code /review (v0.22.0)
Code Coverage Summary
CLI Package - Full Text ReportCore Package - Full Text ReportFor detailed HTML reports, please see the 'coverage-reports-22.x-ubuntu-latest' artifact from the main CI run. |
qwen-code-ci-bot
left a comment
There was a problem hiding this comment.
LGTM, looks ready to ship — CI landed green after the review. ✅
Conflict: .size-baseline. #9747 recorded qwen-autofix.yml's shipped size, which is the drift this branch had absorbed into its own number. Take main's line and re-stamp it with this branch's size, so the recorded number is main's plus this change alone. Also repairs two defects this branch introduced, caught by workflow-size.test.js in CI: The af-148 renumber was applied with a global substitution and rewrote a PRE-EXISTING af-074 pointer at the top of the workflow along with the three new ones, orphaning that section. Restored. af-148 was appended to the design record without a contents-table entry, which the table/anchor equality check reads as a missing section.
…ui-core No conflicts. Picks up the workflow-size baseline correction (#9747), so the `Test` job's step-7 gate stops failing this branch's merge ref before any dependency is installed. `npm run build` clean and `vitest run --root packages/cli src/commands/review` 4882 passed / 0 failed.
… baseline Second instance of the shape #9747 fixed, in a different file. #9587 grew `cd-cua-driver.yml` from 29715 to 42519 bytes and did not move the manifest entry with it — 12804 bytes over, against a 4096-byte allowance — so the ratchet fails on `main` itself. The step it fails is `Check workflow file size`, number 7 of the `Test` job and ahead of `Install dependencies`, and a failure there skips every step after it. Any PR whose merge ref contains that commit therefore reports a red `Test` lane having run no tests at all, over a workflow file it never touched. Measured on two PRs from different authors, both failing at step 7 and at no other, while a PR still based on an earlier merge ref stays green. The growth is real — a versioned Computer Use SDK landed in that workflow — so the number moves rather than the file, and the ratchet resumes measuring drift from what is actually there. Nothing else in the manifest moves: all 52 workflow files have an entry, 48 match byte-for-byte, and the three remaining drifts are inside the allowance, which is what the allowance is for.
… baseline QwenLM#9587 (b5fbdb2) grew cd-cua-driver.yml from 29715 to 42519 bytes on main without updating the ratchet, so every PR that merges main now fails the workflow-size check. Record the shipped size, following the same fix as QwenLM#9747 for qwen-autofix.yml.
The workflow grew from 29715 to 42519 bytes when QwenLM#9587 landed on main without a baseline update (a latent main-side violation every PR merging main now trips, as the check message itself directs). Record the new size following the same remedy as QwenLM#9747/QwenLM#9682.
Same latent main-side violation as QwenLM#9682/QwenLM#9683-era fixes: QwenLM#9587 grew the workflow without a baseline update; record the new size as the check message directs (precedent QwenLM#9747).
Same latent main-side violation as fixed in QwenLM#9682: QwenLM#9587 grew the workflow without a baseline update; record the new size as the check message directs (precedent QwenLM#9747).
… baseline (QwenLM#9822) QwenLM#9587 grew cd-cua-driver.yml from 29715 to 42519 bytes (the versioned Computer Use SDK release pipeline) without updating the ratchet, and its own CI never ran the size gate. Every branch that merges current main now fails the Test job at 'Check workflow file size' before any test runs. The growth is real feature surface at 8% of GitHub's 512000-byte start-runs limit, so record it, as QwenLM#9747 did for qwen-autofix.yml.
* refactor(core): shrink content generator interface * refactor(core): remove orphaned request-tokenizer estimator cluster Removing countTokens from both providers deleted the last production consumers of RequestTokenEstimator. Delete the orphaned cluster: requestTokenizer.ts (330), imageTokenizer.ts (534), types.ts (36), the directory barrel (11), and both test files (608 lines). Also drop the inert vi.mock of requestTokenizer.js left in client.test.ts and the stale dimension-extractor cross-reference in review/lib/assets.ts. textTokenizer.ts and supportedImageFormats.ts stay: converter.ts, pdf.ts, and fileUtils.ts still consume them and the core barrel re-exports them. * docs(design): sync lazy-google-genai-loading record with shrunk interface countTokens and useSummarizedThinking no longer exist on ContentGenerator, so the design record for the lazy-wrapper architecture must not keep advertising them: list the three remaining shared async operations, drop the useSummarizedThinking sentence and the summarized-thinking item from the consumer audit and Verification section, and add a dated note recording the interface shrink from PR QwenLM#9676. * ci: record cd-cua-driver.yml size growth in .size-baseline Same latent main-side violation as fixed in QwenLM#9682: QwenLM#9587 grew the workflow without a baseline update; record the new size as the check message directs (precedent QwenLM#9747). * docs: finish scrubbing tokenizer references after estimator-cluster removal Follow-up to 0ee1763/1871bb5b81 (review round 2): - supportedImageFormats.ts header and getSupportedImageFormatsString doc no longer describe a tokenizer decode/metadata-extraction stage; the list is now documented as the vision-input acceptance list, with token accounting noted as the flat DEFAULT_IMAGE_TOKEN_ESTIMATE. - web-shell-image-drag-and-drop.md's BMP rationale no longer claims ImageTokenizer parses BMP dimensions; dated sync note added stating BMP support rests on SUPPORTED_IMAGE_MIME_TYPES plus converter passthrough since PR QwenLM#9676. * docs: drop tokenizer from the BMP test-plan line Follow-up to 18f08c0: the test plan still required converter/tokenizer focused tests for image paths; the image-tokenizer estimator cluster was removed in PR QwenLM#9676 (text tokenizer is unaffected and out of scope here).
What this PR does
Corrects one number in
.github/workflows/.size-baseline: the entry forqwen-autofix.ymlbecomes 397656, the size of the file that is actually on disk, replacing the 392111 recorded alongside it.Why it's needed
The growth ratchet added in #9677 does not pass on the tree that added it. That PR moved prose out of
qwen-autofix.yml(431526 → 397656 bytes) and wrote the manifest in the same commit, but the number it wrote is the size from an earlier revision of its own branch — 5545 bytes below what shipped, and 1449 past the 4096-byte allowance the gate permits.Nothing downstream can get past it.
Check workflow file sizeis step 7 of theTestjob, ahead ofInstall dependencies, and a failure there skips every step after it — so a PR whose merge ref contains #9677 shows a redTestlane that ran no tests at all, over a workflow file the PR never touched. Two PRs from different authors were measured failing at that step and at no other; PRs still based on a merge ref from before #9677 stay green, which is what places the cause.The file is the post-migration one #9677 intended to ship, so the number is what moves rather than the file. The ratchet resumes measuring drift from the size that is really there.
Reviewer Test Plan
How to verify
On
main, both the shell gate and its vitest mirror fail; with this one-line change, both pass.Restoring the old number turns the mirror red again, so the single line is what the result hangs on.
The manifest is otherwise accurate and stays untouched: all 52 workflow files have an entry, 50 match their file byte-for-byte, and the one remaining drift (
qwen-code-pr-review.yml, +1339) is inside the allowance, which is what the allowance is for.Evidence (Before & After)
N/A — no user-visible surface; the before/after is the command output above.
Tested on
Environment (optional)
macOS; the gate is a byte count over files in the repo, so it has no platform-dependent behaviour. CI covers the Linux lane.
Risk & Scope
qwen-autofix.ymlshould be smaller than 397656. This restores the gate to working order at the size chore(ci): migrate autofix prose to the design record and ratchet growth #9677 chose; trimming it further is a separate change.Linked Issues
Follows up #9677.
中文说明
本 PR 做了什么
修正
.github/workflows/.size-baseline里的一个数字:qwen-autofix.yml的条目改为 397656,即磁盘上文件的真实大小,替换掉与之一同落库的 392111。为什么需要
#9677 引入的增长棘轮,在引入它的那棵树上就过不去。那个 PR 把散文从
qwen-autofix.yml移了出去(431526 → 397656 字节),并在同一个 commit 里写下清单,但它写下的数字是该分支更早某个修订版的大小——比实际落库的小 5545 字节,超出闸门允许的 4096 字节允差 1449 字节。下游没有任何东西能越过它。
Check workflow file size是Testjob 的第 7 步,排在Install dependencies之前,而该步失败会跳过其后的每一步——于是任何 merge ref 含 #9677 的 PR,都会看到一条红着的Test通道,而它一个测试都没跑,起因还是一个该 PR 从未碰过的 workflow 文件。实测两个来自不同作者的 PR 都恰好挂在这一步、且不挂在其它任何一步;而 merge ref 早于 #9677 的 PR 仍然是绿的——这就定住了因果。该文件正是 #9677 想要落库的迁移后版本,所以要动的是数字而不是文件。棘轮从真实存在的那个大小重新开始度量漂移。
评审验证计划
如何验证
在
main上,shell 闸门与它的 vitest 镜像都会失败;加上这一行改动后两者都通过。命令与输出见上方英文正文的代码块。把旧数字改回去,镜像测试会重新变红——说明结果就悬在这一行上。
清单其余部分是准确的,不做改动:52 个 workflow 文件都有条目,其中 50 个与文件逐字节相符,剩下唯一的漂移(
qwen-code-pr-review.yml,+1339)落在允差之内,而这正是允差的用途。证据(前后对比)
N/A —— 没有用户可见的界面;前后对比就是上面的命令输出。
测试环境
见上方表格。闸门只是对仓库内文件做字节计数,没有平台相关行为;Linux 通道由 CI 覆盖。
风险与范围
qwen-autofix.yml是否应当小于 397656。本 PR 只是把闸门恢复到可用状态,停在 chore(ci): migrate autofix prose to the design record and ratchet growth #9677 自己选定的大小上;进一步裁剪是另一件事。关联 Issue
跟进 #9677。