Files
KArtSell.Aegis/docs/06_VIBE_CODING_GUARDRAILS.md
T
kjh2064 dcd1322d41
ci / backend (push) Failing after 12s
ci / frontend (push) Failing after 19s
ci / static (push) Failing after 45s
Initial commit: Add project files
2026-08-02 05:15:36 +09:00

1.6 KiB

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 지식 이전