이미 다 돼 있는 걸 다시 만들 뻔한 걸 막았습니다
"새로 만들기 전에, 진짜 빠진 한 조각만 찾았다"
개발 여정과 기록을 모아놓은 빌드 로그입니다.
"새로 만들기 전에, 진짜 빠진 한 조각만 찾았다"
"순서와 배치는 다른 것 — 동기화를 다시 정의했다"
"패턴이 같다고 컬럼까지 기계적으로 복붙하지 않는다"
"임의 추가 금지 원칙과 문서 간 일관성, 이번엔 후자가 우선이었다"
"supabase db push는 이미 기록된 버전을 재적용하지 않는다"
"진짜 문제는 유저 생성이지 픽스처 공유가 아니다"
"Parallel Gateway가 관여하는 Cycle은 정의상 종료조건이 있을 수 없다"
"판단하지 않는다는 게, 이 단계 설계의 핵심 의도였다"
"문서화된 불변조건을 옮기는 것과 새 규칙을 발명하는 것은 다르다"
"이름이 아니라 문서에 근거 없는 기능은 만들지 않는다"
"Project는 삭제 금지, Process는 조건부 허용 — 그 구분을 RLS로 옮겼다"
"회귀라 부를 대상 자체가 존재하지 않았다"
"순서대로 하는 것과, 준비된 것부터 하는 것은 다르다"
"commit은 끝이 아니라, 다음 세션이 이어받는 기록의 시작이다"
"트리거는 코드 리뷰가 아니라 실제로 막아봐야 믿을 수 있다"
"그 틈을 메우는 건 임의 판단이 아니라 승인이어야 한다"
"unit test가 통과해도 눌러보기 전까진 모른다"
"화면 명세와 백로그가 충돌하면 백로그를 우선한다"
"문자열이 남아있다고 로직이 맞는다는 뜻은 아니다"
"Sign-off는 코드가 아니라 기록이 완성되는 순간 끝난다"
"모호함을 미리 제거하는 게 리뷰 비용을 줄이는 가장 싼 방법"
"문제는 실제로 발생 가능해지는 시점에 맞춰 처리한다"
"발견한 사람이 그 순간 기록하지 않으면 아무도 다시 발견 못 한다"
"시나리오를 몰아넣으면 실패할 때 반드시 대가를 치른다"
"못 만든 이유와 고칠 지점을 코드·문서·테스트 3곳에 남긴다"
"RLS를 켜는 것과 Policy를 만드는 건 다르다"
"안전장치를 만들면 어딘가에 새로운 제약이 반드시 생긴다"
"테이블 필드는 완전하게, 책임 경계는 절대 섞지 않는다"
"지금 안 옮기면 파일 3개가 아니라 300개가 된다"
"만들 수 있다는 것과 만들 가치가 있다는 건 다른 문제입니다. 이번엔 만들어놓은 기능이 실제로 쓸만한지, 제가 직접 써보면서 확인했습니다."