0.2.0 → 0.2.1v0.2.17652c25caeece67f41b82bc13774020bb6fa35ee138f0cdeb0e816e442391019bfbd7ae390ae79fe0.2.1 是一次「零运行时代码变更」的元数据/发版整理:仅在 package.json 补充了新版 DSH 所需的插件清单字段(engines.dsh、dsh.manifestVersion)、更新 README 版本说明,并新增了一个打 tag 触发的 CodeScan 增量分析工作流。lib/、tests/ 等所有运行时代码完全未改动,因此质量面与上一版本一致(修复 0 / 新增 0)。
| 文件 | 类型 | 说明 |
|---|---|---|
package.json | 修改 | version 0.2.0→0.2.1;新增 engines.dsh: ">=0.1.5-rc.1";dsh 块新增 manifestVersion: 1 |
README.md | 修改 | 版本表、兼容性说明更新到 0.2.1;新增「发版约定」小节 |
.gitea/workflows/codescan-tag.yaml | 新增 | 打 v* tag 时取「当前 tag + 前一 tag」→ 调 Hub /api/v1/trigger/incremental |
lib/** | 无变更 | 运行时代码零改动 |
tests/** | 无变更 | 测试代码零改动 |
package.json(唯一实质性变更)"version": "0.2.1",
"engines": { "dsh": ">=0.1.5-rc.1" }, // 新增
"dsh": {
"manifestVersion": 1, // 新增
"bundle": { "patch": "./cordis.patch.yml" },
"client": { "inject": [...], "platform": "web" }
}
.gitea/workflows/codescan-tag.yaml(新增 CI)push tag v*;用 git tag --sort=-creatordate | grep -A1 取前一 tag,再经 git rev-list -n 1 求 base/head SHA,最后 POST 到 Webhook。master 上打 annotated tag vX.Y.Z,与 package.json 版本一致。无。 依据 codescan.issues_diff 真实数据:修复 0 条 / 新增 0 条(两版本质量无差异)。
原因:本次区间未触碰任何被扫描的源码文件,质量问题集合不变。
无。 同 §4,issues_diff 显示新增 0 条。
全部集中在 lib/client.js 与 tests/harness.cjs,属于上一版本继承项。主要类别:
lib/client.js 多处圈复杂度过高与嵌套过深——createTodoPane(979, CC=20, 116 行)、TodoSection(852, CC=17)、SubagentDetail(605, CC=15, 102 行)、SessionRow(536, CC=17)、函数过长等。createTodoPane 直接依赖 30 个函数、SubagentDetail 23 个、StatusHeader 19 个、TodoSection 18 个、CommandSection 14 个、createTodoHeaderButton 12 个;tests/harness.cjs 依赖 21 个函数。jsx(fan-in 77)、createTodoPane、SubagentDetail 等。结论:0.2.1 未引入任何新缺陷;上述 54 条均为既有技术债,建议纳入后续重构迭代(重点:拆分
createTodoPane/SubagentDetail,降低单函数耦合与圈复杂度)。
PREV_TAG=$(git tag --sort=-creatordate | grep -A1 "$CURRENT_TAG" | tail -1) 在「当前 tag 恰为最新」或「只有一个 tag」时,grep -A1 仅返回当前 tag 本身,tail -1 即等于 CURRENT_TAG,会导致 PREV_TAG == CURRENT_TAG、base 与 head 相同(空区间)。现有 if: steps.tags.outputs.previous != '' 守卫只判空、判不出这种自引用。建议补充 previous != current 的判断或改用 git describe --tags --abbrev=0 <tag>^。git rev-list -n 1 ${{ steps.tags.outputs.previous }} 未加引号,tag 含特殊字符时有风险;建议 "${{ ... }}"。GITHUB_REF / GITHUB_OUTPUT / github.repository 与 gitea.actor。Gitea Actions 一般兼容 github 别名,但 GITHUB_OUTPUT 等依赖 Gitea 版本;建议统一为一种风格并确认 runner 版本支持。package.json 版本严格一致(README 已如此约定)。codescan.git_diff(base..head)——仅上述 3 个文件。codescan.issues_diff——修复 0 / 新增 0。codescan.quality_list @ head——54 条,均非本次引入。lib/、tests/ 相关 hunk)。