BCE — アーキテクチャ準拠の診断、修復、証明
BCEは「フェイルクローズド(失敗時は閉じる)」方式のアーキテクチャ準拠ゲートです。ブループリントはポリシーであり、ソースコードが通常の修正対象です。診断やワーキングツリーの検証には、リポジトリのBCE MCPサーバーを優先して使用してください。MCPが利用できない場合、または要求されたライフサイクル操作がMCPに意図的に含まれていない場合にのみCLIを使用してください。
最短のワークフローを選択
- 既存のリポジトリが赤(違反あり)の場合: 以下のMCPファースト修復ループに従ってください。ライフサイクル作成資料を読み込まないでください。
- 準備またはセットアップが壊れている場合: ゲートの前に
doctor_repository {}を呼び出してください。 - ブループリントまたはゲートが空虚である可能性がある場合:
validate_blueprintを呼び出し、続いてassess_teethを呼び出してください。 - ユーザーが新しいルールの作成または採用を依頼した場合: 行動する前に
references/lifecycle.mdを読んでください。作成とガバナンスの変更にはCLIを使用し、人間のレビューが必要です。 - ユーザーがAgent Skillの調整を依頼した場合: 別の
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サーバーは6つの読み取り専用ツールを公開しています:
| ツール | 使用目的 |
|---|---|
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/ の下にパッケージとともに同梱されています。変動するウェブページよりも、これらのローカルでバージョンが一致したファイルを優先してください。