티켓 JSON 필드↔project_timeline/reports 동기화 결함 — 보이지 않음 이슈 재발 방지
의사결정
chain completed — auto-closed by stall sweep
내용
증상(모델 사례: P07-0421-MASTERPLAN-V0.3-REWORK):
- 실제 작업 완료/진행 증거는 project_timeline(5건), reports(5건), outputs/P07-MASTERPLAN-V0.3/(3파일), projects/P07_whatsapp/(9파일)에 정상 존재
- 그러나 tickets.artifacts/handoff_chain/logs JSONB 필드는 NULL → 대시보드 티켓 상세 화면에 "빈칸"으로 렌더
- 추가로 자동 검증이 tickets.artifacts=NULL만 보고 "파일이 산출물에 없습니다" 오진, status를 IN_PROGRESS→REVIEW 강등
해결 3건 (묶음):
(1) tickets.artifacts auto-sync — project_timeline INSERT 시 DB 트리거 또는 writer 앱 레벨 훅으로 해당 ticket_id의 artifacts JSONB를 자동 병합. idempotent 보장(path UNIQUE). reports INSERT도 동일 처리. handoff_chain은 project_timeline.event_type='handoff' 행에서 자동 추출.
(2) 대시보드 티켓 상세 렌더 확장 — tickets.artifacts/handoff_chain/logs만 읽지 말고 project_timeline/reports 를 ticket_id 조인해서 통합 렌더. 필드 비어 있어도 타임라인 섹션이 채워지도록.
(3) "산출물 없음" 자동 판정 로직 교차검증 — tickets.artifacts=NULL 단독 판정 금지. project_timeline에 해당 ticket_id의 artifact 경로 이벤트가 1건 이상이면 판정 유보. 파일시스템 재확인 루트(예: outputs/tickets/<id>/, outputs/<project_prefix>/).
완료 기준:
- (1) 트리거 or 훅 테스트: project_timeline INSERT → 5초 내 tickets.artifacts 반영
- (2) 기존 REVIEW/REVIEWED 티켓 1건에서 조인 렌더 확인 (P07로 실측)
- (3) P07 케이스 재현: tickets.artifacts 비우고 자동 판정 돌려 "산출물 없음" 판정 안 나오는지
관련:
- 모델 사례: P07-0421-MASTERPLAN-V0.3-REWORK (backfill 완료, 수동)
- 위험도: high — 다른 티켓들도 동일 증상 잠재. W3/W4 병렬 작업물이 동일하게 "보이지 않음" 상태일 가능성 높음
- 의존성 없음 (DESIGN-MD/PLANNING 티켓과 독립)
상태 변경
추가 작업
핸드오프 체인
아직 핸드오프 이력이 없습니다
체이닝 타임라인
자동 체이닝 이력이 없습니다
산출물
아직 산출물이 없습니다
관련 로그
관련 봇 로그 없음