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