완료 세션 수정 영구 실패 수리 — 근거 세트 삭제 시 롤업 관측 묶음 정리 (2026-09-01)
- 기간: 2026-09-01 (1세션, 오너: "1034도 이어서 해줄래?" — #1017 랜딩 중 발견한 잠복 버그의 연속 수리)
- 랜딩: PR #1038(
9964a13a) — 마이그레이션20260901810000, Productiondb push적용 완료(§15 직렬화) - 설계서: 없음(수리 건 — 분석·계획은 이슈 #1034 본문·스레드)
- 정본:
bug-report/bug-053-20260901.md— 증상·원인·조치·재발 방지 전체 - 도구: 로컬 DB 프로브(저장→통계 작업 처리→수정 순서로 잠복 조건 격리) + 샌드박스 스택 pgTAP 실검증
- 게이트: pgTAP
rollup_max_rep_source_set_clear.test.sql(재현 순서 상주 감시) + 마이그레이션 postcheck(트리거·인덱스·11열 정리 단언) - 버그리포트:
bug-report/bug-053-20260901.md - 계약: 신규 규칙 — "SET NULL FK × 동반 NOT NULL CHECK 금지, 필요하면 삭제 트리거로 묶음 정리"(리포트 §5)
한 줄 요약 — 반복수 기록 종목이 든 완료 세션은 통계가 관측(근거 세트 연결)을 채운 뒤 근거 세트를 지우거나 교체하는 수정이 FK(ON DELETE SET NULL)×CHECK 모순으로 영구 거부(23514)되던 잠복 버그를, 세트 삭제 직전 관측 묶음 11열을 비우는 BEFORE DELETE 트리거 + 근거 세트 부분 인덱스(기존 풀스캔 해소)로 수리. 함수 재발행 0(되덮기 위험 없음), 동종 결합 전수 확인 결과 이 결합 하나뿐. pgTAP 81파일 1,233 PASS·CI 초록·Production postcheck 통과.
남은 것
- 없음 — 이 수리로 #1017 완료 화면의 변경분 반영 저장(메모·시간 수정)도 서버에서 정상 통과한다.