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