PART2 쌍대비교 전환 (3지선다 → BIG5식 페어링)
ID: 58e3255a-cb16-4f9e-a7af-9d9474e7be8b
## 설명
강점 진단 PART2를 3지선다(36라운드)에서 BIG5식 쌍대비교(54라운드)로 변경.
### 변경 내용
- 매 라운드: 2개 도메인에서 1개씩 페어링 + "둘 다 해당 안됨"
- 페어링: 사고-관계 / 사고-행동 / 관계-행동 (18쌍씩, 랜덤 셔플)
- 사전 생성 방식 (session_seed 기반 deterministic)
- "둘 다 해당 안됨" = 타임아웃과 동일 패턴 (value=0, time=null)
### 변경 파일
1. `diagnosis_sessions_controller.rb` — 페어링 알고리즘, 상수, round 계산
2. `_part2_round.html.erb` — 2버튼 + "해당없음"
3. `_part2_guide.html.erb` — 미리보기 변경
4. `diagnosis_controller.js` — skipPart2Round 추가
5. i18n (4개 locale)
6. 컨트롤러 테스트
### DB 마이그레이션: 불필요
### 채점 로직 변경: 불필요
## 완료 기준
- [ ] 54라운드 쌍대비교 UI 정상 동작
- [ ] 108문항 정확히 소진 (중복 없음, 누락 없음)
- [ ] 18-18-18 페어 균형 보장
- [ ] "둘 다 해당 안됨" 선택 시 value=0 저장
- [ ] 30초 타임아웃 정상 동작
- [ ] 가이드 화면 업데이트
- [ ] i18n 4개 언어
- [ ] 기존 완료 세션 채점 호환
- [ ] 테스트 통과
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 26일 05:57:37
-
팀팀리드 PART2 쌍대비교 전환 구현 완료
2026년 03월 26일 05:51:55
상세 보기
## 변경 사항
### 컨트롤러 (`diagnosis_sessions_controller.rb`)
- `PART2_DOMAIN_PAIRS`, `PART2_QUESTIONS_PER_ROUND` 상수 추가
- `prepare_part2_round_sequence`: 54라운드 사전 생성 (deterministic, session_seed 기반)
- `next_part2_round`: 시퀀스에서 미응답 페어 반환
- `setup_part2_state`: total_rounds = 시퀀스 크기
- `current_round_number`: / 2로 변경### 뷰
- `_part2_round.html.erb`: 2버튼 + "둘 다 해당 안됨" 버튼
- `_part2_guide.html.erb`: 미리보기 2개 + "해당없음"### JS (`diagnosis_controller.js`)
- `skipPart2Round` 메서드 추가
- 선택자: `[data-part2-choice]`로 구분
- response_time null 처리 개선### i18n (ko, en, zh, vi)
- `none_of_above` 키 추가
- instruction/description 텍스트 변경
- preview_3 제거### 테스트
- 기존 테스트 2개→3개로 수정 (pairwise, skip, constants)
- 진단 관련 54개 테스트 전체 통과 -
팀팀리드 상태 변경: 진행 중 → 리뷰
2026년 03월 26일 05:51:45
-
팀팀리드 상태 변경: 할 일 → 진행 중
2026년 03월 26일 05:45:31