Skip to content

Commit ada38f8

Browse files
soobingclaudesounmind
committed
docs: AGENTS.md 디버깅 기록 섹션 제거하고 일반화된 규칙으로 대체
incident log 형태는 시간이 지나며 무관해지기 쉬워, 코멘트 숨김 마커 직렬화 포맷 변경 시의 일반화된 주의사항 한 항목만 `코드 수정 시 주의사항`에 남긴다. 구체적 사건 서사는 커밋 메시지/PR/코드 주석에 이미 보존돼 있다. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Co-Authored-By: sounmind <37020415+sounmind@users.noreply.github.com>
1 parent 8d2f7a0 commit ada38f8

1 file changed

Lines changed: 3 additions & 9 deletions

File tree

AGENTS.md

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -487,15 +487,9 @@ describe("checkWeeks", () => {
487487
- GitHub 인증 로직 (`generateGitHubAppToken`, `createJWT` 등)은 모든 기능에서 공통으로 사용
488488
- 새 기능 추가 시 기존 유틸리티 함수 활용
489489

490-
## 디버깅 기록
491-
492-
### 학습 현황 코멘트 — `🔢 API 사용량` 누적이 안 되던 문제 (이슈 #36)
493-
494-
- **증상**: 같은 PR에 새 커밋이 push되어 webhook이 다시 발화하면 `🔢 API 사용량 (gpt-4.1-nano)` 표가 누적되어야 하는데, 항상 가장 최근 호출 1행만 표시되고 `합계` 행도 절대 나오지 않았다.
495-
- **원인**: `utils/learningComment.js`의 숨김 마커 정규식 `USAGE_DATA_RE``({.*?})`로 객체 패턴만 캡처하도록 작성돼 있었다. 실제 저장 포맷은 `JSON.stringify(history)` 결과인 객체 **배열**(`[{prompt,completion}, ...]`)이어서, 정규식은 배열 안의 첫 객체 `{...}`만 캡처했다. 결과적으로 `JSON.parse`는 단일 객체를 반환했고, `Array.isArray(parsed) ? parsed : []` 분기에서 항상 빈 배열로 떨어져 직전 누적값이 통째로 사라졌다. 문서 주석은 단일 객체 포맷이라고 적혀 있었지만 코드는 이미 배열 포맷으로 옮겨간 상태였다.
496-
- **수정**: 정규식을 `(\[.*?\])`로 변경해 배열 포맷을 캡처하고, 문서 주석을 실제 저장 포맷에 맞춰 갱신. 잘못된 포맷의 기존 코멘트는 `parseUsageFromComment`가 자연스럽게 `[]`로 떨어져 새 호출부터 다시 누적된다.
497-
- **회귀 방지**: `tests/learningComment.test.js`에 ① 신규 코멘트 1행, ② 기존 코멘트의 배열 마커로부터 #1~#3 누적 + 합계 행 검증, ③ 손상된 객체 마커는 단일행으로 리셋, ④ usage 미제공 시 섹션 자체가 빠짐 — 4개 시나리오를 박아 두었다.
498-
- **교훈**: 직렬화 포맷을 객체→배열로 옮길 때 정규식·문서 주석·테스트가 함께 따라가지 않으면 조용히 실패한다. 특히 `Array.isArray` 같은 방어 코드가 잘못된 입력을 throw 없이 빈 배열로 무마하면 디버깅이 더 어려워진다.
490+
7. **코멘트 숨김 마커 직렬화 포맷 변경**
491+
- 코멘트에 `<!-- xxx-data: ... -->` 형태로 숨겨 저장하는 데이터의 직렬화 포맷(객체↔배열 등)을 바꿀 때는 **정규식·문서 주석·테스트를 같은 PR에서 함께 갱신**
492+
- 파싱이 `Array.isArray` 같은 방어 코드로 빈 값에 fallback하면 회귀가 조용히 묻혀 디버깅이 어려워짐
499493

500494
## 관련 문서
501495

0 commit comments

Comments
 (0)