Add daily workflow for monitoring compiler error message quality#13806
Add daily workflow for monitoring compiler error message quality#13806
Conversation
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
… syntax Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR introduces automated monitoring of compiler error message quality through a new daily workflow. The workflow systematically tests error messages by introducing syntax errors in diverse workflows, evaluating them across five dimensions (clarity, actionability, context, examples, consistency), and creating GitHub issues with specific improvement recommendations when quality falls below defined thresholds.
Changes:
- Adds new daily workflow for testing compiler error message quality with comprehensive evaluation framework
- Implements 100-point scoring system across 5 dimensions to objectively assess error message effectiveness
- Configures safe outputs with automatic issue creation (max 1 issue/run, 3-day expiration, auto-closes older issues)
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/daily-syntax-error-quality.md |
Main workflow definition with detailed instructions for error testing, evaluation criteria, and issue reporting template |
.github/workflows/daily-syntax-error-quality.lock.yml |
Compiled YAML workflow with full job configuration, MCP server setup, and safe outputs handling |
docs/src/content/docs/agent-factory-status.mdx |
Adds new workflow entry to the agent factory status table with badge |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| name: Daily Syntax Error Quality Check | ||
| description: Tests compiler error message quality by introducing syntax errors in workflows, evaluating error clarity, and suggesting improvements | ||
| on: | ||
| schedule: daily |
There was a problem hiding this comment.
The schedule value 'daily' is ambiguous as a configuration value. While it may be valid syntax for this system, it would be clearer to use a standard cron expression or explicitly state that this is a custom keyword that the compiler translates to a randomized daily schedule. The generated lock file shows this becomes '48 1 * * *', but this transformation is not obvious from the source.
| schedule: daily | |
| schedule: | |
| - cron: '48 1 * * *' |
| 1. **Attempt to compile** the modified workflow: | ||
| ```bash | ||
| cd /tmp/syntax-error-tests | ||
| ./gh-aw compile test-1.md 2>&1 | tee test-1-output.txt |
There was a problem hiding this comment.
The compiler executable './gh-aw' is being referenced from '/tmp/syntax-error-tests' directory, but the workflow doesn't include instructions to copy or ensure the compiler binary is available in that directory. The workflow should either reference the compiler with an absolute path (e.g., '${GITHUB_WORKSPACE}/gh-aw') or include instructions to copy it to the test directory.
| ./gh-aw compile test-1.md 2>&1 | tee test-1-output.txt | |
| ${GITHUB_WORKSPACE}/gh-aw compile test-1.md 2>&1 | tee test-1-output.txt |
|
|
||
| ```bash | ||
| # Find candidate workflows | ||
| find .github/workflows -name '*.md' -type f ! -name 'daily-*.md' ! -name '*-test.md' | head -10 |
There was a problem hiding this comment.
The command limits results to 10 workflows with 'head -10', but the instructions state to select 3 workflows. This could be confusing. Consider either changing to 'head -5' for a smaller sample set, or adding a comment explaining why 10 results are shown when only 3 will be selected.
| find .github/workflows -name '*.md' -type f ! -name 'daily-*.md' ! -name '*-test.md' | head -10 | |
| find .github/workflows -name '*.md' -type f ! -name 'daily-*.md' ! -name '*-test.md' | head -5 |
Creates automated testing of compiler error message quality to drive DX improvements.
Implementation
New workflow:
.github/workflows/daily-syntax-error-quality.mdSystematically evaluates error messages by:
Scoring Framework
Quality thresholds:
Example Error Evaluation
Configuration
dx,error-messages,automated-analysisWorkflow ensures error messages answer: What broke? Where? How to fix? Show example?
Original prompt
💡 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.