[Schema Consistency] 🔍 Schema Consistency Check - YAML Parser Incompatibility Discovered #3786
Closed
Replies: 2 comments 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
1 reply
-
|
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.
-
🔍 Schema Consistency Check - November 13, 2025
Overview
This analysis employed a novel dynamic validation strategy to test schema consistency by programmatically validating production workflows against the JSON Schema. This approach revealed a critical cross-platform incompatibility that affects external validation tooling, IDE plugins, and third-party integrations.
The analysis tested 78 production workflows and discovered that while gh-aw's Go parser handles workflows correctly, standard YAML validation tools universally fail due to YAML 1.1 reserved keyword handling.
Full Analysis Report
Summary
Critical Issues
1. YAML Parser Incompatibility Breaks External Validation 🚨
Severity: CRITICAL
Impact: High - Affects all external tooling and third-party integrations
Problem:
The required
on:field in workflow frontmatter is a YAML 1.1 reserved boolean keyword. This causes a fundamental incompatibility between gh-aw's parser and standard validation tools:on:as boolean keyTrue:on:as string key"on"Evidence:
Testing Results:
on:field"Additional properties are not allowed (True was unexpected)""on", PyYAML provides propertyTrueImpact on Ecosystem:
Root Cause:
YAML 1.1 specification defines these as boolean values:
on,off(literal English)yes,no(literal English)true,false(literal English)y,n(abbreviations)YAML 1.2 removed most of these, keeping only
true/false, but:Files Affected:
pkg/parser/schemas/main_workflow_schema.json- Definesonas required property (line 4).github/workflows/*.mdDocumentation Gaps
2. Validation Documentation Missing Parser Requirements
Severity: MEDIUM
Impact: Medium - Users and tool developers unaware of limitations
Problem:
The documentation extensively covers validation but never mentions:
Affected Documentation:
docs/src/content/docs/troubleshooting/validation-timing.md
docs/src/content/docs/reference/frontmatter.md
on:trigger syntaxon:without quotesMissing entirely:
3. Missing External Validation Tooling
Severity: MEDIUM
Impact: Medium - Limits ecosystem development
Problem:
No official tooling exists for external validation:
Impact:
Positive Findings
4. Schema Field Coverage Excellent
Severity: INFO
Impact: Low - Confirms schema accuracy
Finding: Analysis of 78 production workflows shows excellent field adoption and no obsolete schema fields.
Field Usage Statistics:
Key Insights:
permissions,safe-outputs) have near-universal adoptionimports,network) show healthy usage5. Schema Structure Quality High
Severity: INFO
Impact: Low - Confirms good design practices
Finding: Schema demonstrates excellent JSON Schema Draft 07 usage and structure.
Schema Quality Metrics:
additionalPropertiesconstraints - Very strict typing throughout$defsusage - Good component reusabilityoneOfpatterns - Handles multiple valid structurescampaign)Recommendations
Priority 1: Critical (Immediate Action Required)
1.1 Document YAML Parser Requirements
Action: Add parser compatibility section to validation-timing.md
Rationale: Users and tool developers need to understand why external validation fails
Implementation:
Owner: Documentation team
Effort: 1-2 hours
Impact: High - Reduces confusion and support burden
1.2 Add Schema Metadata Warning
Action: Update main_workflow_schema.json with parser comment
Rationale: Schema consumers need visibility into parser requirements
Implementation:
{ "$schema": "(redacted)", "$comment": "IMPORTANT: This schema requires YAML 1.2 or goccy/go-yaml parser. Standard YAML 1.1 parsers (PyYAML, js-yaml) will fail due to 'on' keyword being treated as boolean.", "type": "object", ... }Owner: Schema maintainer
Effort: 15 minutes
Impact: Medium - Helps external tool developers
1.3 Update Troubleshooting Docs
Action: Add common validation error for "Additional properties (True)"
Rationale: This will be a frequent support issue
Implementation:
gh aw compilefor validationOwner: Documentation team
Effort: 30 minutes
Impact: High - Reduces support tickets
Priority 2: Medium-Term (Next Sprint)
2.1 Create Docker-Based Validator
Action: Publish official Docker image with validation command
Rationale: Enables external validation without Go installation
Usage:
Owner: DevOps team
Effort: 4-8 hours
Impact: High - Enables ecosystem tooling
2.2 Add JSON Output Format
Action: Implement
--format jsonflag for validation resultsRationale: CI/CD systems need machine-readable validation output
Implementation:
Owner: CLI team
Effort: 4-8 hours
Impact: Medium - Improves CI/CD integration
Strategy Performance
Key Insight:
Testing Artifacts
All testing artifacts saved to
/tmp/gh-aw/cache-memory/:validate_workflows.py- Python validation scriptvalidation_results.json- Full validation resultstest_go_yaml.go- Go parser testsample_frontmatter.yaml- Test YAML samplefindings_summary.md- Detailed findingsanalyze_findings.sh- Analysis scriptsQuick Reference
Critical Action Required:
Medium Priority:
For Tool Developers:
Beta Was this translation helpful? Give feedback.
All reactions