const phaseIcons = { Planning: '๐Ÿ“‹', Execution: 'โš™๏ธ', Validation: '๐Ÿงช', Documentation: '๐Ÿ“–', Learning: '๐Ÿง ', }; const phaseColors = { Planning: 'from-blue-500 to-indigo-500', Execution: 'from-green-500 to-emerald-500', Validation: 'from-yellow-500 to-orange-500', Documentation: 'from-teal-500 to-cyan-500', Learning: 'from-purple-500 to-violet-500', }; export default function WorkflowTimeline({ simulation, currentPhase, isRunning }) { const phases = [ { name: 'Planning', description: 'Product Manager clarifies task, Architect designs system, Planner decomposes work', agents: ['PM', 'Architect', 'Planner'] }, { name: 'Execution', description: 'Backend implements APIs, Frontend builds UI, DevOps prepares deployment', agents: ['Backend', 'Frontend', 'DevOps'] }, { name: 'Validation', description: 'QA runs tests, Security scans vulnerabilities, Code Review validates quality', agents: ['QA', 'Security', 'Reviewer'] }, { name: 'Documentation', description: 'Documentation Agent updates all materials, API docs, and usage guides', agents: ['Docs'] }, { name: 'Learning', description: 'Knowledge Manager extracts rules and stores experiences for future tasks', agents: ['Knowledge'] }, ]; return (
{/* Workflow Overview */}

Workflow Pipeline

Autonomous execution from planning to learning

{phases.map((phase, index) => { const isActive = currentPhase === index; const isDone = simulation ? index < simulation.phases?.length : currentPhase > index; const isPending = currentPhase < index && !simulation; return (
{/* Connector Line */} {index < phases.length - 1 && (
)}
{/* Phase Icon */}
{isDone ? 'โœ…' : phaseIcons[phase.name]}
{/* Phase Content */}

{phase.name}

Step {index + 1}

{phase.description}

{phase.agents.map(agent => ( {agent} ))}
{/* Status Indicator */}
{isActive && (
)} {isDone && (
)} {isPending && (
)}
); })}
{/* Architecture Diagram */}

System Architecture

๐Ÿ“ก

Input Layer

Task reception & parsing

๐Ÿง 

Processing Layer

Agent orchestration & execution

๐Ÿ“ฆ

Output Layer

Validated deliverables

{[ { icon: '๐Ÿ”„', label: 'Orchestrator', color: 'text-indigo-400' }, { icon: '๐Ÿ’พ', label: 'Knowledge DB', color: 'text-violet-400' }, { icon: '๐Ÿ“Š', label: 'Metrics', color: 'text-cyan-400' }, { icon: '๐Ÿ”', label: 'Security Gate', color: 'text-red-400' }, ].map(item => (
{item.icon}
{item.label}
))}
); }