Open navigation

Blog/release

v0.14.0 — Release Readiness Audit Report

v0.14.0 Release Readiness Audit Report

全团队审计结果 · 2026-05-13

Summary

Metric Value
Source files 121 .ts across 10 packages
Test files 44 (36% src/test ratio)
Lint errors 0
CI workflows 5 (lint, test, publish x2, deploy-api)
README coverage 10/10 packages ✅
Stale root files Cleaned ✅

1. 产品经理 · 文档审计

✅ 通过

  • 25 ADRs 全部迁入 blog 管线,功能正常
  • 10 个包 README 全部存在且已更新到 v0.14
  • 根目录已清理(删除 v0.11-release-notes.md, overview.md, deliverables/)
  • CHANGELOG-v0.14.0.md 中英双语已放在 Claw 根目录

⚠️ 待改进

问题 文件 建议
新版博客博文无 frontmatter date 验证 2026-05-13-architecture-analysis.md 添加 type 和 tags
ADR 列表页/decisions 路由仍有冗余 www/app/routes/decisions/ 考虑统一到 /blog/ 路径(向后兼容可选)

2. 架构师 · 架构审计

✅ 通过

  • Phase 1→3→2→Inject 新顺序已实现并推送到 dev
  • ssg-render.ts 零 Vite 依赖 ✅
  • importmap.json 随 SSR bundle 产出 ✅
  • 独立 SSG CLI (cli/ssg.ts) ✅
  • 10 包版本统一 0.14.0 ✅
  • 跨包依赖引用全部更新为 @^0.14

⚠️ 观察

问题 位置 建议
Phase 1b 仍用 viteBuild build-ssg.ts ADR 22 提到换 esbuild,优先级 P2
@hono/vite-dev-server 非 optional adapter-vite/deno.json 标记为 optional dep(P1)
BuildSSGOptions 未统一 build-ssg.ts ADR 22 P1 项
html-escape.tswrapInDocumentrenderSsrError 有部分重复 core/src/html-escape.ts 考虑合并

3. 工程师 · 代码质量审计

✅ 通过

  • Lint: 0 errors
  • TypeScript strict mode 兼容
  • Deno workspace 配置正确(10 成员匹配)
  • .bak.old、TODO/FIXME 残留文件

⚠️ 待改进

问题 位置 建议
i18n 包测试覆盖率低 packages/i18n/ 5 src / 1 test — 需增加
ui 包测试覆盖率低 packages/ui/ 15 src / 2 test — 需增加
content 包测试覆盖率低 packages/content/ 11 src / 4 test — 需增加
rpc 包无 src 导出函数 packages/rpc/src/ 只有 index.ts — 确认是否需要
部分 ssg-render.ts 中的 node:* 导入 ssg-render.ts 允许(SSG 非浏览器端运行)

4. QA · 测试审计

✅ 通过

  • Core: 61 tests ✅ (13 src / 8 test)
  • Adapter-vite: 关键测试通过 (build-context, entry-generators)
  • Adapter-lit: 测试存在
  • Signals: 8 test files (覆盖较好)
  • CI: test.yml 存在,运行 deno test

⚠️ 待改进

测试套件 状态 详情
build-manifest.test.ts ❌ 部分失败 需 build 产物预置 — 环境依赖
ssg-smoke.test.ts ❌ 部分失败 同上
index-plugin.test.ts ❌ 部分失败 同上
新版 ssg-render.ts ⬜ 0 test 需添加单元测试
新版 ssg.ts (CLI) ⬜ 0 test 需添加集成测试

5. CI/CD 审计

Workflow 状态
lint.yml ✅ Deno lint + fmt
test.yml ✅ deno test (all)
publish.yml ✅ 自动发布到 JSR
publish-manual.yml ✅ 手动触发发布
deploy-api.yml ✅ Cloudflare Pages 部署

发现

  • CI workflows 完整,覆盖 lint → test → publish → deploy
  • 无过时 workflow 文件
  • JSR publish 配置正确(每个包有 deno.json publish.include)

审计结论

可发布(v0.14.0)

当前仓库状态可发布。无阻塞性问题。

建议立即做

  • ssg-render.tsssg.ts 添加单元测试(~1d)
  • 补 i18n/ui/content 测试(~2d)
  • 清理 decisions 路由冗余(~0.5d)

建议推迟

  • esbuild 替换 viteBuild(P2)
  • BuildSSGOptions 统一(P1)
  • @hono/vite-dev-server optional dep(P1)
  • html-escape 函数合并(P3)