PR-E:方向 F1 四 PR 经验回写——LESSONS B13/B14 + 棘轮口径区分 + CNB 坑点实证清单(轮次 14-e)#44
目标项目 anta-newproject-demo 方向 F1 连续 4 PR(#4~#7) 才让 B 层 CI 在 CNB 远端真实跑通。演化链:
anta-newproject-demo
docker:{image}
services:[docker]
-D
演化中发现 2 条新反模式 + 1 条棘轮补强 + 4 条 CNB 平台实证坑点——本 PR 趁记忆新鲜一次性回写到源仓库。关闭目标项目 CHECKPOINT §五 的 T-Q2-e / T-Q2-i / T-Q2-j 三条回馈类待办。
CHECKPOINT §五
这是第 2 次"业务反哺规则"loop——PR-D 是单次 Q2-001 业务的回写,PR-E 是连续 4 PR CI 深挖的回写。两种都是"规则从业务中来、回馈到业务中去"的健康循环。
2 个 commits · 4 文件 / +199/-3 行
docs(rules)
1b21aab
docs(meta)
c72fd11
B13:"把 CI pipeline status: success 当作所有 stage 真跑的证据"
pipeline status: success
exit 0 + WARNING
exit 1
DOCKER_REQUIRED=0
B14:"未经实证就推断平台行为 / API 行为并直接修改配置"
原"只上不下"隐含"度量口径稳定"前提。新增 3 条硬约束:
附反例(把子集阈值写到 pom 污染 full 口径)+ 正例(Maven -D 保护 pom):
# 保持 pom 为 full 口径 78/70,CI 里跑 unit-only 口径: mvn -B -Dtest='...unit.**' \ -Djacoco.line.min=0.36 -Djacoco.branch.min=0.46 \ verify
cnbcool/default-build-env
image:
grammar.html
DOCKER_HOST
default-build-env
附生成 .cnb.yml 决策树:
本地 9/9 CI stages 全绿 + 0 lint
关键指标变化
规则自举第 4 次实证(与前 3 次不同的结果)
前 3 次 PR #38 / PR-C / PR-D 都因 2026-05-03 / CNB 等字面量触发阻塞;本 PR 写作时 abstraction_check 没有触发阻塞 ✅。
2026-05-03
CNB
abstraction_check
原因:
rules/
governance/
skills/
守门员既严格又不粗暴——4 次实证 = 3 次阻塞 + 1 次放行 = M8 机器化克制 精神的完整形态。
M8 机器化克制
"信号欺骗家族"(Signal Deception Family):
三者共同特征:"把容易看到的信号当作难以验证的真相"。可作为 LESSONS §三 新增分类(T-Q3-02 候选)。
4 条坑点对任何使用 CNB 的项目都有价值——应作为"输出性资产"纳入尾声 PR #39 的可迁移模式清单(T-Q3-03 候选:第 15 种模式"CI 平台坑点实证清单")。
git-conventions §4
diag:
LESSONS §三
workshop-share.md
至此轮次 14 有 5 子段(a/b/c/d/e)——可能是项目最大跨度的一个轮次,从规则修订 → 目标项目业务落地 → 业务反哺 → CI 深挖 → 深挖反哺。
.archived/
CHECKPOINT §四 轮次 3 / 3.1 / 3.2 / 3.3
LESSONS.md §二 B13 / B14
rules/testing-standards.md §1.3
skills/cicd-pipeline/SKILL.md
CHECKPOINT §四 轮次 14-e
动机(Why)
目标项目
anta-newproject-demo方向 F1 连续 4 PR(#4~#7) 才让 B 层 CI 在 CNB 远端真实跑通。演化链:docker:{image}services:[docker]强制改 image = default-build-env-D覆盖阈值演化中发现 2 条新反模式 + 1 条棘轮补强 + 4 条 CNB 平台实证坑点——本 PR 趁记忆新鲜一次性回写到源仓库。关闭目标项目
CHECKPOINT §五的 T-Q2-e / T-Q2-i / T-Q2-j 三条回馈类待办。这是第 2 次"业务反哺规则"loop——PR-D 是单次 Q2-001 业务的回写,PR-E 是连续 4 PR CI 深挖的回写。两种都是"规则从业务中来、回馈到业务中去"的健康循环。
变更清单(What)
2 个 commits · 4 文件 / +199/-3 行
docs(rules)1b21aab:3 份规则层文档实质修订(3 文件 / +120)docs(meta)c72fd11:CHECKPOINT §四 轮次 14-e 档案(1 文件 / +79/-3)改动 1:LESSONS.md §二 新增 B13 + B14(反模式 19 → 21)
B13:"把 CI
pipeline status: success当作所有 stage 真跑的证据"exit 0 + WARNING+ stage 耗时 1~2sexit 1;跳过需显式DOCKER_REQUIRED=0B14:"未经实证就推断平台行为 / API 行为并直接修改配置"
改动 2:testing-standards.md §1.3 棘轮"口径区分"约束
原"只上不下"隐含"度量口径稳定"前提。新增 3 条硬约束:
附反例(把子集阈值写到 pom 污染 full 口径)+ 正例(Maven
-D保护 pom):# 保持 pom 为 full 口径 78/70,CI 里跑 unit-only 口径: mvn -B -Dtest='...unit.**' \ -Djacoco.line.min=0.36 -Djacoco.branch.min=0.46 \ verify改动 3:cicd-pipeline/SKILL.md 新增"CNB 平台坑点实证清单"(4 条 + 决策树)
services:[docker]强制cnbcool/default-build-env,image:被忽略(CNB 官方grammar.html未说明)services:[docker]不注入 docker CLI /DOCKER_HOSTunset / daemon 不可连(与 grammar.html §三 示例描述相反)default-build-env实际内容实证(Java/Maven ✅ / Docker CLI ❌)附生成 .cnb.yml 决策树:
services:[docker]+ 放弃image:+ 脚本自装缺失工具image:+ 不声明 servicesimage:+services:[docker]改动 4:CHECKPOINT.md 轮次 14-e 完整档案(新增 79 行)
验证证据(How verified)
本地 9/9 CI stages 全绿 + 0 lint
关键指标变化
规则自举第 4 次实证(与前 3 次不同的结果)
前 3 次 PR #38 / PR-C / PR-D 都因
2026-05-03/CNB等字面量触发阻塞;本 PR 写作时abstraction_check没有触发阻塞 ✅。原因:
rules/+governance/)skills/不在rules/scope守门员既严格又不粗暴——4 次实证 = 3 次阻塞 + 1 次放行 =
M8 机器化克制精神的完整形态。影响面(Impact)
反模式家族首次成型
"信号欺骗家族"(Signal Deception Family):
三者共同特征:"把容易看到的信号当作难以验证的真相"。可作为 LESSONS §三 新增分类(T-Q3-02 候选)。
CNB 平台坑点的公共价值
4 条坑点对任何使用 CNB 的项目都有价值——应作为"输出性资产"纳入尾声 PR #39 的可迁移模式清单(T-Q3-03 候选:第 15 种模式"CI 平台坑点实证清单")。
关闭的待办
新增待办(Q3 周期候选)
git-conventions §4新增diag:commit type(诊断 PR 的语义标记)LESSONS §三新增"信号欺骗家族"分类条目workshop-share.md第 15 种模式"CI 平台坑点实证清单"轮次 14 的完整形状
至此轮次 14 有 5 子段(a/b/c/d/e)——可能是项目最大跨度的一个轮次,从规则修订 → 目标项目业务落地 → 业务反哺 → CI 深挖 → 深挖反哺。
.archived/结构修正本 PR 不动的事
anta-newproject-demo(经验已合入目标项目 PR #7)workshop-share.md(留给未来扩展)Refs
anta-newproject-demoPR #4 / #5 / #6 / #7 演化链CHECKPOINT §四 轮次 3 / 3.1 / 3.2 / 3.3完整档案LESSONS.md §二 B13 / B14(信号欺骗家族新成员)rules/testing-standards.md §1.3棘轮口径区分约束skills/cicd-pipeline/SKILL.mdCNB 平台坑点实证清单CHECKPOINT §四 轮次 14-e("业务反哺规则" loop 第 2 次闭合)