Skip to content

feat: web dashboard iteration history, for-each details, and interactive gates#8

Merged
jrob5756 merged 6 commits intomainfrom
feature/agent-iteration-visualization
Feb 27, 2026
Merged

feat: web dashboard iteration history, for-each details, and interactive gates#8
jrob5756 merged 6 commits intomainfrom
feature/agent-iteration-visualization

Conversation

@jrob5756
Copy link
Copy Markdown
Collaborator

Summary

  • Agent iteration history: When agents loop (get routed to multiple times), each iteration's prompt, output, activity, and metrics are preserved in a snapshot array. The detail panel shows collapsible sections per iteration, and graph nodes display a ×N badge.
  • For-each per-item details: Backend tags streaming events with item_key so prompt, activity, and output are routed to per-item storage. The GroupDetail panel now shows collapsible per-item sections with full prompt, activity stream, and output viewers.
  • Node highlighting fix: Replaced in-place node mutations with immutable updates (replaceNode creates new object references), ensuring React Flow re-renders nodes when status changes from pending → running → completed.
  • Interactive web gate UI: Added gate detail panel with option buttons, prompt_for text input, and real-time WebSocket gate responses. Added suspend/resume to KeyboardListener to prevent cbreak mode conflicts during interactive prompts.
  • Start node: Added $start node to the graph, mirroring the existing $end node for clear visual workflow entry point.
  • Workflow examples: Updated plan/implement/design workflows with new models and dual review pipeline.

Test plan

  • Run a for-each workflow with --web, click the group node, expand an item row → verify prompt, activity stream, and output are all visible
  • Run any workflow with --web → verify all agent nodes transition from gray (pending) → blue (running) → green (completed)
  • Run a workflow with a human gate and --web → verify interactive gate options appear in the dashboard and responses flow back
  • Run a looping workflow with --web → verify iteration history shows collapsible sections with ×N badge
  • cd src/conductor/web/frontend && npm run build passes
  • make test passes (1544 tests, 0 failures)
  • make check passes (lint + typecheck)

🤖 Generated with Claude Code

Jason Robert and others added 6 commits February 26, 2026 11:36
When agents are routed to multiple times in a workflow loop, previous
iteration data was destroyed. This adds an iterationHistory array to
NodeData that snapshots each completed iteration, enabling users to
review all iterations in the detail panel with collapsible sections
and see a ×N badge on graph nodes.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Replace design-review.yaml with design.yaml (focused design workflow)
- Add MCP server configs (web-search, context7, ms-learn) to implement
  and plan workflows
- Update model references to claude-opus-4.6-1m and claude-sonnet-4.6
- Restructure plan workflow with dual review pipeline: technical
  reviewer (Opus 1M) and readability reviewer (Gemini 3.1 Pro)
- Switch plan workflow to explicit context mode
- Broaden epic scanning to consider all sections in implement workflow
The coder agent was implementing multiple epics in a single turn
instead of one-at-a-time. Fix by adding a dedicated epic_selector
agent (Sonnet) that reads the plan and selects exactly ONE epic,
then passes only that epic's details to the coder.

New flow: epic_selector → coder → epic_reviewer → committer → loop

Changes:
- Add epic_selector agent as new entry_point
- Constrain coder prompt to implement ONLY the assigned epic
- Route committer back to epic_selector (not coder) for next epic
- Guard plan_reviewer and output templates for undefined agents
- Add sample.plan.md for testing
- Add 7 integration tests verifying routing flow with mock handler
Add a $start node to the web dashboard graph mirroring the existing $end
node pattern, so the workflow entry point is visually clear. Also fix
pre-existing lint errors in test_implement_flow.py (unused variable and
line length).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…dashboard

Tag for-each streaming events with item_key so prompt, activity, and output
are routed to per-item storage instead of overwriting on the group node.
Transform ForEachItemRow into collapsible sections with prompt, activity
stream, and output viewers. Fix nodes staying gray/pending by creating new
object references after mutation so React Flow detects status changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…graph node refinements

Add interactive gate detail panel with option buttons, prompt_for text
input, and real-time WebSocket gate responses. Add suspend/resume to
KeyboardListener to prevent cbreak mode conflicts during interactive
prompts. Refine graph node components for consistent status rendering
and update WebSocket reconnection logic.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jrob5756 jrob5756 merged commit 9c3ab1c into main Feb 27, 2026
4 checks passed
@jrob5756 jrob5756 deleted the feature/agent-iteration-visualization branch March 17, 2026 01:41
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.

1 participant