Files

4.2 KiB
Raw Permalink Blame History

GitNexus 开发前影响计划

  • 功能编号:GOV-010
  • 基线提交:bbda26fa41288d4ae1f37c3e1c14593d5d8e910e
  • 分析日期:2026-08-13
  • 总体风险:LOW;因部分遍历结果标记为 partial,按 MEDIUM 验证强度实施交叉检查

查询与上下文

GitNexus 查询了三类概念:功能档案完成门禁、前端 HTTP/OpenAPI 健康检查链路、NestJS 模块与项目边界。关键上下文结果:

  • getRequiredFeatureFiles 的直接使用者是 tools/governance/finish.mjs 和 tools/governance/feature-record.test.mjs。
  • createApiClient 与 ApiRequestError 位于 web/src/api/client.ts,只有旧客户端测试直接依赖两者;当前 Vue 页面尚未调用健康接口,Playwright 的健康请求属于测试进程直连后端,不应迁移为浏览器业务 API 调用;依赖锁文件包含 openapi-fetch。
  • 健康展示链路经过 web/src/api/adapters/health.adapter.ts 的 toHealthViewModel,需保留 DTO 到 ViewModel 的隔离。
  • API 端由 HealthController.getHealth 调用 HealthService.check;本次不改后端路由和 DTO。
  • 项目边界由 verifyProjectBoundaries 扫描 TypeScript 与 Vue 脚本,适合扩展前端 HTTP 边界规则。

直接与间接影响

  • getRequiredFeatureFiles:GitNexus 风险 LOW;图谱遍历返回 0 个影响但上下文明确存在两个直接调用者,因此必须同步修改测试和完成门禁验证。
  • createApiClient:风险 LOW、结果为 partial;静态引用确认只需迁移旧客户端测试并新增健康 API 样例,当前没有页面调用方需要改动。
  • ApiRequestError:风险 LOW、结果为 partial;新 Axios 错误类型必须保持现有安全消息行为。
  • collectSourceFiles:风险 LOW;边界扫描是开发验证路径,不影响生产执行流,但其测试 fixture 必须同步。

没有 HIGH 或 CRITICAL 结果,不需要额外风险批准。partial 结果不得解释为没有调用方,实施前后使用 rg、类型检查、测试和 detect_changes 交叉验证。

执行流影响

  • 治理完成流程:必备文件与内容校验会改变 governance:finish 的通过条件。
  • Web 健康请求脚手架:请求库、错误路径和类型引用变化;当前页面没有对应运行时请求流,后端健康检查与 Playwright 直连验证不变。
  • OpenAPI 生成流程:生成工具与输出协议不变,前端仍消费 schema.ts,仅请求执行器由 openapi-fetch 改为 Axios。
  • 项目边界验证流程:增加 Axios/fetch 使用位置检查,生产运行时不受影响。

跨模块同步修改

领域 是否修改 计划
HTTP/OpenAPI 是,文档与类型消费 保留后端 OpenAPI 输出和生成 Schema,不修改路由或字段
Web 请求/API 是 新建统一 Axios request、健康业务域 API,迁移调用方和测试
Web adapter/ViewModel 可能 仅调整导入或调用链,保持转换行为与类型边界
RocketMQ 消息契约 否 本功能不修改消息协议或进程通信
MySQL/迁移/Schema 否 不修改结构;开发前只验证已发布 v0.0.7 基线
Redis/缓存 否 不修改缓存键、TTL、连接或数据
API/Scheduler/Worker 否 不改变三个后端进程运行行为,只新增其架构规范
配置与部署 可能 Axios 沿用现有 Web API 根地址;若变量名不变则无需改模板
治理工具 是 必备开发总结、结构化内容校验及错误信息
边界工具 是 限制前端直接 HTTP 调用并增加测试
文档与模板 是 更新代码规范、流程、追溯、PRD、Review、AGENTS 和模板
依赖与锁文件 是 Web 删除 openapi-fetch,新增固定版本 Axios
测试与视觉 QA 是 补单元、边界、全量、构建体积和现有页面回归证据

GitNexus 状态限制

CLI 在开发前运行后报告索引提交与当前 HEAD 均为 bbda26f 且状态最新。MCP 的 context 资源仍显示旧统计并提示落后 5 个提交,说明 MCP 资源缓存未同步;查询、符号上下文和影响结果仍能定位当前文件。开发后必须重新运行 CLI 分析、调用 detect_changes,并把该缓存差异记录在比较报告中。