- QA-1 Backend API contract: APPROVE (minor type contract 2) - QA-2 Persona forget algorithm: APPROVE (math verified) - QA-3 Auth & security: REQUEST_CHANGES - email normalize missing / JWT revalidate / secret fallback / whitelist - QA-4 Frontend runtime: REQUEST_CHANGES - review double-submit race / subjects/[id] NaN / history error states / native alerts - QA-5 Prisma & transactions: REQUEST_CHANGES - reviews.submit snapshot outside tx / tag cascade data loss / iteration race - QA-6 Build & deploy: REQUEST_CHANGES - missing migrations, postinstall, lockfile, PM2 ecosystem Follow-up fix proposals saved to .claude/state/pending-fix-proposals.jsonl (18 tickets)
26 lines
1.1 KiB
JSON
26 lines
1.1 KiB
JSON
{
|
||
"task_id": "QA-2",
|
||
"title": "Persona forget algorithm verification",
|
||
"goal": "망각 곡선 알고리즘의 수학적 정합성과 경계 조건 검증",
|
||
"checks": [
|
||
"updateS0 함수의 모든 result 경로 (correct/partial/incorrect) 수식 확인",
|
||
"schedule() 함수 역함수 유도 검증: σ(k(S₀e^(-λt) - D)) = threshold → t = -(1/λ)·ln((D + logit(τ)/k)/S₀)",
|
||
"경계 조건: s0=0, s0=1, D>=s0, D<=0, target<=0, target>=s0",
|
||
"MAX_INTERVAL_DAYS=60 cap 동작 확인",
|
||
"predictP 함수 정합성",
|
||
"sampleCurve 배열 길이 / 마지막 점 정확도",
|
||
"PERSONA_LAMBDA / INTENSITY_THRESHOLD 상수 PLAN.md와 일치 여부",
|
||
"persona-forget.service.spec.ts 테스트 커버리지 평가 — 모든 persona × intensity × result 조합 테스트 존재 여부"
|
||
],
|
||
"non_goals": [
|
||
"벤치마크",
|
||
"알고리즘 교체 제안",
|
||
"테스트 파일 수정"
|
||
],
|
||
"runtime_validation": [],
|
||
"browser_validation": [],
|
||
"risk_flags": ["needs-spike"],
|
||
"reviewer_profile": "static",
|
||
"deliverable": ".qa/QA-2.md"
|
||
}
|