[Schema Consistency] 🔍 Schema Consistency Analysis - Oct 29, 2025: Type Unions & Default Values #2712
Closed
Replies: 2 comments 1 reply
-
|
/plan create issue for task 3 |
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 month 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 - 2025-10-29
Executive Summary
Analyzed schema consistency across 86 workflows, 341 compiler files, 3 schemas, and 14 documentation files. Found 6 categories of inconsistencies with a focus on type union validation quality and schema completeness.
Key Finding: The codebase is generally well-structured with excellent backwards compatibility, but has critical gaps in schema documentation (missing defaults, dead code) and inconsistent validation quality for complex type unions.
Critical Issues
🚨 1. Dead Code:
githubActionsStepFieldStatus: CONFIRMED UNUSED (3rd consecutive analysis)
Recommendation: REMOVE from schema or document intent for future use
This has been flagged in 3 consecutive analyses with no action taken.
🔴 2. Type Union Validation Quality Varies
13 fields with complex type unions (oneOf/anyOf):
Well-validated ✅:
on: string | objectpermissions: string | objectnetwork: string | objectroles: string | arrayValidation gaps⚠️ :
bash: null | boolean | array- Previous analyses found boolean handling issuescache-memory: boolean | null | object | array- Complex fallthrough logicImpact: Not all type variants have equal validation. Some may accept values that don't behave as expected.
📋 3. Schema Missing Default Value Annotations
Finding: Schema defines ZERO default values at top level
However, compiler implements defaults:
timeout_minutes: 15(confirmed in tests)engine: "claude"(described but not as default)Impact: Schema doesn't fully document runtime behavior. Users can't rely on schema alone.
Recommendation: Add JSON Schema
defaultproperty:{ "engine": { "default": "claude", "$ref": "#/$defs/engine_config" }, "timeout_minutes": { "type": "integer", "default": 15, "description": "..." } }4. Backwards Compatibility Not Schema-Documented ✅
Finding:
safe-jobsmigration is excellently implemented in code:✅ Accepts both old and new locations
✅ Merges configurations properly
✅ Handles imports/includes
Gap: Schema only defines
safe-outputs.jobs, not oldsafe-jobsCurrent Usage: 0 workflows use old syntax (migration complete!)
Recommendation: Consider:
deprecated: trueannotation to document it📝 5. Missing Descriptions
Fields without descriptions:
runs-on- Shows "NO DESC" but is fundamental GHA propertyconcurrency- Shows "NO DESC"Both are standard GitHub Actions fields, but schema should describe them.
Positive Findings ✅
Documentation Status
Well-Documented ✅
Gaps
Recommendations
🔥 Immediate (High Priority)
DECIDE on githubActionsStep
ADD default values to schema:
ADD descriptions for runs-on and concurrency
📊 Short-term (Next Sprint)
🔮 Long-term
Metrics
Strategy Used
Strategy-011: Type Union Consistency & Default Value Analysis
A variation of proven field enumeration, specifically focusing on:
Effectiveness: VERY HIGH - Revealed validation quality differences invisible to other strategies
Files Analyzed
Schemas: main_workflow_schema.json, included_file_schema.json, mcp_config_schema.json
Compiler: Selected from 341 files including compiler.go, cache.go, github_token.go, strict_mode.go, safe_jobs.go
Documentation: All 14 reference/.md files
Workflows: All 86 .github/workflows/.md files
Next Actions
Full detailed report: Available in cache at
/tmp/gh-aw/cache-memory/consistency-report-2025-10-29.mdAnalysis Date: October 29, 2025
Strategy: #11 (Type Union Consistency)
Workflows Compliant: 86/86 ✅
Beta Was this translation helpful? Give feedback.
All reactions