Skip to content

[EPIC] Agent Orchestration Tab #6939

@h0lybyte

Description

@h0lybyte

Agent Orchestration Tab

Goal

Add a third tab to DevOps Settings called "Orchestration" that provides a unified pipeline view of the Issue → Agent → PR workflow, serving as the central command center for managing automated development work.

Work Repository: KBVE/Handy

Success Metrics

  • Pipeline visibility: Can see all active work at a glance
  • Issue assignment: Can assign agents to issues from one place
  • PR traceability: Every PR links back to its originating issue
  • Reduced context switching between tabs
  • Successful dogfooding: Use this Epic to test the DevOps ecosystem

Phases

Phase 1: Core Infrastructure

Build backend infrastructure for pipeline state tracking and issue assignment flow. - Create PipelineItem struct linking issue → session → worktree → PR - Add list_pipeline_items command to aggregate current state - Add get_pipeline_history command for completed items - Store pipeline state in persistent storage - Add assign_issue_to_agent command (creates worktree, spawns tmux session) - Add skip_issue command (removes agent-todo label, adds agent-skipped) - Detect when agent creates a PR and auto-link to pipeline item - Track PR status (draft, ready, needs-review, approved, merged) - src-tauri/src/devops/pipeline.rs (new) - src-tauri/src/devops/orchestration.rs (new) - src-tauri/src/commands/devops.rs (add commands)

Approach: agent-assisted
Status: 🔄 In Progress (0/3 issues)

Phase 2: Frontend - Orchestration Tab

Build the Orchestration tab UI with three sections: Active Pipeline, Queued Issues, and Completed Work. - Add "Orchestration" tab to DevOpsLayout - Create OrchestrationTab component - Create ActivePipeline component with flow visualization (Issue → Session → PR) - Show agent type, duration, and status - Add action buttons (View Session, Cancel, Complete) - Create QueuedIssues component with agent selection dropdown - Add Assign and Skip buttons for issues - Create CompletedWork component showing merged PRs with linked issues - src/components/settings/devops/DevOpsLayout.tsx - src/components/settings/devops/OrchestrationTab.tsx (new) - src/components/settings/devops/orchestration/ActivePipeline.tsx (new) - src/components/settings/devops/orchestration/PipelineCard.tsx (new) - src/components/settings/devops/orchestration/QueuedIssues.tsx (new) - src/components/settings/devops/orchestration/IssueCard.tsx (new) - src/components/settings/devops/orchestration/CompletedWork.tsx (new)

Approach: agent-assisted
Status: 🔄 In Progress (0/1 issues)

Phase 3: Store Integration

Create Zustand store for pipeline state management and integrate with existing DevOps store. - Create pipelineStore.ts with Zustand - Track active pipeline items - Track queued issues - Track completed history - Implement polling for updates (or event-driven) - Integrate pipeline state with existing devopsStore - Ensure sessions and pipeline stay in sync - src/stores/pipelineStore.ts (new) - src/stores/devopsStore.ts (update)

Approach: agent-assisted
Status: ⏸️ Not Started

Phase 4: Polish & Integration

Add real-time updates, error handling, and translations. - Add Tauri events for pipeline state changes - Update UI reactively when state changes - Handle agent failures gracefully - Allow retry/reassign on failure - Show error state in pipeline card - Add all i18n keys for Orchestration tab - Update translation.json for en/es/fr/vi - src/i18n/locales/*/translation.json

Approach: agent-assisted
Status: ⏸️ Not Started

Progress

0/4 sub-issues completed (0%)

Notes

Created via Handy DevOps Epic Workflow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions