Files
vikingowl 49531864f1 feat(plan): Add DAG types and validation for Conductor
Phase 1 of Conductor integration - DAG-based plan execution support:

Types:
- Add StepExecutionResult enum (Success, Failed, Skipped, Pending, InProgress)
- Add SkipReason enum for tracking why steps were skipped
- Add PauseReason enum for execution pause states
- Add DagValidationResult enum for validation outcomes

PlanStep extensions:
- Add depends_on: Vec<String> for explicit step dependencies
- Add execution_result: Option<StepExecutionResult> for tracking
- Add retry_count: u8 for failure retry tracking

AccumulatedPlanStatus extensions:
- Add ExecutingParallel { active_count, remaining } variant
- Add Paused(PauseReason) variant
- Add Aborted { reason } variant

DAG validation (Kahn's algorithm):
- validate_dag() returns execution order with parallelism levels
- Detects cycles and missing dependencies
- dependencies_satisfied() checks if step can execute
- get_ready_steps() returns executable steps
- skip_with_dependents() cascades failure through graph

Tests: 12 new DAG validation tests covering chains, parallelism,
diamonds, cycles, missing deps, and skip cascading.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-26 23:23:36 +01:00
..

Owlen UI

A Terminal User Interface (TUI) for the Owlen AI agent, built with Ratatui.

Features

  • Rich Text Rendering: Markdown support with syntax highlighting for code blocks.
  • Interactive Components: Intuitive panels for chat, tool execution, and session status.
  • Real-time Streaming: Smooth display of agent output as it's generated.
  • Task Visualization: Dedicated view for tracking the agent's progress through a task list.

Architecture

The UI is built using an event-driven architecture integrated with the agent-core event stream. It leverages ratatui for terminal rendering and crossterm for event handling.

Components

  • ChatPanel: Displays the conversation history.
  • TaskPanel: Shows the current implementation plan and task status.
  • ToolPanel: Visualizes active tool executions and their output.
  • ModelPicker: Allows selecting between available LLM providers and models.