Skip to content

feat(workflow): 대시보드 체인 시각화 (배지 + 타임라인) - #58

Merged
redsunjin merged 2 commits into
mainfrom
feat/workflow-chain-view
Aug 5, 2026
Merged

feat(workflow): 대시보드 체인 시각화 (배지 + 타임라인)#58
redsunjin merged 2 commits into
mainfrom
feat/workflow-chain-view

Conversation

@redsunjin

Copy link
Copy Markdown
Owner

요약

이메일 유스케이스의 마지막 대시보드 조각 — 운영자가 이전 단계 결정을 보고 현재 요청을 결정할 수 있다.
스펙: docs/superpowers/specs/2026-08-05-workflow-chain-view-design.md

  • ChannelBoard: 체인 소속 카드에 🔗 체인 배지.
  • DecisionSheet: App이 chain API(기존 GET .../chain)로 불러온 체인을 타임라인으로 표시 — email-triage · 메일 분류 · 결정됨 → email-reply · 답장 승인 · 대기 ← 현재. 로드는 논블로킹, 실패 시 기존 "체인 이전 요청: id" 라인 폴백.
  • 서버 무변경. PR feat(workflow): 다중 운영자 — 레지스트리 + decidedBy 신원 강제 #57(다중 운영자)과 파일 겹침 없음 — 독립 머지 가능.

검증

  • 신규 테스트 5건(배지/타임라인/App 체인 로드·미로드) 포함 서버 28 + UI 33 전체 통과.
  • 실브라우저: triage(결정됨)→reply(대기) 체인 시드 후 카드 배지·시트 타임라인·프리셋 하이라이트 확인 (스크린샷 검증).

🤖 Generated with Claude Code

selimDGAX and others added 2 commits August 5, 2026 14:53
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
체인에 속한 요청 카드에 🔗 배지를 표시하고, 선택 시 chain API로 체인
전체를 불러 결정 시트 상단에 타임라인(subjectType · 제목 · 상태,
현재 요청 강조)으로 보여준다. 로드는 논블로킹이며 실패 시 기존
"체인 이전 요청" 라인으로 폴백. 서버 무변경.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread workflow/src/App.jsx
setSelectedChain(null);
if (request.parentRequestId) {
// 체인 로드는 논블로킹 — 도착하는 대로 시트에 타임라인 표시 (스펙 2026-08-05 §1)
fetchRequestChain(request.requestId).then(setSelectedChain).catch(() => {});

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Ignore stale chain responses

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 👍 / 👎.

@redsunjin
redsunjin merged commit 515faea into main Aug 5, 2026
4 checks passed
@redsunjin
redsunjin deleted the feat/workflow-chain-view branch August 5, 2026 06:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants