이미 다 돼 있는 걸 다시 만들 뻔한 걸 막았습니다
"새로 만들기 전에, 진짜 빠진 한 조각만 찾았다"
개발 여정과 기록을 모아놓은 빌드 로그입니다.
"새로 만들기 전에, 진짜 빠진 한 조각만 찾았다"
"완성된 기능도 거기로 가는 문이 없으면 없는 것과 같다"
"Node position만 바꿔도 CASCADE로 하위 데이터가 통째로 삭제됐다"
"데이터 없음과 필터링됨은 사용자에게 다른 메시지를 줘야 한다"
"메모리가 말하는 것과 실제 파일 상태는 다를 수 있다"
"가공 없이 원본 그대로를 명시적으로 요구해야 검증이 성립한다"
"supabase db push는 이미 기록된 버전을 재적용하지 않는다"
"진짜 문제는 유저 생성이지 픽스처 공유가 아니다"
"Parallel Gateway가 관여하는 Cycle은 정의상 종료조건이 있을 수 없다"
"판단하지 않는다는 게, 이 단계 설계의 핵심 의도였다"
"이상 징후가 보여도 감이 아니라 같은 검증 도구로 확인한다"
"막을 수 있는 걸 일부러 안 막았다는 걸 증명하는, 보통과는 반대 방향의 검증"
"문서화된 불변조건을 옮기는 것과 새 규칙을 발명하는 것은 다르다"
"Project는 삭제 금지, Process는 조건부 허용 — 그 구분을 RLS로 옮겼다"
"회귀라 부를 대상 자체가 존재하지 않았다"
"트리거는 코드 리뷰가 아니라 실제로 막아봐야 믿을 수 있다"
"App이 막아도 DB가 안 막으면, 그건 안 막은 것이다"
"구현했다는 말이 아니라 이 코드가 그걸 한다는 증거가 재료다"
"테스트가 통과했다고 mock이 현실을 반영하는 건 아니다"
"unit test가 통과해도 눌러보기 전까진 모른다"
"문자열이 남아있다고 로직이 맞는다는 뜻은 아니다"
"삭제해도 되는가 전에, 이게 뭔지부터 알아야 한다"
"커밋됐다는 것과 원격에 반영됐다는 건 다른 사실이다"
"서버가 이미 아는 값을 클라이언트에게 다시 묻지 않는다"
"Sign-off는 코드가 아니라 기록이 완성되는 순간 끝난다"
"같은 명령도 실행 환경에 따라 다르게 동작한다"
"텍스트 파일이 텍스트가 아니게 된 사고의 증거는 한 줄이었다"
"Sign-off는 승인이지, 커밋이 아니다"
"구현자의 보고서는 참고자료일 뿐, 승인 근거는 원본 파일이다"
"테스트 통과 보고와 실제 DB 반영은 다른 이야기다"