Feat/study port s2 s4 s5 cards #50
Reference in New Issue
Block a user
Delete Branch "feat/study-port-s2-s4-s5-cards"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
DS 가 가진 카드 SR progress row 를 발행(kind=study_card_progress) = read model. viewer C-4 복습큐/미확인 set-difference 재료. plan study-viewer-port S-4. - projection: KIND_CARD_PROGRESS + project_card_progress(card_id·topic_id·last_outcome· last_reviewed_at·due_at·review_stage). ★ALL row(due_at NULL sentinel=암-on-new·terminal 포함) — due-only 발행 금지(sentinel 누락→viewer 미확인 오분류). - enqueue: enqueue_card_progress_publish + backfill_publish_card_progress(필터 없음). - 훅: /study-cards/{id}/rate 의 rate_card 직후(같은 tx·flag 게이트). 단일 write 사이트. SR 계산=DS(sr_schedule 무변경), 발행=결과만. - 카드 삭제 시 progress tombstone 안 함 = DS SR 보존(재승인 복원), orphan 은 viewer C-4 가 로컬 드롭. - scripts/backfill_publish_card_progress.py. py_compile PASS · project_card_progress 단위검증(sentinel due_at=None 보존). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>