Skip to content

[BUG] result-processor isSuccessfulOutput 가 부정확함#44

Merged
wlgns5376 merged 3 commits into
1.0.4-devfrom
issue-42
Oct 17, 2025
Merged

[BUG] result-processor isSuccessfulOutput 가 부정확함#44
wlgns5376 merged 3 commits into
1.0.4-devfrom
issue-42

Conversation

@wlgns5376
Copy link
Copy Markdown
Owner

문제 설명

작업 성공 여부에 대한 체크 로직이 부정확해서 간헐적으로 성공했으나 성공하지 않은것으로 간주하는 문제가 있었습니다.

해결 방법

isSuccessfulOutput() 메서드의 성공/실패 판단 로직을 개선했습니다:

1. 치명적 실패 패턴 우선 확인

  • TypeScript compilation failed, npm ERR!, Error:, fatal:, Exception: 등
  • 이러한 패턴 발견 시 즉시 실패로 판단하여 false positive 방지

2. 성공 지표를 강한/약한 지표로 분류

  • 강한 지표: PR URL, "성공적으로 완료", "tests passed" 등 명확한 성공 표시
  • 약한 지표: Coverage, ✓, "커밋 생성" 등 보조적인 성공 표시

3. 약한 지표만 있는 경우 추가 검증

  • 출력 길이가 50자 미만이면 불확실하므로 실패로 판단
  • 경고만 있고 실제 성공 내용이 없으면 실패로 판단

주요 변경 사항

  • src/services/worker/result-processor.ts:209-299: isSuccessfulOutput() 메서드 전면 개선

테스트 결과

  • ✅ result-processor 테스트 14개 모두 통과
  • ✅ 빌드 성공

관련 이슈

Closes #42

🤖 Generated with Claude Code

## 변경 사항
- isSuccessfulOutput() 메서드의 성공/실패 판단 로직 개선
- 치명적 실패 패턴을 우선 확인하여 false positive 방지
- 성공 지표를 강한/약한 지표로 분류하여 정확도 향상
- 약한 지표만 있는 경우 추가 검증 로직 추가

## 개선 내용
1. 치명적 실패 패턴 우선 확인
   - TypeScript compilation failed, npm ERR!, Error:, fatal:, Exception: 등
   - 이러한 패턴 발견 시 즉시 실패로 판단

2. 강한 성공 지표와 약한 성공 지표 분류
   - 강한 지표: PR URL, 성공적으로 완료, tests passed 등
   - 약한 지표: Coverage, ✓, 커밋 생성 등

3. 약한 지표만 있는 경우 추가 검증
   - 출력 길이가 50자 미만이면 불확실하므로 실패로 판단
   - 경고만 있고 실제 성공 내용이 없으면 실패로 판단

## 테스트 결과
- 모든 result-processor 테스트 통과 (14/14)
- 빌드 성공

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@woody-kang
Copy link
Copy Markdown
Collaborator

전달되는 프롬프트에 응답 형식을 지정해주는건 어떤가요?

리뷰 피드백을 반영하여 Developer에게 전달되는 모든 프롬프트에
구조화된 응답 형식 지침을 추가했습니다.

## 주요 변경 사항

- `prompt-generator.ts`: 모든 프롬프트 메서드에 응답 형식 섹션 추가
  - `generateNewTaskPrompt()`: 신규 작업 응답 형식
  - `generateResumePrompt()`: 작업 재개 응답 형식
  - `generateFeedbackPrompt()`: 피드백 처리 응답 형식
  - `generateMergePrompt()`: 병합 응답 형식

- 응답 형식 구조:
  - `---TASK_RESULT_START---` 및 `---TASK_RESULT_END---` 구분자 사용
  - 상태, 메시지, 섹션별 정보를 명확한 템플릿으로 제공
  - `result-processor`가 더 정확하게 파싱할 수 있도록 개선

## 테스트 결과

- ✅ prompt-generator 테스트 16개 모두 통과
- ✅ 빌드 성공

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@wlgns5376
Copy link
Copy Markdown
Owner Author

@woody-kang 리뷰 피드백이 반영되었습니다. 재검토 부탁드립니다.

@woody-kang
Copy link
Copy Markdown
Collaborator

테스트에서 실패가 발생되는데 확인해주세요

1 similar comment
@woody-kang
Copy link
Copy Markdown
Collaborator

테스트에서 실패가 발생되는데 확인해주세요

## 문제
- Docker 빌드 시 `pnpm install --frozen-lockfile` 실패
- pnpm-lock.yaml과 package.json의 의존성 버전 불일치:
  - @types/node: ^24.3.0 → ^24.7.1
  - ts-jest: ^29.4.1 → ^29.4.4
  - typescript: ^5.9.2 → ^5.9.3

## 해결
- pnpm install로 pnpm-lock.yaml 업데이트
- 모든 의존성을 package.json과 동기화

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@wlgns5376
Copy link
Copy Markdown
Owner Author

@woody-kang 리뷰 피드백이 반영되었습니다. 재검토 부탁드립니다.

수정 내용

  • pnpm-lock.yaml 동기화: Docker 빌드 시 발생하던 의존성 버전 불일치 문제 해결
    • @types/node: ^24.3.0 → ^24.7.1
    • ts-jest: ^29.4.1 → ^29.4.4
    • typescript: ^5.9.2 → ^5.9.3

테스트 결과

  • ✅ 로컬 유닛 테스트 모두 통과 (547 passed)
  • ✅ Docker 빌드 실패 원인 해결
  • 🔄 CI 빌드 재실행 대기 중

@wlgns5376 wlgns5376 merged commit 615978d into 1.0.4-dev Oct 17, 2025
2 checks passed
@wlgns5376 wlgns5376 deleted the issue-42 branch October 17, 2025 00:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants