Skip to content

Prototype: Swimlane Flow view for dynamic agent workflows#92

Draft
lis186 wants to merge 1 commit into
mainfrom
claude/ccxray-timeline-design-VqdoZ
Draft

Prototype: Swimlane Flow view for dynamic agent workflows#92
lis186 wants to merge 1 commit into
mainfrom
claude/ccxray-timeline-design-VqdoZ

Conversation

@lis186

@lis186 lis186 commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Draft / exploration — not for merge as-is. Tracks the design + prototype for #91.

摘要(正體中文)

線性 timeline 無法表達 dynamic workflow 的子代理 fan-out / 平行 / fan-in 結構。這個 PR 放的是探索用 prototype(不接 UI、不動既有檔案),用來在合併產品化前先驗證隱喻:

  • public/workflow-graph.js — 可接真實資料的 buildWorkflowGraph() + renderWorkflowSVG()(isomorphic、zero-dependency)。
  • prototype/gen-mockup.js — 用合成但結構真實的 session 跑,並斷言 spawn/fan-in 推斷能還原預期的圖;產出 SVG/HTML。

完整設計、視覺預覽、後續步驟都在 #91

What's here (English)

File Purpose
public/workflow-graph.js buildWorkflowGraph(entries) (lanes/nodes/edges with spawn + fan-in inference, mirrors inferParentSession) and renderWorkflowSVG(). Isomorphic, zero-dependency.
prototype/gen-mockup.js Drives it with a realistic synthetic session; asserts the inference recovers the intended graph. Emits workflow-swimlane.svg + .html.
prototype/workflow-swimlane.{svg,html} Generated artifacts (committed for the issue preview).
node prototype/gen-mockup.js   # prints ✓ when spawn/fan-in inference matches

This touches no existing files — it's purely additive exploration.

Why draft

Next steps

See #91 → "Recommended path forward": (1) validate with real data → (2) decide on productionizing. Keep as draft until (1) is done.

Closes #91 only once productionized — leaving open for now.

🤖 Generated with Claude Code

https://claude.ai/code/session_013SyRHEvmrA2SSnTvbq5Qj8


Generated by Claude Code

Prototype for visualizing dynamic agent workflows (subagent fan-out /
parallel lanes / fan-in) that the linear timeline flattens away.

- public/workflow-graph.js: isomorphic buildWorkflowGraph() +
  renderWorkflowSVG(). Infers spawn edges from Agent/Task tool_use calls
  matched to inferred subagent sessions within a 60s window (mirrors
  server/store.js inferParentSession), plus sequence + fan-in edges.
- prototype/gen-mockup.js: drives it with a realistic synthetic session
  and asserts the inference recovers the intended graph; emits SVG + HTML.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013SyRHEvmrA2SSnTvbq5Qj8
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.

Session timeline can't express dynamic agent workflows — add a Swimlane Flow view (subagent fan-out / parallel lanes / fan-in)

2 participants