Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 1, 2026

Adds 6 high-quality visualization charts to the daily-code-metrics workflow, matching the pattern established in daily-issues-report.

Changes

Imports & Configuration

  • Replace shared/trending-charts-simple.mdshared/python-dataviz.md + shared/trends.md
  • Add upload-asset safe-output for chart publishing

Required Charts (300 DPI, 12x7", seaborn styling)

  1. loc_by_language.png - LOC distribution by language (horizontal bar)
  2. top_directories.png - Top 10 directories by LOC with percentages
  3. quality_score_breakdown.png - Quality components: Test 30%, Organization 25%, Docs 20%, Churn 15%, Comments 10%
  4. test_coverage.png - Test vs source LOC comparison with ratios
  5. code_churn.png - Top 10 changed files (7d, diverging bar)
  6. historical_trends.png - 30-day trends: LOC, test coverage %, quality score (multi-line series)

Report Format

  • Chart embedding via asset URLs in discussion body
  • Collapsible details section for metric tables
  • Python script template for data collection and visualization

Example Chart Specification

# Chart 6: Historical Trends
fig, ax = plt.subplots(figsize=(12, 7), dpi=300)
df.plot(y=['loc', 'test_coverage_pct', 'quality_score'], ax=ax)
ax.set_title('Historical Trends (30 Days)', fontsize=16, fontweight='bold')
plt.savefig('/tmp/gh-aw/python/charts/historical_trends.png', 
            dpi=300, bbox_inches='tight')

File Size: 392 lines (+296), lock file 2,215 lines (+900)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/githubnext/gh-aw/actions/artifacts/5004790282/zip
    • Triggering command: /usr/bin/curl curl -L -H Accept: application/vnd.github+json -H Authorization: Bearer -H X-GitHub-Api-Version: 2022-11-28 REDACTED -o /tmp/aw.patch.zip (http block)
  • https://api.github.com/user
    • Triggering command: /usr/bin/gh gh api user --jq .login it/ref/tags/v5 -buildtags 0s -errorsas -ifaceassert -nilfunc /home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.lin--jq -o ithub/workflows -importcfg /usr/bin/git l -w -buildmode=exe git (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login log.showsignature=false t by/804a3f7ea1eee2f4a942edb29dc73fdf1b2e6a418612e952c156d66c063c08d0/log.json -n1 --format=format:--check 46b59b86ff4a /home/REDACTED/go/pkg/mod/golang.org/toolchain@v0.nonexistent-invalid-image-for-testing-12345 c156�� 4328-45940/test-purge-campaign-2173068326/.github/workflows -buildtags (http block)
    • Triggering command: /usr/bin/gh gh api user --jq .login it/ref/tags/v5 --json 8eea5023815439530e8489ee62cacbb31be/log.json --jq .owner.login + "api ux-amd64/pkg/toouser git rev-�� ithub-script/git/ref/tags/v8 ux-amd64/pkg/too-buildtags /usr/bin/gh -json GO111MODULE l/linux_amd64/li"mcp-server-playwright" --help gh (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Add charts and visualization to daily-code-metrics workflow</issue_title>
<issue_description># Q Workflow Optimization Report

Context

This PR addresses @pelikhan's request in discussion #8467 to "add charts and visualization" to the daily-code-metrics workflow, following the pattern from the daily-issues-report workflow.

Issues Found (Analysis)

Daily Code Metrics Workflow

Current State:

  • Uses shared/trending-charts-simple.md for basic chart support
  • Generates text-based reports without visual charts
  • No embedded images in discussion reports
  • Missing asset upload capability for charts

Comparison with Daily Issues Report:

  • Daily issues report uses shared/python-dataviz.md for full Python visualization
  • Generates multiple high-quality charts with matplotlib/seaborn
  • Uploads charts as assets and embeds them in discussions
  • Professional 300 DPI charts with consistent styling

Changes Made

.github/workflows/daily-code-metrics.md

Import Updates:

  • ✅ Replaced shared/trending-charts-simple.md with shared/python-dataviz.md
  • ✅ Added shared/trends.md for trending analysis patterns

New Visualization Section:
Added comprehensive "Data Visualization with Python" section specifying 6 required charts:

  1. loc_by_language.png - Bar chart of LOC distribution by programming language

    • Horizontal bars sorted by LOC
    • Percentage labels
    • Color-coded by language type
  2. top_directories.png - Top 10 directories by LOC

    • Directory paths with LOC counts
    • Percentage of total codebase
  3. quality_score_breakdown.png - Quality score component breakdown

    • Shows Test 30%, Organization 25%, Docs 20%, Churn 15%, Comments 10%
    • Current score vs target visualization
  4. test_coverage.png - Test vs source code comparison

    • Test LOC vs source LOC
    • Test-to-source ratio visualization
  5. code_churn.png - Top 10 most changed files (7 days)

    • Lines added/deleted per file
    • Net change highlighting
  6. historical_trends.png - Multi-line time series

    • LOC, test coverage %, quality score over 30 days
    • Trend lines with multiple y-axes

Chart Quality Standards:

  • DPI: 300 minimum for publication quality
  • Figure size: 12x7 inches (consistent with daily-issues)
  • Seaborn styling with professional color palettes
  • Clear titles, labels, legends, grid lines
  • Save with bbox_inches='tight' for proper cropping

Report Format Updates:

  • Updated discussion structure to embed chart images
  • Instructions for asset upload workflow
  • Markdown image syntax for embedded charts
  • Professional report layout with collapsible details

Python Script Structure:

  • Template for data collection and analysis
  • Chart generation workflow
  • Historical data loading from repo-memory
  • Metrics aggregation and storage

Expected Improvements

User Experience

  • Visual insights: 6 embedded charts make trends immediately visible
  • Professional reports: High-quality visualizations enhance credibility
  • Better comprehension: Charts convey complex metrics at a glance
  • Consistent branding: Matches style of daily-issues-report

Technical Benefits

  • Reusable patterns: Uses established shared workflow imports
  • Maintainable: Python scripts can be cached and reused
  • Asset management: Charts uploaded as GitHub assets for permanent URLs
  • Historical tracking: repo-memory integration for trend analysis

Specific Improvements

  • ✅ Adds 6 high-quality visualization charts
  • ✅ Enables asset upload for embedded images
  • ✅ Provides Python script structure for data analysis
  • ✅ Standardizes report format with visual components
  • ✅ Maintains 15-minute timeout (efficient execution)
  • ✅ Uses professional 300 DPI charts
  • ✅ Follows patterns from daily-issues-report

Validation

Workflow compiled successfully:

✓ .github/workflows/daily-code-metrics.md (94.8 KB)
✓ Compiled 1 workflow(s): 0 error(s), 0 warning(s)

Changes:

  • 1 file modified: .github/workflows/daily-code-metrics.md
  • +179 lines added (chart specifications and documentation)
  • -3 lines removed (replaced import)

Implementation Notes

The workflow now follows the same visualization pattern as daily-issues-report.md:

  1. Shared imports: Uses python-dataviz.md for Python environment setup
  2. Chart generation: Agent creates charts using matplotlib/seaborn
  3. Asset upload: Charts uploaded using upload asset safe-output tool
  4. Report embedding: Chart URLs embedded in markdown discussion

The agent will need to:

  1. Collect code metrics using existing bash commands (cloc, git log, etc.)
  2. Generate Python script to create 6 charts
  3. Upload charts as assets
  4. Create discussion with embedded chart images

References


💡 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.

- Replace trending-charts-simple.md with python-dataviz.md import
- Add shared/trends.md import for trending analysis patterns
- Add upload-asset to safe-outputs for chart asset uploads
- Add comprehensive "Data Visualization with Python" section with 6 required charts:
  1. loc_by_language.png - LOC distribution by language
  2. top_directories.png - Top 10 directories by LOC
  3. quality_score_breakdown.png - Quality score components
  4. test_coverage.png - Test vs source code comparison
  5. code_churn.png - Top 10 most changed files (7 days)
  6. historical_trends.png - Multi-line time series (30 days)
- Add chart quality standards (300 DPI, 12x7 inches, seaborn styling)
- Update report format with embedded chart images and collapsible details
- Add Python script structure for data collection and visualization
- Update guidelines to mention visualization requirements

Workflow compiled successfully: 99.9 KB (from ~70 KB)
File size: 392 lines (from 96 lines), +296 lines added

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add charts and visualization to daily-code-metrics workflow Add Python visualization charts to daily-code-metrics workflow Jan 1, 2026
Copilot AI requested a review from pelikhan January 1, 2026 22:53
@pelikhan pelikhan marked this pull request as ready for review January 1, 2026 22:54
@pelikhan pelikhan merged commit 6767a10 into main Jan 1, 2026
170 checks passed
@pelikhan pelikhan deleted the copilot/add-charts-to-daily-code-metrics branch January 1, 2026 22:56
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.

Add charts and visualization to daily-code-metrics workflow

2 participants