Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Dec 22, 2025

Fix Workflow Health Dashboard False Positive - Issue #7105

  • Analyze the reported 48 missing lock files
  • Verify the compilation system behavior
  • Review documentation on shared includes
  • Update workflow health dashboard to exclude shared files
  • Test changes and recompile workflow
  • Verify final state and document findings

Issue Summary

The Workflow Health Dashboard (issue #7105) incorrectly reported 48 missing lock files as a P0 critical issue, claiming that 28% of workflows cannot execute. This was a false positive.

Root Cause Analysis

The "missing" files are shared include files, not standalone workflows:

  • All 46 files without lock files are in .github/workflows/shared/ directory
  • 2 files in that directory DO have lock files (arxiv.md, context7.md) - likely pre-compiled for performance optimization
  • These shared files are reusable components imported by other workflows using:
    • imports: field in frontmatter
    • {{#import ...}} directive in markdown content

The compile system intentionally excludes subdirectories:

  • gh aw compile only processes *.md files in the root .github/workflows/ directory
  • Shared include files are NOT meant to be standalone executable workflows
  • This behavior is by design and documented in Imports reference

Actual State

Executable Workflows:

  • Total: 120 markdown workflows
  • Compiled: 120 lock files (100% coverage ✅)
  • Missing lock files: 0

Shared Include Files (intentionally uncompiled):

  • Total: 48 shared include files
  • With lock files: 2 (optional pre-compilation for performance)
  • Without lock files: 46 (expected and correct behavior)

Changes Made

Updated .github/workflows/workflow-health-manager.md:

  1. Added prominent warning section explaining that shared files should be excluded:

    ## Important Note: Shared Include Files
    
    **DO NOT** report `.md` files in the `.github/workflows/shared/` directory as missing lock files.
    These are reusable workflow components (imports) that are included by other workflows using the
    `imports:` field or `{{#import ...}}` directive. They are **intentionally not compiled** as
    standalone workflows.
  2. Updated discovery instructions to exclude shared directory:

    • "Scan .github/workflows/ for all .md workflow files"
    • "EXCLUDE files in .github/workflows/shared/ subdirectory"
  3. Updated compilation checks to only verify executable workflows:

    • "Verify each executable workflow has a corresponding .lock.yml file"
    • "EXCLUDE shared include files in .github/workflows/shared/"
  4. Updated workflow phases to skip shared files:

    • "List all .md files in .github/workflows/ (excluding shared/ subdirectory)"
    • "For each executable .md file, verify .lock.yml exists"
    • "SKIP files in .github/workflows/shared/ directory"

Lock File Updates

The commit includes updated lock files for 32 workflows. These were regenerated during compilation and include:

  • Updated action version comments (e.g., v5v5.0.1)
  • Refreshed action cache metadata
  • No functional changes to workflow behavior

This is expected behavior per AGENTS.md: "ALWAYS RUN RECOMPILE BEFORE COMMITTING CHANGES"

Verification

✅ Workflow recompiled successfully with --validate flag
✅ All unit tests pass
✅ No breaking changes to compilation logic
✅ Verified 120/120 executable workflows have lock files (100%)
✅ Verified 46/48 shared files intentionally lack lock files

Expected Outcome

The next run of Workflow Health Manager will:

  • Report 120 total executable workflows (not 168)
  • Report 0 missing lock files (not 48)
  • Exclude shared include files from compilation checks
  • Accurately assess repository health at 100% compilation coverage
Original prompt

This section details on the original issue you should resolve

<issue_title>📊 Workflow Health Dashboard - 2025-12-21</issue_title>
<issue_description># Workflow Health Dashboard - December 21, 2025

Last updated: 2025-12-21T02:54:37Z
Next check: 2025-12-22T02:54:37Z (Daily)

Overview

  • Total workflows: 171
  • Compiled (with .lock.yml): 123 (72%)
  • Missing lock files: 48 (28%)
  • With safe-outputs: 128+ (75%)
  • Scheduled workflows: 3 meta-orchestrators + many daily/hourly

Workflow Distribution

By Type:

  • Regular agentic workflows: ~165
  • Campaign orchestrators (.campaign.g.md): 2
  • Campaign specs (.campaign.md): 2
  • Shared includes (/shared/): Multiple support files
  • Meta-orchestrators: 3 (Workflow Health Manager, Campaign Manager, Agent Performance Analyzer)

By Engine:

  • Copilot: ~80 workflows (majority)
  • Claude: ~30 workflows
  • Codex: ~10 workflows
  • Custom/Other: ~5 workflows
  • Unspecified engine: ~46 workflows

By Safe Outputs:

  • With safe-outputs configured: 128+ workflows (75%)
  • These workflows can create issues, PRs, comments, discussions

Critical Issues 🚨

Issue #7105: Missing Compiled Lock Files (P0)

  • Status: 48 workflows (28%) cannot execute - missing .lock.yml files
  • Error: Workflows need compilation from .md to .lock.yml to run
  • Impact:
    • Nearly 1/3 of workflows non-functional
    • Campaign specs may be blocked
    • Gaps in automation coverage
  • Action: Issue 🚨 P0: 48 Workflows Missing Compiled Lock Files #7105 created with detailed analysis
  • Priority: P0 - Critical

Known Missing Lock Files:

  1. go-file-size-reduction.campaign.md - Campaign specification
  2. go-file-size-reduction-project64.campaign.md - Campaign specification

Note: Some may be intentionally uncompiled (templates, specs, shared includes)

Warnings ⚠️

Warning: Cannot Access GitHub API

Issue: The gh CLI is not authenticated in this environment

  • Impact: Cannot query workflow run history, success rates, or error patterns
  • Limitation: Health assessment based on static analysis only
  • Recommendation: Future runs should use GitHub MCP server with authentication to:
    • Query workflow run statuses
    • Analyze failure patterns
    • Calculate success rates
    • Identify cascading failures

Warning: Limited Runtime Metrics

Issue: Unable to gather runtime performance data

  • Cannot measure execution times
  • Cannot track API quota usage
  • Cannot identify timeout-prone workflows
  • Cannot calculate MTBF (Mean Time Between Failures)

Healthy Patterns ✅

Strong Safe Output Adoption

  • 128+ workflows (75%) use safe-outputs system
  • Workflows properly constrained with max limits
  • Good separation between staged and production operations
  • Examples:
    • workflow-health-manager.md: 10 create-issue, 15 add-comment, 5 update-issue
    • campaign-manager.md: 5 create-issue, 10 add-comment, 3 create-discussion, 20 update-project
    • agent-performance-analyzer.md: 5 create-issue, 2 create-discussion, 10 add-comment

Meta-Orchestrator Architecture

3 coordinating meta-orchestrators with shared memory:

  1. Workflow Health Manager (this workflow)

    • Monitors all workflows
    • Tracks compilation status
    • Creates maintenance issues
  2. Campaign Manager

    • Oversees active campaigns
    • Manages campaign project boards
    • Coordinates campaign workflows
  3. Agent Performance Analyzer

    • Analyzes agent output quality
    • Detects behavior patterns
    • Recommends improvements

Shared memory: /tmp/gh-aw/repo-memory-default/memory/meta-orchestrators/

  • Enables cross-orchestrator coordination
  • Prevents duplicate issues
  • Shares insights and alerts

Good Engine Diversity

  • Copilot majority (~47%): Fast, integrated, GitHub-native
  • Claude presence (~18%): Complex reasoning, analysis tasks
  • Codex available (~6%): Specialized code tasks
  • Custom support (~3%): Extensibility for future needs

Systemic Issues

Issue: Incomplete Compilation Coverage

  • Affected workflows: 48 workflows without .lock.yml files
  • Pattern: Nearly 30% of workflows not compiled
  • Root cause candidates:
    • Build process not run after file additions
    • Compilation errors not caught in development
    • Campaign specs intentionally left uncompiled
    • Shared includes don't need compilation
  • Recommendation:
    1. Run make recompile to regenerate all lock files
    2. Add CI check to detect missing lock files
    3. Document which workflows are specs vs. executables
    4. Implement pre-commit hook for automatic compilation
  • Action: Tracked in issue 🚨 P0: 48 Workflows Missing Compiled Lock Files #7105

Issue: No Runtime Monitoring Available

  • Affected workflows: All 171 workflows
  • Pattern: Cannot access workflow run history via gh CLI
  • Impact:
    • No failure rate tracking
    • No performance metrics
    • No error pattern analysis
    • No cascading failure detection
      -...

💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

…mpilation checks

Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com>
@pelikhan pelikhan marked this pull request as ready for review December 22, 2025 07:14
@pelikhan pelikhan merged commit 4e339d8 into main Dec 22, 2025
4 checks passed
@pelikhan pelikhan deleted the copilot/update-workflow-health-dashboard branch December 22, 2025 07:14
Copilot AI requested a review from mnkiefer December 22, 2025 07:14
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.

📊 Workflow Health Dashboard - 2025-12-21

3 participants