- ProblemSet.audioUrls Json? (영어 듣기 mp3 배열)
- Problem 에 bodyText/choices/answerNumber/passageId/needsReview 추가
- Problem @@index([passageId]) 로 역방향 조회 보장
- 신규 Passage 모델 (공통 지문 [N~M] 분리용)
- examRound 추가 거부 — 기존 examType 이 이미 'sat'|'mock-june'|'mock-sept'|'academy' 커버
- .gitignore 에 data/kice/ (저작권 자료)
migration: 20260411183246_kice_text_fields
shadow DB INDEX 권한 이슈는 mariadb 에서 GRANT 로 해결
- backend/tsconfig.json: rootDir=./src + include/exclude to fix nest build
output (was emitting dist/src/main.js, now dist/main.js)
- backend/src/auth/auth.module.ts: @nestjs/jwt 11 tightened signOptions.
expiresIn to ms StringValue; cast env-sourced string via
JwtModuleOptions['signOptions']['expiresIn'] to satisfy the type
without pulling in @types/jsonwebtoken.
- backend/prisma/migrations/20260411153520_init: initial migration
generated by 'prisma migrate dev --name init' against the corrected
schema (SkillSnapshot.tagId nullable, SetNull cascades).
Verified end-to-end against https://reloop-api.nabomhalang.co.kr on
Dev VM: login → create study-log → queue → submit → 409 guard all
passing.