feat(workflow): 대시보드 체인 시각화 (배지 + 타임라인) - #58
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
체인에 속한 요청 카드에 🔗 배지를 표시하고, 선택 시 chain API로 체인 전체를 불러 결정 시트 상단에 타임라인(subjectType · 제목 · 상태, 현재 요청 강조)으로 보여준다. 로드는 논블로킹이며 실패 시 기존 "체인 이전 요청" 라인으로 폴백. 서버 무변경. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 23922187dc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| setSelectedChain(null); | ||
| if (request.parentRequestId) { | ||
| // 체인 로드는 논블로킹 — 도착하는 대로 시트에 타임라인 표시 (스펙 2026-08-05 §1) | ||
| fetchRequestChain(request.requestId).then(setSelectedChain).catch(() => {}); |
There was a problem hiding this comment.
When an operator selects a chained request and then quickly selects another request before the first /chain call resolves, this promise still writes into the shared selectedChain state. Since DecisionSheet renders any non-null chain, the newly selected sheet can briefly or permanently show the previous request's timeline, including for a solo request if its own selection does not start a new fetch. Guard the response against the currently selected requestId or cancel/ignore it after selection changes.
Useful? React with 👍 / 👎.
요약
이메일 유스케이스의 마지막 대시보드 조각 — 운영자가 이전 단계 결정을 보고 현재 요청을 결정할 수 있다.
스펙:
docs/superpowers/specs/2026-08-05-workflow-chain-view-design.mdGET .../chain)로 불러온 체인을 타임라인으로 표시 —email-triage · 메일 분류 · 결정됨 → email-reply · 답장 승인 · 대기 ← 현재. 로드는 논블로킹, 실패 시 기존 "체인 이전 요청: id" 라인 폴백.검증
🤖 Generated with Claude Code