"문제는 실제로 발생 가능해지는 시점에 맞춰 처리한다"
새 기능(Industry CRUD) 착수를 요청받았지만, 그 전에 이미 알려져 있던 미해결 사항 2가지를 어떻게 다룰지부터 정리해야 했습니다. 하나는 project_members 테이블의 project_id에 외래키가 없는 상태였고, 다른 하나는 Workspace 관리자가 특정 프로젝트에 멤버로 등록되지 않으면 접근할 수 없는 권한 로직 문제였습니다.
두 이슈를 살펴보니 공통점이 있었습니다. 둘 다 아직 만들어지지 않은 테이블(transformation_projects)에 의존하고 있어서, 지금 시점에서는 실질적으로 손댈 방법이 없었습니다. 이걸 그냥 "나중에"로 미뤄두면 다시 잊힐 위험이 있다고 판단해, 정확히 어느 Task에서 처리할지를 못박아두기로 했습니다.
착수하려는 기능(TASK-02-001, TASK-02-002)이 이 두 이슈와 무관하다는 걸 확인한 뒤, FK 추가와 권한 로직 수정은 이후 특정 Task(TASK-02-003)의 완료 조건으로 명시적으로 옮겨두었습니다.
이 작업 자체는 코드를 건드리지 않은 계획 정리였지만, 결과적으로 다음 기능을 바로 착수해도 되는 근거를 명확하게 만들었습니다. 방치된 TODO 대신, 구체적인 시점이 배정된 상태로 전환한 것이 이번 작업의 핵심입니다.
"한 번에 하나의 Task만 진행한다"는 원칙과, 의존성 없는 이슈로 착수를 막지 않는다는 판단을 함께 적용했습니다. 두 미해결 이슈는 참조할 테이블이 아직 없어서, 지금 억지로 처리하려 해도 실질적으로 손댈 수 있는 부분이 없는 상태였습니다. 그래서 문제가 실제로 유효해지는 시점, 즉 관련 테이블이 생성되는 시점에 맞춰 작업을 배치하는 게 합리적이라고 봤습니다.
관련 프로젝트
프로젝트 개요 비즈니스 프로세스 트랜스포메이션(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 스키마 구현 완료