feat(GOV-010): 完成开发质量与架构治理

This commit is contained in:
2026-08-13 23:56:21 +08:00
parent 61f85e5fa4
commit f178fb4044
15 changed files with 270 additions and 22 deletions
@@ -629,7 +629,7 @@ git push origin main
### Task 5: GOV-010 档案、依赖评估与开发总结
**实施状态:进行中。** 开发总结、发布说明、依赖评估和档案状态已补齐;安全审计发现并通过 `e992edc` 修复 Swagger 的 `js-yaml` 传递依赖漏洞,等待本阶段档案提交。
**实施状态:已完成。** 开发总结、发布说明、依赖评估和档案状态已补齐;安全审计发现并通过 `e992edc` 修复 Swagger 的 `js-yaml` 传递依赖漏洞,Review 初审发现的结论行校验绕过也已通过测试先行修复。
**Files:**
@@ -663,7 +663,7 @@ git status --short
若 audit 报告风险,先按可利用性和影响评估,Important 以上不得进入 passed Review;不得为了清零数字盲目升级无关依赖。
- [ ] **Step 3: 完成性能证据**
- [x] **Step 3: 完成性能证据**
构建后记录实际 JS/CSS 文件字节数,与 Task 3 基线 `163908/805` 比较;确认 request 没有默认重试,默认超时为 10 秒。治理校验只在开发/发布路径运行,不做生产负载测试,并在“不适用”结论中写清边界。
@@ -671,7 +671,7 @@ git status --short
`manifest.yaml` 状态改为 `verifying`,保留 `release: unreleased`。`release-notes.md` 说明治理门禁、架构规范和 Axios 迁移,不宣称市场概览、AI 或用户功能已完成。
- [ ] **Step 5: 校验档案内容**
- [x] **Step 5: 校验档案内容**
Run:
@@ -683,7 +683,7 @@ git diff --check
Expected: PASS,且开发总结不存在空章节或无解释占位词。
- [ ] **Step 6: 检测变化并提交推送**
- [x] **Step 6: 检测变化并提交推送**
Run GitNexus `detect_changes(scope="all")`,然后:
@@ -697,6 +697,8 @@ git push origin main
### Task 6: 全量验证、视觉回归与 GitNexus 对比
**实施状态:已完成。** 全量契约、lint、格式、类型、测试、构建、E2E、源码发布、audit、视觉截图和 GitNexus compare 证据已写入 `qa/` 与 `gitnexus/`。
**Files:**
- Create: `docs/features/GOV-010-development-quality-architecture/qa/test-results.md`
@@ -712,7 +714,7 @@ git push origin main
- Consumes: Tasks 1-5 的完整实现和档案。
- Produces: 最新、可复现的测试、安全、性能、视觉和 GitNexus 证据。
- [ ] **Step 1: 执行全量非浏览器验证**
- [x] **Step 1: 执行全量非浏览器验证**
Run:
@@ -727,7 +729,7 @@ pnpm build
Expected: 全部退出码 0。任何失败先按 systematic-debugging 查根因并修复,不能只在报告中标记忽略。
- [ ] **Step 2: 检查构建产物和敏感信息**
- [x] **Step 2: 检查构建产物和敏感信息**
Run:
@@ -739,7 +741,7 @@ pnpm audit --prod
Expected: 构建产物不含敏感标记;记录实际包体增量和 audit 结论。
- [ ] **Step 3: 执行浏览器与源码发布验证**
- [x] **Step 3: 执行浏览器与源码发布验证**
确认本机 Redis 可用后运行:
@@ -750,11 +752,11 @@ pnpm verify:release
Expected: 桌面和移动 Chromium 均通过,API 健康契约通过,源码部署门禁通过;不启动 Docker 或替代基础设施。
- [ ] **Step 4: 保存同视口视觉证据**
- [x] **Step 4: 保存同视口视觉证据**
使用 Playwright 截取 1440x900 和 390x844 的应用外壳;检查页面可见、无横向溢出、无控制台 error/warning、标题和主内容不重叠。因为本次不改 UI,视觉结论应为“无可观察回归”,而不是宣称新增页面设计。
- [ ] **Step 5: 运行 GitNexus 开发后检测**
- [x] **Step 5: 运行 GitNexus 开发后检测**
Run:
@@ -765,11 +767,11 @@ npx gitnexus status
调用 `gitnexus_detect_changes(scope="compare", base_ref="1c1b15e")`,记录变更符号、执行流、风险和工具限制。`comparison.md` 逐项对照开发前同步修改表,特别确认 HTTP 字段、RocketMQ、MySQL、Redis、Scheduler 和 Worker 未发生计划外变化。
- [ ] **Step 6: 填写 QA 与 GitNexus 报告**
- [x] **Step 6: 填写 QA 与 GitNexus 报告**
`test-results.md` 记录命令、时间、退出码、关键输出、Axios 依赖评估、安全扫描和包体数据;`visual-qa.md` 链接两张截图并记录视口与结论;`detected-changes.md` 和 `comparison.md` 不得只写“通过”。
- [ ] **Step 7: 执行完成门禁的预检**
- [x] **Step 7: 执行完成门禁的预检**
在 Review 尚未标记 passed 前,`governance:finish` 应明确只因 Review 或尚缺 Review 报告失败,不能因开发总结、安全、性能或影响章节失败。记录预检结果,但不要伪造 passed Review。
@@ -777,6 +779,8 @@ npx gitnexus status
### Task 7: 双 Review、完成门禁与最终推送
**实施状态:进行中。** 两份自审报告已完成且最终结论均为 `passed`,最终门禁已通过;待提交和推送。
**Files:**
- Create: `docs/features/GOV-010-development-quality-architecture/review/code-review.md`
@@ -793,19 +797,19 @@ npx gitnexus status
- Produces: 两份 findings-first Review;只有 Critical 和 Important 全部关闭后才能以独占末行写 `最终结论:passed`。
- Produces: 通过 `governance:finish` 的 GOV-010 功能档案,但仍保持 `release: unreleased`,除非用户另行确认版本发布。
- [ ] **Step 1: 使用代码 Review 流程审查实际实现**
- [x] **Step 1: 使用代码 Review 流程审查实际实现**
按严重程度先列发现,检查请求错误脱敏、取消语义、类型边界、URL/HTTP 绕过、门禁误判、安全和性能证据、测试真实性。没有发现时明确写“未发现 Critical/Important/Minor”,并列残余风险和测试边界。
- [ ] **Step 2: 使用规范 Review 逐条审查**
- [x] **Step 2: 使用规范 Review 逐条审查**
检查中文注释、文件拆分、真实重复后抽象、后端按需分层、Axios/API 分域、OpenAPI 类型、GitNexus 同步修改、开发总结、中文提交和 Gitea 推送。不得把模板勾选框直接当证据,需引用文件和命令。
- [ ] **Step 3: 修复所有 Critical 和 Important**
- [x] **Step 3: 修复所有 Critical 和 Important**
每个修复先补失败测试并重跑受影响验证;更新 GitNexus 开发后报告和 Review 处置。Minor 可延期,但必须记录理由与后续功能编号。
- [ ] **Step 4: 运行最终完整验证**
- [x] **Step 4: 运行最终完整验证**
Run:
@@ -818,7 +822,7 @@ git status --short
Expected: 所有命令通过;`governance:finish` 验证独立开发总结、证据章节和双 Review。
- [ ] **Step 5: 提交前 GitNexus 检测**
- [x] **Step 5: 提交前 GitNexus 检测**
调用 `gitnexus_detect_changes(scope="all")`,确认实际影响与 `comparison.md` 一致;发现计划外进程时停止提交,先补设计、测试和用户风险说明。
@@ -840,6 +844,6 @@ npx gitnexus status
Expected: 本地与远程 main SHA 一致;GitNexus 若因最终提交过期,运行 `npx gitnexus analyze`,单独以中文文档提交更新最终统计并再次推送。
- [ ] **Step 7: 保持未发布状态**
- [x] **Step 7: 保持未发布状态**
GOV-010 完成开发和 Review 后可将 `manifest.yaml` 状态设为 `reviewing` 或 `approved_for_release`(若现有状态机不支持后者则保持 `reviewing`),但 `release` 继续为 `unreleased`,不创建 `v0.0.8` 或更高标签。版本发布仍需结合 GOV-009 架构复核和用户后续确认。