Target Version
3.0-dev,调查基于 #100 提交 db48940;故障文件与前序 #98 相同。
Evidence
2026-09-13,本地 Ubuntu 虚拟机执行 cmake -S . -B build -DCMAKE_BUILD_TYPE=Release 和 cmake --build build -j2。九个业务服务均编译完成,但默认构建继续进入 common/test/test_redis_mutex_contract,因 fmt/spdlog/brpc/bvar 符号未链接而 exit 2。完整输出 issue97/build.log。随后显式构建九服务目标 exit 0,记录 build-services.log。common/test/CMakeLists.txt 对该旧 C++ 目标没有 target_link_libraries,且根 CMakeLists.txt 无条件加入 common/test。
Problem or Goal
让默认开发构建与当前 Go 测试架构一致,不因退役的 C++ 测试目标使已成功的业务服务构建整体失败。
Scope
整理默认 CMake 构建入口,明确现存 common/test 的遗留地位;用 Go 构建契约验证默认入口和九服务产物,更新构建说明。
Non-goals
不新增或恢复 C++ 测试,不将旧 C++ 测试当作当前行为证据,不改变业务服务逻辑或扩大 #97 的生产修改。
Acceptance Criteria
Test-first Plan
先确认并记录实际默认构建失败,通过 Go 构建契约表达有效产物和默认目标要求,再调整入口;回归 Linux 构建、Go contracts、BVT 和适用 CI。
Risk and Security
只修改开发构建和说明;保留审计输出,不删除用户代码或数据。不恢复已禁止的 C++ 测试体系。
Architecture Impact
No,不改变服务拓扑;明确构建入口与现有测试架构的一致性。
Core-flow Impact
No,业务流程不变。
Required Skill Updates
.agents/skills/chatnow-orienting/references/technology-stack.md;.agents/skills/chatnow-testing/references/framework.md;必要时同步 .agents/skills/chatnow-verifying-changes/SKILL.md 的构建说明。
Implementation Evidence
修复实现于 Draft PR #110(ddd3fa9)。Go BLD-01 在实际 CMake file-API 中先观察到 21 个目标并断言失败,移除默认 legacy 子目录后恰好九服务;默认 Release 构建通过且九产物 SHA-256 已记录。当前静态契约(含构建图门禁反例)、vet、格式、策略及本地 18 项 BVT 通过;当前提交 CI 34760040499 的 build、service-artifacts、BVT、Functional、Reliability 已全部成功;builder 内真实构建图及默认九服务编译通过。
Target Version
3.0-dev,调查基于 #100 提交 db48940;故障文件与前序 #98 相同。
Evidence
2026-09-13,本地 Ubuntu 虚拟机执行 cmake -S . -B build -DCMAKE_BUILD_TYPE=Release 和 cmake --build build -j2。九个业务服务均编译完成,但默认构建继续进入 common/test/test_redis_mutex_contract,因 fmt/spdlog/brpc/bvar 符号未链接而 exit 2。完整输出 issue97/build.log。随后显式构建九服务目标 exit 0,记录 build-services.log。common/test/CMakeLists.txt 对该旧 C++ 目标没有 target_link_libraries,且根 CMakeLists.txt 无条件加入 common/test。
Problem or Goal
让默认开发构建与当前 Go 测试架构一致,不因退役的 C++ 测试目标使已成功的业务服务构建整体失败。
Scope
整理默认 CMake 构建入口,明确现存 common/test 的遗留地位;用 Go 构建契约验证默认入口和九服务产物,更新构建说明。
Non-goals
不新增或恢复 C++ 测试,不将旧 C++ 测试当作当前行为证据,不改变业务服务逻辑或扩大 #97 的生产修改。
Acceptance Criteria
Test-first Plan
先确认并记录实际默认构建失败,通过 Go 构建契约表达有效产物和默认目标要求,再调整入口;回归 Linux 构建、Go contracts、BVT 和适用 CI。
Risk and Security
只修改开发构建和说明;保留审计输出,不删除用户代码或数据。不恢复已禁止的 C++ 测试体系。
Architecture Impact
No,不改变服务拓扑;明确构建入口与现有测试架构的一致性。
Core-flow Impact
No,业务流程不变。
Required Skill Updates
.agents/skills/chatnow-orienting/references/technology-stack.md;.agents/skills/chatnow-testing/references/framework.md;必要时同步 .agents/skills/chatnow-verifying-changes/SKILL.md 的构建说明。
Implementation Evidence
修复实现于 Draft PR #110(ddd3fa9)。Go BLD-01 在实际 CMake file-API 中先观察到 21 个目标并断言失败,移除默认 legacy 子目录后恰好九服务;默认 Release 构建通过且九产物 SHA-256 已记录。当前静态契约(含构建图门禁反例)、vet、格式、策略及本地 18 项 BVT 通过;当前提交 CI 34760040499 的 build、service-artifacts、BVT、Functional、Reliability 已全部成功;builder 内真实构建图及默认九服务编译通过。