Conversation
This was referenced Sep 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Primary Issue
Closes #101
Target Version
3.0-dev
Scope
默认 CMake 构建只包含九个业务服务,保留 common/test 历史文件但不将其加入维护中的构建图。新增标准库 Go 用例 BLD-01,通过真实 CMake file-API 构建图验证目标集合。CI 在原生 builder 内运行该契约,并改为默认构建,不再用九服务显式 allowlist 绕开默认入口。
Non-goals
不新增、恢复或修理旧 C++ 测试;不改变服务业务源码、协议、持久化或产品语义;不关闭 #104、#96 或 #108。
Architecture Impact
No — 服务边界和基础设施未变,仅对齐默认构建与既有 Go 测试架构。
Core-flow Impact
No — 本次没有生产服务源码或通信、持久化行为修改。
Updated Skills
README.md 的原生构建和 Go 测试入口同步更新,移除失效的 common_tests 执行示例。
RED Evidence
Linux,前序 fb2bb88 源码:
CHATNOW_CMAKE_SOURCE=/home/icepop/ChatNow-lease-99 go test ./pkg/buildcontract -run '^TestDefaultBuildContainsOnlyServices$' -v -count=1实际配置成功,断言失败:目标集合包含九服务以及 test_inflight、test_local_cache 系列、test_members_cache_rules、test_redis_mutex_contract、test_reliability_state、test_seq_keys 等 12 个遗留目标。exit=1,2.584s;保留 build-graph-red.log。该 RED 来自实际可观察构建图,不是编译环境缺失。
GREEN Evidence
同一命令在入口修复后 exit=0,0.544s,目标恰好为九个服务;保留 build-graph-green.log。
cmake -S /home/icepop/ChatNow-lease-99 -B /home/icepop/ChatNow-lease-99/build -DCMAKE_BUILD_TYPE=Releasecmake --build /home/icepop/ChatNow-lease-99/build -j2默认 Release 构建 exit=0;九项可执行产物存在,大小与 SHA-256 保留于 artifacts.json。此本地检查复用独占开发验证目录的构建缓存;当前提交 CI 已在新 checkout 中完成原生 builder 构建图、默认编译与九服务产物校验。
Regression Verification
当前提交
ddd3fa91e3d92ffda7af2e299c6dce7791af5d58,八个增量文件的 LF 归一化 SHA-256 与 Linux 受测源码全部一致。CHATNOW_CMAKE_SOURCE=/home/icepop/ChatNow-lease-99 go test ./pkg/buildcontract -run '^TestDefaultBuildContainsOnlyServices$' -v -count=1build-graph-green.log,九目标,exit=0CGO_ENABLED=0 go test -c -o /home/icepop/issue101-audit/cmake-contract.test ./pkg/buildcontract;设置同一CHATNOW_CMAKE_SOURCE后运行cmake-contract.test -test.vcompiled-graph-green.log,PASS,exit=0;本地执行采用 CI 的编译产物形式,builder 内执行由当前提交 CI 单独验证cmake -S/-B和cmake --build ... -j2configure.log/default-build.log,exit=0;九产物的大小和 SHA-256 见artifacts.jsongo test ./pkg/contracts ./pkg/buildcontract ./pkg/agentpolicy ./cmd/agent-policy -count=1static-current.log,四包通过,exit=0;普通主机未设置原生源码环境时 buildcontract 明确跳过,不替代上方实际构建图证据go vet ./...;test -z "$(gofmt -l .)"vet-current.log/fmt-current.log,exit=0agent-policy issue/branch/commits/pull-request/skill-sync/skills六项;git diff origin/3.0-dev...HEAD --checkmake test-bvtbvt.log,18 项通过,6.147s,exit=0;临时使用本分支相同业务源码的前序镜像,完成后恢复 #109 验证镜像CI producer 契约新增反例,拒绝跳过构建图编译、允许失败、移除原生配置环境变量及将图检查移到默认编译之后。中间两版发现原有 CI 静态契约仍约束旧显式目标命令,失败日志和已取消的 CI 记录保留;当前提交已同步约束默认命令并通过本地及云端 build 检查。
完整原始日志目录:
C:/Users/legion/.codex/visualizations/2026/09/13/01a09ad5-45db-76c1-9764-83a843e3d9ed/issue101/vm/;Linux 为/home/icepop/issue101-audit/。当前提交 CI 34760040499 已完成且成功:build、service-artifacts(含 builder 内 BLD-01、默认九服务编译和产物校验)、BVT、Functional、Reliability 全部通过;Performance 作业按现有非定时条件跳过。完整 CI stdout/stderr 保留为同一审计目录下的
ci-34760040499.log。Security and Compatibility
Security: 只修改开发构建与测试说明;临时构建图由 t.TempDir 清理,不接触运行凭据或业务数据。
Compatibility: 默认原生构建移除历史 C++ 测试目标,九个服务目标名与产物路径不变;Go 行为测试不删减。
Migration: 无数据、协议或运行配置迁移。
Unverified Items
本轮要求的真实 RED/GREEN、默认编译、产物检查、本地静态/BVT 与当前提交 CI 已通过;保持 Draft,等待前序堆叠合入后的同步及人工审查。完整本地 Functional、Scenario、Reliability 未在此构建分支单独重跑;本次没有服务行为变更,当前提交 CI 已用新构建产物通过 BVT、Functional(包含 Scenario)及 Reliability。Performance 非本次开发构建入口修复的必需检查,CI 按既有条件跳过。
#104 间歇消息失败与 #96 历史退出继续单独跟踪,不由本 PR 关闭。前序堆叠合入后仍需同步和集成验证。
Rollback Plan
回退本 PR 的构建与文档增量,无业务数据回退;会重新暴露默认构建的遗留链接失败。合并和生产操作由人工决定。
Stacked PR Dependencies
Dependency: #89 → #98 → #100 → #103 → #106 → #107
Final target version: 3.0-dev
Merge order: #89 → #98 → #100 → #103 → #106 → #107 → 本 PR。
After predecessor merge: 同步开发线并复核祖先关系,保持 3.0-dev 目标,不重写共享历史。#109 是独立的同级后续修复,不隐含为本 PR 祖先。
Full-diff Self-review
Base and range: origin/3.0-dev...HEAD;本轮增量 fb2bb88...HEAD。
Verdict: 复核默认目标、实际 file-API 验证、CI 无显式服务 allowlist 的默认构建、九服务产物验证和三份 Skill 同步。继承内容与前序 fb2bb88 相同,无新增生产源码、凭据或生成代码。当前增量的必需门禁已通过;保持 Draft,前序合入后的同步与最终合并仍由人工审查流程决定。
Agent Acknowledgements