"지우면 다시 생기는 diff는 지우지 말고 받아들여라"
개발 환경을 점검하던 중 두 가지 문제를 발견했습니다. 하나는 package.json의 패키지 11개가 "latest"로 고정되어 있어 언제 설치하느냐에 따라 결과가 달라질 수 있는 상태였고, 다른 하나는 next dev를 실행할 때마다 AGENTS.md 파일에 자동으로 블록이 추가되는 현상이었습니다.
버전 문제는 현재 설치된 실제 버전을 기준으로 caret range로 고정하는 방식으로 해결했습니다. AGENTS.md 자동 변경은 원인을 조사해보니 Next.js의 agentRules라는 공식 옵션 때문이었고, 내용을 확인해보니 "설치 버전 문서를 먼저 읽어라"는 지시로 오히려 도움이 되는 내용이었습니다. 그래서 이 기능을 끄는 대신, 한 번 정식으로 커밋해 반복되는 diff 자체를 없애기로 판단했습니다.
여기에 더해 .gitignore의 .env* 규칙이 .env.example까지 막고 있던 것을 발견해 !.env.example 예외를 추가했고, docs/09 §113에 실제 Git 운영 정책(develop 브랜치 직접 커밋)을 반영했습니다. lint, typecheck, test, build 검증을 모두 통과한 뒤 커밋(a6aabaa)했습니다.
이후 next dev를 다시 실행해 AGENTS.md에 더 이상 diff가 발생하지 않는 것까지 직접 확인했습니다. 반복되는 유령 diff를 무조건 없애려 하기보다, 원인을 파악한 뒤 받아들일지 차단할지를 판단하는 게 더 나은 접근이라는 걸 확인한 작업이었습니다.
자동 생성되는 AGENTS.md 블록의 내용을 확인해보니 "설치 버전 문서를 먼저 읽어라"는 지시로, 오히려 이후 Codex 작업 품질에 도움이 되는 내용이었습니다. 이 때문에 기능을 꺼서 없애는 것보다, 한 번 정식으로 받아들여 반복되는 유령 diff 자체를 없애는 쪽이 더 합리적이라고 판단했습니다. 버전 고정 역시 "latest"가 주는 편의보다 재현 가능한 빌드가 우선이라는 기준을 적용했습니다.
관련 프로젝트
프로젝트 개요 비즈니스 프로세스 트랜스포메이션(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 스키마 구현 완료