# 06. 바이브코딩·홀루시네이션 통제 ## AI 작업 입력 패킷 AI에게 코드를 요청하기 전에 아래 8개가 있어야 한다. 1. Source: 근거 문단/Policy ID/ADR/Data Contract 2. Slice Spec: 사용자 결과·비목표·상태·권한 3. Screen Spec: component/state/a11y 4. Contract: Endpoint/Event/Job/ProblemDetails/Idempotency/ETag 5. Data: schema/column/PIT/unit/migration/index/lineage 6. Tests: unit/integration/data/E2E/Golden/failure/replay 7. Ops: metric/alert/runbook/rollback/owner 8. Output Rule: 변경파일·명령·결과·가정·잔여위험 ## 차단 규칙 - 근거 없는 Policy ID·임계값·DB 컬럼·API는 생성하지 않는다. - 미확정은 `DECISION_REQUIRED` 또는 `DESIGN_PROPOSAL`로 표시한다. - 한 PR은 한 Slice 또는 한 리팩터링 목적만 가진다. - 기능 변경과 동작불변 리팩터링을 한 PR에 섞지 않는다. - 실패·skip·실행하지 못한 테스트를 숨기지 않는다. - AI가 생성한 SQL은 schema owner, PIT 조건, index, execution plan 검토를 받는다. - AI가 생성한 알고리즘은 Golden/Frozen OOS diff 없이 병합하지 않는다. - 실고객 데이터·token·API key를 프롬프트/fixture/log에 넣지 않는다. ## 리팩터링 정공법 1. Characterize: 현재 동작을 test/Golden/perf로 동결 2. Isolate: I/O와 순수 정책 seam 분리 3. Small Transform: rename/extract/move 한 종류씩 4. Verify: unit/integration/data/E2E/backtest/perf diff 5. Simplify: dead abstraction/flag/branch 삭제 6. Observe: release 후 SLO/DQ/model/recon 확인 7. Close Debt: Debt ID/ADR/Secondary 지식 이전