diff --git a/docs/ouroboros/60_repo_enforcement_checklist.md b/docs/ouroboros/60_repo_enforcement_checklist.md new file mode 100644 index 0000000..34d027b --- /dev/null +++ b/docs/ouroboros/60_repo_enforcement_checklist.md @@ -0,0 +1,79 @@ + + +# 저장소 강제 설정 체크리스트 + +목표: "엄격 검증 운영"을 문서가 아니라 저장소 설정으로 강제한다. + +## 1) main 브랜치 보호 (필수) + +적용 항목: +- direct push 금지 +- force push 금지 +- branch 삭제 금지 +- merge는 PR 경로만 허용 + +검증: +- `main`에 대해 직접 `git push origin main` 시 거부되는지 확인 + +## 2) 필수 상태 체크 (필수) + +필수 CI 항목: +- `validate_ouroboros_docs` (명령: `python3 scripts/validate_ouroboros_docs.py`) +- `test` (명령: `pytest -q`) + +설정 기준: +- 위 2개 체크가 `success` 아니면 머지 금지 +- 체크 스킵/중립 상태 허용 금지 + +## 3) 필수 리뷰어 규칙 (권장 -> 필수) + +역할 기반 승인: +- Verifier 1명 승인 필수 +- TPM 또는 PM 1명 승인 필수 + +설정 기준: +- 최소 승인 수: 2 +- 작성자 self-approval 불가 +- 새 커밋 푸시 시 기존 승인 재검토 요구 + +## 4) 워크플로우 게이트 + +병합 전 체크리스트: +- 이슈 연결(`Closes #N`) 존재 +- PR 본문에 `REQ-*`, `TASK-*`, `TEST-*` 매핑 표 존재 +- `src/core/risk_manager.py` 변경 없음 + +자동 점검: +- 문서 검증 스크립트 통과 +- 테스트 통과 + +## 5) 감사 추적 + +필수 보존 증적: +- CI 실행 로그 링크 +- 검증 실패/복구 기록 +- 머지 승인 코멘트(Verifier/TPM) + +분기별 점검: +- 브랜치 보호 규칙 drift 여부 +- 필수 CI 이름 변경/누락 여부 + +## 6) 적용 순서 (운영 절차) + +1. 브랜치 보호 활성화 +2. 필수 CI 체크 연결 +3. 리뷰어 규칙 적용 +4. 샘플 PR로 거부 시나리오 테스트 +5. 정상 머지 시나리오 테스트 + +## 7) 실패 시 조치 + +- 브랜치 보호 미적용 발견 시: 즉시 릴리즈 중지 +- 필수 CI 우회 발견 시: 관리자 권한 점검 및 감사 이슈 발행 +- 리뷰 규칙 무효화 발견 시: 규칙 복구 후 재머지 정책 시행 diff --git a/docs/ouroboros/README.md b/docs/ouroboros/README.md index 6068261..2768016 100644 --- a/docs/ouroboros/README.md +++ b/docs/ouroboros/README.md @@ -20,6 +20,7 @@ Updated: 2026-02-26 6. 수용 기준/테스트 계획: [40_acceptance_and_test_plan.md](./40_acceptance_and_test_plan.md) 7. PM 시나리오/이슈 분류: [50_scenario_matrix_and_issue_taxonomy.md](./50_scenario_matrix_and_issue_taxonomy.md) 8. TPM 제어 프로토콜/수용 매트릭스: [50_tpm_control_protocol.md](./50_tpm_control_protocol.md) +9. 저장소 강제 설정 체크리스트: [60_repo_enforcement_checklist.md](./60_repo_enforcement_checklist.md) ## 운영 규칙