BCE —— 诊断、修复并证明架构一致性
BCE 是一个故障闭合的架构一致性门禁。蓝图即政策;源代码是正常的修复面。优先使用仓库的 BCE MCP 服务器进行诊断和工作树验证。仅在 MCP 不可用或所请求的生命周期操作有意不在 MCP 中提供时,才使用 CLI。
选择最短的工作流
- 现有仓库为红色: 按照下面的 MCP 优先修复循环操作。不要加载生命周期创作材料。
- 就绪或设置看起来有问题: 在门禁之前调用
doctor_repository {}。 - 蓝图或门禁可能为空: 先调用
validate_blueprint,再调用assess_teeth。 - 用户要求创建或采用新规则: 在操作前阅读
references/lifecycle.md。创作和治理变更使用 CLI 并需要人工审查。 - 用户要求调整 Agent 技能: 使用单独的
skill-tuning技能。
MCP 优先修复循环
- 调用
run_gate {}。生成的服务器在仓库中启动,因此除非用户有意针对另一棵树,否则省略repoDir。 - 读取结构化字段,而不是仅看进程退出码:
gateFailed: true、outcome: "violation"或报告verdict: "fail"为红色;outcome: "refusal"为红色,并且不得绕过;- 咨询模式可能返回
exitCode: 0而实质性裁决仍为红色。
- 使用每个违反项的
constraintId、evidenceRef、observed和expected来识别最小的源代码修正。 - 修改代码,而非修改政策。不要仅仅为了清除违反而编辑蓝图、基线、模式、豁免、工作流、MCP 配置、已安装技能或引擎锁定。
- 再次针对活动工作树调用
run_gate {}。仅在gateFailed为 false、outcome为pass且每个选中的报告都通过时才算完成。 - 报告已修复的精确违反项、更改的代码文件、最终得分/裁决,以及政策是否发生变化。正常的修复必须说明政策未变。
MCP 服务器暴露六个只读工具:
| 工具 | 用途 |
|---|---|
doctor_repository | 安装、范围、证明、政策、CI、技能和 MCP 就绪性 |
run_gate | 活动树诊断和最终完成检查 |
validate_blueprint | 模式和安全模式验证 |
assess_teeth | 非空性证据 |
check_baseline | 在不改变政策的情况下发现新债务和缩减机会 |
get_report | 获取由引擎已写入的确定性报告 |
MCP 不能批准、修改、升级、创建基线或削弱政策。这种缺失是安全边界,而非缺少功能。
CLI 回退
如果项目没有可用的 BCE MCP 服务器,请使用确切的本地包,而不是获取不断变化的版本:
bce gate --repo . --extractor ast --all
对于未提交的修复,gate 已经扫描活动树。如果你有意直接运行一个蓝图,请添加 --no-pin;否则默认情况下 run 对已提交的 HEAD 进行评分:
bce run --blueprint <path> --ct-repo . --no-pin --extractor ast --out compliance-report.json
退出码 0 只有在读取了咨询状态和报告裁决之后才视为进程通过。退出码 1 是评分过的违反或结构拒绝;退出码 2 是故障闭合的扫描/拒绝条件。将 1 和 2 视为红色。
政策边界
以下为治理面:.blueprints/**、.bce-mode.json、基线和豁免文件、BCE 工作流、代理/MCP 配置、已安装技能和引擎锁定。不得将其作为附带修复来更改。如果契约本身有误,请停止并提出单独的、经过审查的、附带理由的政策变更。
切勿:
- 仅为了获得绿灯而降低阈值、扩大基线或缩小范围;
- 在报告仍然失败时将咨询退出码
0解释为一致性; - 在没有可区分的红色违反的情况下声称约束有效;
- 将
evaluator-refutable报告为提取器级别的真实竞争; - 将结构拒绝视为通过;
- 声称代理操作的结果是独立的人工证据。
创作与采用
仅当任务是创建、验证、证明、引入、批准或操作契约时,才加载 references/lifecycle.md。它包含约束语法、提取配置文件、精确命令、咨询/基线/升级路径以及 CI 不变量。
详细的规范与证据语义随包一起提供,位于 spec/ 和 docs/ 目录下。优先使用这些本地、版本匹配的文件,而不是不断变化的网页。