Skip to content

v 3.7.0 - #439

Merged
GulSauce merged 2 commits into
mainfrom
develop
Sep 9, 2026
Merged

GulSauce merged 2 commits into
mainfrom
develop

Conversation

@GulSauce

@GulSauce GulSauce commented Sep 9, 2026

Copy link
Copy Markdown
Member

No description provided.

GulSauce and others added 2 commits September 9, 2026 11:49
* [ICC-419] feat: 오답 모아풀기 — 폴더의 틀린 문항을 유형별 문제집으로 재출제

폴더 하나에서 내가 틀린 문항을 모아 유형마다 새 문제집을 만든다. 새 문제를 생성하지
않고 틀렸던 문항을 그대로 복제하므로 AI 를 거치지 않는다.

수집 범위는 quiz_history 한 쿼리(내 기록 ∩ 이 폴더 ∩ 끝까지 푼 것)로 닫는다. 정오답은
저장돼 있지 않아 저장된 답안으로 되짚는데, 기록 상세가 쓰던 판정을 AnswerJudge 로 꺼내
수집과 같은 함수를 거치게 했다 — 새 채점 규칙을 만들지 않는다. 서술형은 정오답이 규칙으로
갈리지 않아 제외하고 제외된 문항 수만 알린다.

정렬 → 중복 제거 → 상한 순서가 규칙의 일부다. 중복 제거가 앞서면 같은 문항의 오래된 쪽이
남아 상한에서 최신 오답이 밀려난다.

유형 하나가 트랜잭션 하나라, 한 유형이 실패해도 나머지는 남고 실패한 유형은 반쯤 만들어진
채 남지 않는다. session_id 를 요청 단위로 결정론 생성해 연타·재시도가 목록을 어지럽히지
않는다.

- V21: problem_set.origin·source_folder_id, problem.origin_*(재출제 혈통),
  quiz_history.completed_at(기존 완료 행은 created_at 으로 백필)
- 문제집과 함께 풀이 기록을 출처 폴더에 만든다. 이 레포에서 폴더는 문제집이 아니라 기록에
  붙고 목록도 기록을 훑으므로, 기록이 없으면 만들어진 문제집이 목록에도 폴더에도 안 뜬다.
- 원본 자료를 가리키는 페이지 번호는 물려주지 않는다. 자료가 없는 문제집에서 해설의 참조
  자료 안내가 사실과 다른 말을 하게 된다.
- 빈 결과·상한 초과·부분 실패는 200 으로 내린다. 알려야 할 상태이지 요청의 실패가 아니다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzgVQVdWdJQTp1cUvu44X

* [ICC-419] fix: 기록 목록의 완료일을 완료 시각으로 되돌린다

오답 모아풀기가 미완료 기록을 폴더에 만들면서, 아직 풀지도 않은 문제집이 목록 '완료일'
칸에 날짜를 표시하게 됐다. takenAt 이 기록 생성 시각을 싣고 있었기 때문이다.

완료 시각 컬럼으로 옮긴다. 기존 완료 행은 백필 값이 생성 시각이라 표시가 그대로고,
완료하지 않은 기록은 날짜 대신 비어서 내려간다.

푼 시각이 모두 같은 구간에서 무엇이 상한에 잘려나가는지도 함께 고정했다 — 컬럼이 생기기
전 기록은 백필로 전부 동률이 되고, 그때는 문항 번호만이 순서를 가른다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzgVQVdWdJQTp1cUvu44X

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
@GulSauce
GulSauce merged commit f940599 into main Sep 9, 2026
4 checks passed
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.

1 participant