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