4.1 KiB
4.1 KiB
GitNexus 开发前影响分析
- 功能编号:GOV-009
- 基线提交:
c04184a6111da0cfad90d1a265dc3cd3a6d90a9c - 分析日期:2026-08-13
查询范围
本功能会新增 Web、Server 和构建入口;这些文件在基线图谱中尚无符号,无法产生既有调用方。对已有代码的修改集中在 tools/database/schema-baseline.mjs、根工程编排、环境模板和部署配置,因此对 Schema 关键符号执行上游影响分析,并查询现有 Vue/NestJS 执行流。
结果
assertSafeDevelopmentConfiguration
- 风险:CRITICAL。
- 直接影响:4 个调用方。
- 间接影响:9 个符号、5 组执行流程。
- 直接调用方:
buildMysqldumpArguments、runBaselineGeneration、assertNotApplicableMatchesDevelopmentConfiguration和 Schema 测试。 - 关键下游:
assertCurrentReleasedBaseline、assertCurrentReleasedBaselinePublished、runCommandLine与governance:start。
resolveFixedDevelopmentEnv
- 风险:HIGH。
- 直接影响:2 个调用方。
- 间接影响:7 个符号、3 组执行流程。
- 关键下游:Schema 生成、当前发布基线校验和下一功能开发前门禁。
buildCapturedArtifacts
- 风险:LOW。
- 直接影响:Schema 测试;现有运行流程没有额外上游调用。
新增工程
GitNexus 查询未找到 Vue、NestJS、API、Scheduler 或 Worker 的既有运行符号,证明当前只有文档和治理工具。新增工程不会破坏已有应用调用方,但会建立新的构建、配置、HTTP 和进程启动流程,开发后必须重新索引并逐项核对。
直接与间接影响
assertSafeDevelopmentConfiguration为 CRITICAL:4 个直接调用方、9 个间接符号和 5 组流程,影响 Schema 生成、已发布基线校验与governance:start。resolveFixedDevelopmentEnv为 HIGH:2 个直接调用方、7 个间接符号和 3 组流程,影响开发配置解析和当前发布基线验证。- 新增 Web、API、Scheduler、Worker 在开发前没有既有调用方,但会新增构建、启动、OpenAPI、生命周期和部署流程;开发后必须用 detect-changes 与 compare 核对实际边界。
跨模块同步修改
- HTTP/OpenAPI:新增 Server DTO、OpenAPI 输出、Web 生成类型和漂移门禁;Web 不直接依赖 Server 源码。
- Web API:建立生成契约与 adapter 边界;后续 GOV-010 再统一为 Axios request 与业务域 API。
- 消息:建立 RocketMQ 信封和禁用 Adapter,不创建 Topic 或启用真实收发。
- 数据库与 Redis:同步 MySQL 5.7.42、字符规则、开发 Schema 安全边界和只读健康检查,不实施业务迁移或缓存写入。
- API/Scheduler/Worker:同步三进程入口、最小配置、持续运行和优雅退出验证。
- 部署、测试与文档:同步环境模板、systemd/Nginx、源码发布门禁、Playwright、Review、回退和架构复核;早期 Docker 方案后来由仅源码部署设计取代。
风险控制
- Schema 变更先写失败测试,覆盖固定远程白名单、未知远程拒绝、
api.env.local优先级、历史 N/A 基线验证和空库 captured 状态。 - 已发布的
v0.0.7N/A 清单保持不可变;配置启用不得静默重写历史。GOV-009 不创建数据库对象,v0.0.8发布后、下一功能开始前首次捕获空库或真实结构。 governance:start的严格远程分支、标签和已提交基线校验必须继续通过现有测试。- Schema 密码只通过子进程环境传递;固定白名单写在代码中,不接受命令参数、动态 env 白名单或通配地址。
- 新增 Server 进程分别测试配置最小权限、启动和关闭;Web 通过边界测试禁止导入 Server 源码。
- 每个阶段运行全量 Schema 与治理回归;提交前运行 GitNexus
detect_changes,若风险超出本报告则停止并重新确认。
回退
Schema 阶段可以独立回退到 GOV-009 开始提交,已发布基线目录不变。应用脚手架不执行业务迁移,回退对应提交即可移除 Web/Server 构建产物;本地 *.env.local、Redis 数据和远程开发库不随 Git 操作修改。