"slug 하나 잘못 알면 세 번은 다시 물어보게 된다"
코드 리뷰와 통합 테스트는 통과했지만, 실제 로그인한 사용자가 화면에서 역할별로 어떻게 동작하는지는 아직 확인된 적이 없었습니다. 문제는 기존 계정 두 개가 전부 Workspace ADMIN이라, EDITOR 권한 제한을 테스트할 계정 자체가 없다는 것이었습니다.
새 EDITOR 계정을 만들고 SQL로 워크스페이스와 프로젝트에 등록하는 과정에서 연달아 두 번 실패했습니다. 첫 번째는 workspace slug를 si-in-ai로 잘못 안내해 workspace_id에 null이 들어간 것이었고, 실제 slug는 si-in-ai-platform이었습니다. 두 번째는 project_members 테이블에 workspace_id라는 NOT NULL 컬럼이 있다는 걸 놓쳐 insert문에서 누락한 것이었습니다. 두 경우 모두 에러 메시지를 확인해 원인을 특정한 뒤 수정된 쿼리를 다시 제공했습니다.
체크리스트를 항목별로 진행하던 중, SQL Editor에서 프로젝트 상태를 강제로 COMPLETED로 바꾸려다 SIA02 트리거에 막히는 상황이 발생했습니다. 이걸 버그로 보지 않고, SQL Editor 세션에는 auth.uid()가 없어서 발생하는 정상 동작이라고 판단했고, 필요할 때는 session_replication_role=replica로 세션 범위만 우회하는 방법을 안내했습니다.
최종적으로 8개 체크리스트 항목이 전부 스크린샷으로 확인됐습니다. 이 과정에서 memory에 잘못 기록되어 있던 workspace slug도 함께 정정됐고, 실제 DB에 과거 테스트가 남긴 잔재 데이터가 다수 존재한다는 것도 재확인됐습니다. slug 하나 잘못 알고 있으면 이후 몇 번의 시행착오로 돌아온다는 걸 이번에 다시 확인했습니다.
mock 테스트나 코드 리뷰가 통과해도 실제 로그인한 사용자가 실제 화면에서 그렇게 동작하는지는 별개의 문제라고 보고, 화면이 있는 작업은 반드시 역할별 브라우저 검증을 거치는 관례를 그대로 따랐습니다. SIA02가 SQL Editor 조작을 막았을 때 이걸 버그로 취급하지 않고 트리거가 의도대로 동작한 증거로 재해석한 것도, 트리거의 목적과 SQL Editor의 세션 특성을 구분해서 판단했기 때문입니다.
관련 프로젝트
프로젝트 개요 비즈니스 프로세스 트랜스포메이션(BPR)을 지원하는 한국어 기반 웹 애플리케이션. 컨설팅 프로젝트의 AS-IS 프로세스 분석부터 TO-BE 설계, Blueprint 승인까지의 전체 워크플로우를 디지털화하는 플랫폼으로, EPIC 단위로 구조화된 백로그를 기반으로 개발 중. 역할 및 워크플로우 PM / Architect / Reviewer 역할 수행 Codex(구현 담당)에게 Task 단위 구현 프롬프트 설계 Codex 구현 결과를 git log, git grep, git status로 직접 검증 후 승인 승인 전에는 Codex가 commit하지 않는 엄격한 게이팅 프로세스 운영 한 번에 하나의 Backlog Task만 진행, Task 완료 전 다음 Task 착수 금지 기술적 의사결정 및 성과 워크스페이스/프로젝트 접근 권한을 DB 레벨(복합 FK, SECURITY DEFINER 트리거)과 애플리케이션 레벨(Server Action 권한 검증)의 이중 방어 구조로 설계 Hard Delete 미구현 원칙 하에 배열 필드 전체교체(replace)를 단일 트랜잭션 RPC로 처리하는 패턴 확립 및 재사용 AS-IS 프로세스 그래프의 순환 참조 탐지에 Tarjan SCC 알고리즘 적용, 차단 오류(Error)와 경고(Warning)를 분리한 이중 Validator 아키텍처 설계 도메인 규칙 위반을 커스텀 Postgres 에러 코드 체계(SIA0104)로 문서화하여 거버넌스 문서와 코드베이스 간 정합성 유지 AI 생성 데이터와 사람이 검증한 데이터를 구분하는 generatedbyai / verified 메타데이터 패턴을 여러 도메인 테이블에 일관되게 적용 진행 상태 ✅ EPIC-01 (인증 / 워크스페이스 / 프로젝트 접근) ✅ EPIC-02 (조직 / 산업 / 프로젝트) 🚧 EPIC-03 (AS-IS 프로세스 그래프) — 그래프 검증, Input/Output 스키마, Business Rule 스키마 구현 완료