已关闭
test(contracts): GitCode 侧契约补 -race 钉扎(与镜像侧对等) #627
aflyingto创建于  13 天前关闭于  10 天前
aflyingto成员
13 天前 创建

背景

  • PR !599(issue 625)为 GitHub 镜像工作流补了结构契约(七 validator + mutation 负例),评审过程中识别出双端对等缺口

任务

  • 为 GitCode 侧契约补 -race 标志钉扎(.gitcode/workflows/ci.yml 的 test job 同样运行 go test -race,但 tests/contracts/ci_workflow_test.go 未钉——race 检测被静默移除时无测试信号)
  • 评估是否顺带钉扎 GitCode 侧其他与镜像侧对等的不变量(如有)

验收标准

  • GitCode 侧 test job 的 -race 有契约执行与 mutation 负例
  • §5.4 的 GitCode 契约描述同步

影响范围

tests/contracts/ci_workflow_test.go、spec/delivery/ci-workflows.md

来源: PR !599 代码审查建议(双端对等缺口)

likedislike
Aaflyingto成员
13 天前 添加了label:scope/ci, status/triage,type/test
aflyingto成员
10 天前 评论:

验证记录

  • 当前版本或分支: main @ 7aaaeb5(!599 合并后)
  • 验证时间: 2026-10-26
  • 复现命令: grep -n "race" .gitcode/workflows/ci.yml;grep -n "race" tests/contracts/ci_workflow_test.go
  • 实际结果: .gitcode/workflows/ci.yml:95 的 test job 运行 go test -v -race -coverprofile=...,但 tests/contracts/ci_workflow_test.go 无任何 race 断言——GitCode 侧 -race 被静默移除时无测试信号(镜像侧已有 validateMirrorRace 钉扎,双端不对等)
  • 预期结果: GitCode 侧 test job 的 -race 有契约执行与 mutation 负例,与镜像侧对等
  • 时间线检查: 本 issue 为 PR !599 代码审查建议的登记跟进(2026-10-23 创建),!599 已合入(7aaaeb5,含镜像侧 race 钉与共享类型),无重复 issue、无先行 PR
  • 结论: 继续修复——在 ci_workflow_test.go 为 GitCode 工作流补 race validator(复用镜像侧 "go test ∧ -race" 组合条件语义)+ mutation 负例;§5.4 GitCode 契约清单同步补一条
likedislike
Aaflyingto成员
10 天前 添加了label:status/verified;删除了label:status/triage
Aaflyingto成员
10 天前 添加了label:status/in-progress
Aaflyingto成员
10 天前 关联了pull request:test(contracts): pin -race on the GitCode test job for mirror parity
Aaflyingto成员
10 天前 添加了label:status/ready-for-review
aflyingto成员
10 天前 评论:

开发进度

  • 当前状态: ready-for-review(PR !600 已完成自检、四角色独立评审两轮全部 approved、双端 CI 全绿,等待人工最终确认与合并)
  • 根因: 镜像侧 -race 已钉(!599)而 GitCode 侧无契约——单侧移除时另一侧报错、本侧静默,双端不对等(详见验证记录)
  • 主要修改: tests/contracts/ci_workflow_test.go 累计 +64(validateRace + validateSecurityRedact + 三个 mutation 负例)+ §5.4(race/redact 两条 bullet + 同步规则统一为"触发面或结构不变量"低维护形态)
  • 影响范围: 纯测试基建 + 规范文档;零生产代码、零工作流文件改动
  • 单元测试: go test ./... 163 包全部通过;GitCode 侧 19 个 mutation 负例全过(含 redact strip/zero 双旁路)
  • 构建: 无涉
  • 实际命令验证: 契约测试读真实 .gitcode/workflows/ci.yml 解析校验;负例即回归证明;YAML 实况三方印证(评审确认)
  • 安全影响: redact 精确值钉扎为安全正向加固(公开日志脱敏双端闭环);无凭证变化
  • 文档同步: §5.4 双侧清单与同步规则同 PR 同步(文档评审确认枚举漂移面归零)
  • 风险或未覆盖项: risk/medium(tests/ 默认档),合并前需人工最终确认;unshallow 全历史对等钉登记 issue 628(文档审查备忘);SHA 钉扎/fail-fast 对 GitCode 侧 N/A(测试审查判定免再议)
  • 关联 PR: !600
likedislike
Aaflyingto成员
10 天前 关闭了 issue
Aaflyingto成员
10 天前 添加了label:status/merged