[Quality] Workflow Compilation Developer Experience - Nov 17, 2025 #4197
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it was created by an agentic workflow more than 1 week ago. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
🎯 Repository Quality Improvement Report - Workflow Compilation Developer Experience
Analysis Date: 2025-11-17
Focus Area: Workflow Compilation Developer Experience
Strategy Type: Custom (60% probability)
Custom Area: Yes - This focus area is unique to gh-aw's core function of compiling markdown workflows to GitHub Actions YAML files
Executive Summary
The workflow compilation system in gh-aw is the central developer touchpoint - it's where users validate their agentic workflows before deployment. Analysis of 118 markdown workflows and the compilation infrastructure reveals a robust validation system with 40 validation files and comprehensive error messages (17% include examples). However, the developer experience during compilation lacks key feedback mechanisms that would significantly improve iterative workflow development.
Key Findings: While the compilation system successfully validates workflows and produces helpful error messages, developers lack visibility into compilation performance (no time metrics), progress feedback during batch operations (no incremental status), and actionable summaries (no validation type breakdown). With 118 workflows in this repository alone, batch compilation and watch mode are critical workflows that need UX improvements.
Full Analysis Report
Focus Area: Workflow Compilation Developer Experience
Current State Assessment
The workflow compilation developer experience encompasses the entire lifecycle of converting markdown workflow definitions (
.mdfiles) to GitHub Actions YAML (.lock.ymlfiles). This includes validation, error reporting, progress feedback, and iterative development support.Metrics Collected:
Findings
Strengths
--no-emit(validation only),--verbose, and watch modeAreas for Improvement
No Performance Visibility ❌ Critical
Limited Progress Feedback⚠️ High
Basic Compilation Summary⚠️ Medium
Compiled X workflow(s): Y error(s), Z warning(s)Incomplete Error Context⚠️ Medium
Watch Mode Limited to Single File⚠️ Low
Detailed Analysis
1. Performance Visibility Gap
Current State: No compilation time tracking exists in the codebase. The
printCompilationSummaryfunction reports counts but no duration.Impact:
Evidence:
2. Progress Feedback During Batch Operations
Current State: The compilation loop processes files silently until completion:
Impact:
3. Compilation Summary Lacks Detail
Current State: Summary shows basic counts:
Missing Information:
Opportunity: Enhanced summary like:
4. Watch Mode Single-File Limitation
Current State:
Impact:
🤖 Tasks for Copilot Agent
NOTE TO PLANNER AGENT: The following tasks are designed for GitHub Copilot agent execution. Please split these into individual work items for Claude to process.
Improvement Tasks
The following code regions and tasks should be processed by the Copilot agent. Each section is marked for easy identification by the planner agent.
Task 1: Add Compilation Time Tracking and Reporting
Priority: High
Estimated Effort: Medium
Focus Area: Performance Visibility
Description:
Add per-workflow and total compilation time tracking to provide developers with performance insights. Track compilation start/end times, calculate durations, and display them in the compilation summary. This helps identify slow workflows and provides data for optimization efforts.
Acceptance Criteria:
Code Region:
pkg/cli/compile_command.go(CompilationStats struct, compilation loop, printCompilationSummary function)Task 2: Add Real-Time Progress Feedback for Batch Compilation
Priority: High
Estimated Effort: Small
Focus Area: Developer Experience
Description:
During batch compilation of multiple workflows, show incremental progress with current file index, total count, and workflow name being processed. This provides feedback that compilation is progressing and helps developers understand which workflow might be slow.
Acceptance Criteria:
Code Region:
pkg/cli/compile_command.go(batch compilation loop)Compiling [45/118] copilot-session-insights.md...
✓ Successfully compiled 118 workflow files
Task 3: Enhance Compilation Summary with Validation Breakdown
Priority: Medium
Estimated Effort: Medium
Focus Area: Developer Feedback
Description:
Extend the compilation summary to show a breakdown of validation stages (schema validation, expression safety, container validation, MCP config, etc.) with pass/fail counts and optional time metrics. This helps developers understand what validations are running and where issues might be.
Acceptance Criteria:
Code Region:
pkg/cli/compile_command.go(CompilationStats struct, printCompilationSummary function),pkg/workflow/compiler.go(validation stages)Identify key validation stages to track:
Update printCompilationSummary to show breakdown:
Show validation breakdown only when:
Follow existing validation patterns in pkg/workflow/ and use console formatting for output.
After batch compilation completes, show error summary:
Ensure all validation errors include file context:
Preserve existing behavior:
Follow error handling patterns in compile_command.go and use console.FormatErrorMessage for formatting.
Remove single-file limitation and implement directory watching:
On file change event:
Initial watch mode message:
Handle edge cases:
Maintain backward compatibility:
gh aw compile workflow.md --watch(watch only that file)gh aw compile --watch(watch all files in directory)Use existing watch mode patterns and fsnotify library if available. Follow console formatting conventions for output.
Beta Was this translation helpful? Give feedback.
All reactions