4.2 KiB
4.2 KiB
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,并把该缓存差异记录在比较报告中。