# 바이브코딩·홀루시네이션 통제 ## 1. 기본 원칙 AI는 구현 초안을 만든다. 정책·증거·리스크·승격은 사람이 승인한다. 채팅, 자동완성, 생성 코드 자체는 Source of Truth가 아니다. ## 2. 모든 변경의 4분류 - `SOURCE`: 첨부 기준서, 승인 ADR, 계약, 데이터 증거에 직접 근거. - `ASSUMPTION`: 착수 편의를 위한 가정. 만료일과 승인자가 필요. - `UNKNOWN`: 자료로 판단할 수 없음. - `DECISION_REQUIRED`: 코딩 전 결정이 필요한 차단 항목. ## 3. AI 작업 패킷 AI에 전달하는 작업은 최소 다음을 포함한다. 1. Requirement ID / Slice ID. 2. 사용자 결과와 비목표. 3. Policy ID와 단위·우선순위. 4. Data source/PIT/revision/quality. 5. API/DB/Event/Job/UI 계약. 6. Given/When/Then과 실패상태. 7. 금지 패턴. 8. 검증 명령과 완료 증거. ## 4. PR 차단 규칙 - Source/Assumption/Unknown 표기가 없음. - 새 library/pattern/table/threshold에 ADR이 없음. - Migration fresh/upgrade/re-run evidence가 없음. - Golden/OOS/Architecture/Data/E2E test가 없음. - 실행하지 않은 test를 통과로 기록함. - 실고객 데이터·계좌·token·secret가 prompt/log/fixture에 포함됨. - 자동주문 Capability를 우회하거나 기본 ON으로 변경함. ## 5. 리팩터링 원칙 - 동작 보존 refactoring과 정책 변경을 한 PR에 섞지 않는다. - 먼저 Characterization/Golden test를 만든다. - God Service를 Endpoint/Application/Policy/Adapter로 분리한다. - Generic Repository로 Dapper SQL 의미를 숨기지 않는다. - 중복은 의미와 변경축이 같을 때만 추상화한다. - 기술부채는 등록, owner, impact, repayment trigger, deadline을 가진다.