BCE — 아키텍처 준수 진단, 수리 및 입증
BCE는 fail-closed 아키텍처 준수 게이트입니다. 청사진은 정책입니다. 소스 코드는 정상적인 수리 대상입니다. 진단 및 작업 트리 검증을 위해 저장소의 BCE MCP 서버를 우선 사용하세요. MCP를 사용할 수 없거나 요청된 수명 주기 작업이 MCP에서 의도적으로 누락된 경우에만 CLI를 사용하세요.
최단 워크플로우 선택
- 기존 저장소가 빨간색인 경우: 아래 MCP 우선 수리 루프를 따르세요. 수명 주기 저작 자료를 로드하지 마세요.
- 준비 또는 설정이 손상된 경우: 게이트 이전에
doctor_repository {}를 호출하세요. - 청사진 또는 게이트가 공허할 수 있는 경우:
validate_blueprint를 호출한 다음assess_teeth를 호출하세요. - 사용자가 새 규칙을 생성하거나 채택하도록 요청하는 경우: 작업을 수행하기 전에
references/lifecycle.md를 읽으세요. 저작 및 거버넌스 변경은 CLI를 사용하며 사람의 검토가 필요합니다. - 사용자가 에이전트 스킬을 조정하도록 요청하는 경우: 별도의
skill-tuning스킬을 사용하세요.
MCP 우선 수리 루프
run_gate {}를 호출하세요. 생성된 서버는 저장소 내에서 시작되므로, 사용자가 의도적으로 다른 트리를 대상으로 하지 않는 한repoDir을 생략하세요.- 프로세스 종료 코드만이 아닌 구조화된 필드를 읽으세요:
gateFailed: true,outcome: "violation", 또는 보고서verdict: "fail"은 빨간색(RED)입니다.outcome: "refusal"은 빨간색(RED)이며 우회해서는 안 됩니다.- 권고 모드는
exitCode: 0을 반환할 수 있지만 실질적인 평결은 여전히 빨간색(RED)일 수 있습니다.
- 각 위반의
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는 fail-closed 스캔/거부 조건입니다. 1과 2를 빨간색(RED)으로 처리하세요.
정책 경계
다음은 관리되는 표면입니다: .blueprints/**, .bce-mode.json, 기준선 및 면제 파일, BCE 워크플로우, 에이전트/MCP 구성, 설치된 스킬 및 엔진 핀. 이를 부수적인 수리로 변경하지 마세요. 계약 자체가 잘못된 경우 중단하고 근거와 함께 별도의 검토된 정책 변경을 제안하세요.
절대 하지 마세요:
- 녹색을 얻기 위해 임계값을 낮추거나, 기준선을 늘리거나, 범위를 좁히지 마세요.
- 보고서가 여전히 실패할 때 권고 종료 코드
0을 준수로 해석하지 마세요. - 차별화된 빨간색(RED) 없이 제약 조건이 작동한다고 주장하지 마세요.
evaluator-refutable을 추출기-실제 이빨로 보고하지 마세요.- 구조적 거부를 통과로 처리하지 마세요.
- 에이전트가 운영한 실행을 독립적인 인간 증거로 주장하지 마세요.
저작 및 채택
작업이 계약을 생성, 검증, 입증, 온보딩, 비준 또는 운영하는 것일 때만 references/lifecycle.md를 로드하세요. 여기에는 제약 조건 문법, 추출 프로필, 정확한 명령, 권고/기준선/승격 경로 및 CI 불변 조건이 포함되어 있습니다.
자세한 사양 및 증거 의미론은 패키지와 함께 spec/ 및 docs/에 포함되어 있습니다. 변경되는 웹 페이지보다 이러한 로컬, 버전 일치 파일을 선호하세요.