← 목록
기타 2026-06-14 3KB 읽기 3분

크라우니인베스트 — 퀴즈 게이트 + 테스트딜 정리 + 계약 문서화 (3건 병렬)

개요

사용자 요청 "셋다 병렬로 진행" — ① 학습 콘텐츠/퀴즈 게이트 ② 인터페이스.md 신규 라우트 계약 반영 ③ baseline 구 테스트딜 정리. 에이전트 스폰이 레이트리밋이라 메인(Opus)이 인라인 직접 수행(도구 호출은 레이트리밋 무관).

① 학습 콘텐츠/퀴즈 게이트

교육 이수가 자기신고형(API 호출만)이던 것을 퀴즈 통과 게이트로 격상.
  • 핵심/커리큘럼.한선(신규): 9과목 1학년(기초) 각 3문항 퀴즈. 커리큘럼_있음/합격여부/채점점수/퀴즈JSON. 정답은 서버 내부 전용(클라이언트 미노출). 합격선=(문항수+1)/2=2. _t_커리큘럼.한선 15/15(기대값 1건 자가수정).
  • 서버: POST /api/quiz(문항 조회, 정답 제외) + /api/edulearn 게이팅(커리큘럼 있으면 답안 채점, 합격해야 교육_이수등록; ungated 학년은 레거시 통과).
  • 인트라넷: "퀴즈 불러오기"→라디오 문항 렌더→"이수 제출"(답안 "2|1|3" 수집).
  • 검증: 오답(0/2)·답안누락 뱃지 차단, 정답(3/2) 뱃지부여, 정답필드 미노출, ungated 2학년 통과, UI 마크업.

⚠️ 회귀 발견·수정 (②의 부수효과)

인터페이스.md 검토 중 라우트 충돌 발견: 교육 이수에 붙인 /api/learn이 기존 자율학습 /api/learn(491행)을 선점(378행). 자율학습 한글 경로는 percent-encoding으로 404라, 자율학습 HTTP 엔드포인트가 죽어 있었음.
  • 수정: 교육 이수 ASCII를 /api/edulearn으로 변경(한글 /api/학습이수 유지), UI도 갱신. /api/learn=자율학습 복구(키 관측수/규칙 확인), /api/edulearn=교육 게이트. 회귀 GREEN.

② 인터페이스.md 계약 반영

교육.한선·소개.한선·커리큘럼.한선 모듈 + 신규 라우트(invite/referrer/edulearn/edu/quiz) 계약 추가. /api/learn vs /api/edulearn 충돌 주의 명시.

③ baseline 테스트딜 정리

딜.dat 51건 중 명확한 테스트/검증 잔여물 9건(TEST001/002, TEST_RISK, D_JOURNEY, ADV1~5) 백업 후 제거 → 42건. patrol 발견이 빈 배열로(가짜 TEST_RISK 위기 제거). 의도적 데모 시드(SEED/GROW/LATE 분포·메모리 "운영 브리핑 시연용")·명명 데모(D1~5/D9) 보존. 백업 data/딜.bak.테스트딜정리.20260614.dat.

관련 파일

  • 핵심/커리큘럼.한선·_t_커리큘럼.한선, 투자서버.한선(/api/quiz·/api/edulearn 게이팅), public/intranet.html(퀴즈 UI), 인터페이스.md
  • 백업: data/딜.bak.테스트딜정리.20260614.dat, 소개.bak.*·이수.bak.*

잔여 이슈

  • 퀴즈는 9과목 1학년만 정의 — 2~9학년은 ungated(콘텐츠 추가 시 게이트 확대 가능, 구조는 준비됨).
  • 라우트 충돌 교훈: 새 ASCII 라우트 추가 전 기존 별칭과 충돌 점검 필요(자율학습이 한글경로 404라 ASCII 별칭에만 의존했던 사례).
  • 학습자 수백+ 시 이수.dat/소개.dat 샤딩 미구현.