46장. 개발 프롬프트 팩—기능·버그·리뷰·마이그레이션
기능 구현 prompt에는 사용자 행동과 저장 불변식이 필요하다. “OAuth 추가” 대신 신규·기존 계정, provider의 동일 email, 탈퇴, redirect exact match, state·nonce·PKCE 실패를 Given/When/Then으로 적는다. repository 규칙과 현재 dependency를 먼저 읽고 새 library는 이유·license·lockfile diff를 보고하게 한다.
버그 prompt는 증상과 원인을 분리한다. 재현 환경, 입력, 기대·실제, 최근 변경, request ID, 관련 log 위치를 제공하고 첫 단계는 실패 test 또는 관찰 가능한 재현으로 제한한다. “일단 null check” 같은 증상 은폐를 금지하고 가장 작은 원인 가설을 반증한다.
목표: 결제 webhook 중복 처리로 주문이 두 번 확정되는 결함을 수정한다.
재현: fixture duplicate-paid-02, 같은 event_id를 200ms 간격으로 두 번 전송.
불변식: 주문 전이는 한 번, 결제 ledger 합계는 provider 합계와 일치.
범위: webhook adapter·service·migration·test. provider console과 운영 DB 변경 금지.
완료: 실패 test→최소 수정→전체 관련 test→migration rollback 검토.
보고: 원인, 변경 파일, 명령과 실제 결과, 배포 순서, 남은 unknown outcome.
리뷰 prompt에는 diff만 주지 않는다. threat model, API 계약, schema migration, 성능 예산, backwards compatibility를 함께 준다. finding에는 파일·위치, 재현 조건, 영향, 신뢰도, 최소 수정과 검증 test가 있어야 한다. 스타일 취향은 correctness finding과 분리한다.
마이그레이션 prompt는 현재·목표 버전, breaking change 원문, 단계별 호환 구간, rollback 가능 시점, data backfill과 dual-read/write 기간을 요구한다. 최신 블로그 요약보다 공식 migration guide와 실제 compile/test 결과를 우선한다.