feat(ci): 接入 CNB 流水线 + 7 个 POSIX shell 自举检查脚本#29
新建 .cnb.yml(7 stages,push / merge_request 双触发),把 quality-dashboard.md §七 的所有门禁命令绑定到 CNB runner,关闭 CHECKPOINT §五 T-02。
新建 scripts/ci/:
硬约束遵守情况(派生自 cicd-pipeline/SKILL.md §CI 脚本的跨 shell 兼容):
.gitignore 新增 .coverage* 避免覆盖率临时文件被提交。
派生自 meta-principles.md §原则 1(真实编译优先——py_compile 语义等价)、 §原则 2(不可执行的测试=负价值——脚本提交前 sh -n + 实跑双验证)、 §原则 3(棘轮质量阈值——硬阈值写死在脚本里只能上调不能下调)、 §原则 5(契约优先——_meta.json 校验阻塞合并)
Refs: CHECKPOINT §五 T-02(闭环)、T-06(push/MR 重复的后续优化)
新建 .cnb.yml(7 stages,push / merge_request 双触发),把 quality-dashboard.md §七
的所有门禁命令绑定到 CNB runner,关闭 CHECKPOINT §五 T-02。
新建 scripts/ci/:
硬约束遵守情况(派生自 cicd-pipeline/SKILL.md §CI 脚本的跨 shell 兼容):
.gitignore 新增 .coverage* 避免覆盖率临时文件被提交。
派生自 meta-principles.md §原则 1(真实编译优先——py_compile 语义等价)、
§原则 2(不可执行的测试=负价值——脚本提交前 sh -n + 实跑双验证)、
§原则 3(棘轮质量阈值——硬阈值写死在脚本里只能上调不能下调)、
§原则 5(契约优先——_meta.json 校验阻塞合并)
Refs: CHECKPOINT §五 T-02(闭环)、T-06(push/MR 重复的后续优化)