chore(release): sdk-typescript v0.1.11 - #11473
Conversation
🖼️ web-shell visual previewRendered against a mock daemon (no real backend): the PR base vs this PR head Screenshots · before / after✅ No screenshot changes against the PR base. Full-resolution recordings (.webm) are attached to the workflow run. — Qwen Code · web-shell visuals |
chiga0
left a comment
There was a problem hiding this comment.
Code review — Scan tier
Verdict: Approved. No blocking findings.
Tier and scope
Tier: Scan — automated release PR, 2 files, +2/-2 lines (version strings only).
What I checked
- Claim vs. change: PR title says
v0.1.11; both files updated to0.1.11. ✓ - Mechanical consistency:
packages/sdk-typescript/package.jsonand the rootpackage-lock.jsonentry forpackages/sdk-typescriptboth updated to the same version. ✓ - Version skip (0.1.9 → 0.1.11): Confirmed intentional. GitHub releases
sdk-typescript-v0.1.10andsdk-typescript-v0.1.11both already exist before this PR merges — consistent with a release-first automation pattern where the package is published and tagged before the repo package.json is updated. This PR is the post-release package.json sync step for v0.1.11.
No cross-file consumers of the SDK version string were checked (Scan tier; the version field has no runtime consumers in this repo).
Reviewed with AI assistance.
|
Thanks for the PR! One note on timing first: the head moved while I was reviewing — a Template: the body is a single line — Problem: observed, not theoretical, and it has timestamps. The GitHub release The two-version jump is explained, and it isn't this PR's doing. Direction: aligned. This is the tail of the repo's own release automation, not a new proposal. It is also a release / public-contract change — it fixes the recorded version of a published npm package — which is the category this gate escalates to a maintainer rather than auto-approving. Size: 2 files, +2/−2. Before the merge commit this was reported as 25 files / +68/−68, because the release branch had been cut from a pre-0.23.2 Approach: exactly minimal — the Risk: no matches against the revert-history high-risk paths. The risk that mattered on the previous head is now gone, and the reason is interesting: Flagging this for a maintainer's eyes rather than diving straight into an approval — the diff is clean, but it's a release change and my vote would be the deciding one. 中文说明感谢贡献! 先说一个时间上的情况:我审查过程中 head 发生了变化——在 SDK 版本号提交( 模板: PR 正文只有一行 问题: 是已观测到的,不是理论性的,而且有确切时间戳。GitHub release 跳过一个版本号是有解释的,而且不是这个 PR 造成的。 方向: 对齐。这是仓库自身 release 自动化的收尾,不是新提案。它同时属于 release / 公共契约类改动——它确定了一个已发布 npm 包所记录的版本号——而这类改动是本 gate 会转交 maintainer、不自动批准的范围。 规模: 2 个文件,+2/−2。在合并提交之前,这里显示的是 25 个文件 / +68/−68,因为 release 分支是从 0.23.2 之前的 方案: 完全最小化——workspace manifest 里的 风险: revert 历史信号中的高风险路径没有命中。上一个 head 上真正要紧的风险现在已经消失,而原因很有意思: 我把这个 PR 提出来交给 maintainer 判断,而不是直接进入批准——diff 是干净的,但它是一次 release 改动,而我这一票会是决定性的那一票。 — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
|
Code review. Asked how I'd persist a published SDK version back to Because the diff is that small I checked it directly rather than sampling it. The invariant Worth contrasting with #11393 (the v0.1.9 release PR), whose triage deferred over 191 lines of lockfile deletions from a regenerated lock. This head carries none of that. Testing. Unattended CI run — I built nothing and executed nothing from this PR. The evidence is the PR's own CI read through the API, plus the static verification above. Real-scenario terminal testing is N/A: a version-metadata sync has no runtime surface, so there is nothing a terminal capture could show. The most important thing about this head is that it gets real CI. On the previous head ( So the install actually ran this time, and it ran against the changed lockfile. From job CI on this head — 65 check-run records, no
Two honesty notes on that table. First, the count is inflated by superseded duplicates: Still in flight, and I'm not going to guess at it: one PR CI workflow run,
No sandboxed lane is warranted here, and I want to be explicit about why I'm not naming one. There is no behavioural claim to settle — this changes version metadata, not runtime behaviour — and the single thing that did need substantiating, that the changed npm lockfile still installs, is now substantiated by a real 中文说明代码审查。 如果问我会怎么把一个已发布的 SDK 版本号同步回 正因为 diff 这么小,我是直接核查而不是抽样检查。 值得与 #11393(v0.1.9 的 release PR)对比:那次的 triage 因为重新生成 lockfile 带来的 191 行删除而 defer。这个 head 完全没有那些内容。 测试。 无人值守的 CI 运行——我没有构建、也没有执行本 PR 的任何代码。证据是通过 API 读取的本 PR 自身 CI,加上上述静态验证。真实场景的终端测试为 N/A:版本元数据同步没有运行时界面,终端截图也展示不出任何东西。 这个 head 最关键的一点是它得到了真实的 CI。在上一个 head( 所以这一次安装真的运行了,而且是针对变更后的 lockfile 运行的。来自本 head 上 job 关于上面那张表,有两点需要如实说明。第一,条目数被"被取代的重复记录"放大了: 仍在运行中、我不做任何猜测的部分:一个 PR CI workflow 运行,即
这里不需要沙箱化验证通道,我要明确说明为什么我不点名一个。没有需要确认的行为性主张——这改变的是版本元数据,不是运行时行为——而唯一确实需要证实的事情,即变更后的 npm lockfile 仍然可以安装,现在已经由这个 head 上真实的 — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
|
Confidence: 4/5 — clean and now genuinely verified; the only things keeping it from 5 are that one required CI workflow is still running and that two follow-ups belong upstream rather than in this diff. Stepping back over the whole picture: my independent proposal for this job was a two-line commit, and the diff is two lines. I searched current I want to be explicit about one judgment call, because it's the only place a reasonable maintainer could disagree with me. This is a release / public-contract change, which is a category this gate normally routes to a human rather than approving unattended — and that is what I did on the v0.1.9 release PR (#11393). I'm not treating it as a defer trigger here, for two reasons. The reason I deferred there was factual, not ceremonial: 191 lines of regenerated lockfile with no install behind them. This head has 2 lines with a green install behind them. And the escalation the rule asks for has already happened in the strongest form available — @yiliang114 pushed a commit to this branch and approved it, so a human owns this call and is exercising it, not being substituted for by a bot. My vote completes a gate a maintainer already walked through. If you read the policy differently, dismiss the approval or re-run me; that's cheap, and I'd rather say this out loud than have the reasoning hidden. So: approving, but not in this run, because Two follow-ups, neither blocking and neither this PR's to fix:
For the record: the head moved mid-review ( 中文说明Confidence: 4/5 —— 干净,而且这次是真正被验证过的;没能给到 5 分的原因只有两点:一个必需的 CI workflow 仍在运行,以及有两个后续项属于上游、而不在这个 diff 里。 退一步看整体:我对这件事的独立方案是一个两行的提交,而 diff 就是两行。我在当前 我想明确说明一个判断,因为这是唯一一处合理的 maintainer 可能与我意见不同的地方。这是一次 release / 公共契约类改动,而这类改动本 gate 通常会转交给人、而不是在无人值守时批准——我在 v0.1.9 的 release PR(#11393)上就是这么做的。这次我没有把它当作 defer 的触发条件,理由有两点。我在那次 defer 的理由是事实性的,不是形式性的:191 行重新生成的 lockfile,背后没有任何安装验证。而这个 head 是 2 行,背后有一次绿色的安装。而且那条规则所要求的"升级到人",已经以最强的形式发生了——@yiliang114 向这个分支推送了提交并且批准了它,所以这个判断由人拥有、并且正在由人行使,而不是被 bot 替代。我这一票是补全一个 maintainer 已经走过的门。如果你对这条策略有不同理解,可以撤销这个批准或者重新触发我;成本很低,我宁愿把话说明白,也不希望推理过程被藏起来。 所以:批准,但不在本次运行中批准,因为 两个后续项,都不阻塞,也都不该由本 PR 来修:
为了留痕说明:审查过程中 head 发生了变化( — Qwen Code · qwen3.8-max-2026-09-02 Reviewed at |
|
Released in v0.23.3. |
Automated release PR for sdk-typescript v0.1.11.