You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This analysis reversed the typical validation approach by inferring what the schema SHOULD be from actual workflow usage (124 production workflows), then comparing to the declared schema. This "reality-first" perspective revealed dead schema fields, undocumented patterns, and structural inconsistencies invisible to traditional top-down validation.
Key Statistics:
Workflows Analyzed: 124
Unique Fields Found: 528 (including nested paths)
Top-Level Fields: 29 actively used
Schema Fields: 39 defined
Critical Findings: 5
Moderate Findings: 8
Full Report
Critical Issues
1. Fourteen Dead Schema Fields (0% Adoption)
The following fields are defined in main_workflow_schema.json but have zero usage across all 124 production workflows:
Field
Status
Notes
command
Dead
Never used
container
Dead
Top-level unused (but nested mcp-servers.*.container IS used)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Schema Consistency Check - December 25, 2025
Overview
This analysis reversed the typical validation approach by inferring what the schema SHOULD be from actual workflow usage (124 production workflows), then comparing to the declared schema. This "reality-first" perspective revealed dead schema fields, undocumented patterns, and structural inconsistencies invisible to traditional top-down validation.
Key Statistics:
Full Report
Critical Issues
1. Fourteen Dead Schema Fields (0% Adoption)
The following fields are defined in
main_workflow_schema.jsonbut have zero usage across all 124 production workflows:commandcontainermcp-servers.*.containerIS used)environmentgithub-tokengithubActionsSteplabelsmetadatarun-nameruntimessafe-inputssecret-maskingservicestimeout_minutestimeout-minutes, never usedImpact: Schema bloat, maintenance burden, false advertised capabilities
Recommendation: Deprecate unused fields or document why they exist (future use, backwards compatibility)
2. Schema Validates 'on: daily' Despite Being Invalid GitHub Event
Finding: 6 workflows successfully use
on: dailyas a string value:Schema Allows This: Confirmed in schema oneOf string pattern:
{ "type": "string", "description": "... schedule shorthand (e.g., 'daily', 'weekly') ...", "examples": ["daily", "/my-bot"] }Status: ✅ Not a bug - 'daily' is a documented shorthand that expands during parsing
However: This is a non-standard extension to GitHub Actions syntax that should be prominently documented as gh-aw-specific
3. MCP-Servers Structural Ambiguity
Issue:
mcp-serversdefined at schema top level but never used as top-level fieldReality: Used as nested property under tools configuration:
Schema Status: Field exists at top level in schema (verified)
Impact: Schema structure doesn't reflect actual usage patterns. IDE autocomplete might suggest top-level usage that doesn't work.
Recommendation: Either move definition to tools context or document top-level vs nested usage
4. Jobs + Steps Co-Existence Unclear
Finding: 3 workflows use BOTH
jobsANDsteps:Schema: Both fields defined, no apparent mutual exclusion constraints
Question: Are these mutually exclusive in practice? If so, schema validation is missing.
Recommendation: Clarify relationship and add validation if needed
5. Engine Empty Value Pattern (16% of Workflows)
Finding: 19 workflows (16%) have empty engine values
Breakdown:
copilot: 71 workflows (57%)claude: 27 workflows (22%)codex: 8 workflows (6%)Question: Is empty engine valid? What's the default behavior?
Recommendation: Document default engine behavior in schema description
Moderate Issues
6. Tools + Safe-Outputs Strong Correlation (95%)
Data:
tools: 119safe-outputs: 118Insight: These fields almost always appear together but schema doesn't indicate relationship
Recommendation: Add schema guidance or make relationship explicit
7. Timeout Range: 5 to 480 Minutes (No Schema Constraints)
Actual Usage:
Schema: No minimum or maximum constraints defined (verified: both null)
Risk: Extremely long timeouts accepted without warning
Recommendation: Add reasonable maximum (e.g., 720 minutes) or document unbounded by design
8. Description Length: No MaxLength Despite 271-Char Usage
Actual Usage:
Schema: No maxLength constraint (verified: null)
Risk: Unbounded descriptions could cause display issues
Recommendation: Add maxLength constraint (e.g., 500) based on actual usage
9. Permissions Polymorphism: 99% Object, 1% String
Schema Design: Allows string OR object via oneOf
Actual Usage:
read-all): 1 workflow (<1%)Status: ✅ Schema correctly supports both, but string usage is rare
10. Roles Field: Array-Only in Practice
Schema Design: Allows string OR array
Actual Usage:
Status: ✅ Schema supports both, but only array used in practice
11. Field Adoption Tiers
Tier 1 - Core Fields (94-105% adoption):
tools(130 uses - 105%)safe-outputs(124 - 100%)on(124 - 100%)permissions(123 - 99%)timeout-minutes(121 - 98%)description(120 - 97%)engine(117 - 94%)Tier 2 - Common (48-78%):
strict(78 - 63%)imports(72 - 58%)network(59 - 48%)Tier 3 - Moderate (15-51%):
name(63)steps(37)tracker-id(29)mcp-servers(20 nested)sandbox(17)Tier 4 - Rare (<9%):
12. Schedule Event Dominance (54%)
On Event Distribution:
schedule: 67 workflows (54%)workflow_dispatch: 29 (23%)slash_command: 11 (9%)Insight: This is an automation-first workflow system, not a typical CI/CD system
13. Workflow Comments Indicate Schema Issues
Several workflows contain comments about schema problems:
Recommendation: Investigate these specific validation failures
Positive Findings
✅ Boolean Consistency (YAML 1.1 Ambiguity Avoided)
true: 212 occurrencesfalse: 45 occurrencesyes/no: 0 occurrencesExcellent: Workflows consistently avoid YAML 1.1 boolean keywords, preventing parser ambiguity
✅ 'on: daily' Documented Shorthand
Schema explicitly supports schedule shorthands - not a bug, but a feature
✅ Polymorphic Fields Work Correctly
permissionsandrolesoneOf patterns validated against real usageRecommendations
Immediate Actions
Short-Term Improvements
Long-Term Considerations
Strategy Performance
Strategy ID: 027
Name: Schema Inference from Real Workflows (Reverse Engineering)
Approach: Infer schema from 124 workflows, compare to declared schema
Findings: 13 categories (5 critical, 8 moderate)
Novel Insights: Yes - revealed dead fields, adoption tiers, structural mismatches
Effectiveness: VERY HIGH
Unique Value: Only strategy that measures schema accuracy against reality rather than validating reality against schema
Recommendation: Use every 6-8 analyses to ensure schema evolves with actual usage patterns
Next Steps
Summary Statistics
References:
Beta Was this translation helpful? Give feedback.
All reactions