[Schema Consistency] Schema Consistency Audit - February 2026 #14066
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-02-13T06:44:57.228Z.
|
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.
-
Summary
Comprehensive analysis of schema consistency across main_workflow_schema.json, implementation code (pkg/parser & pkg/workflow), documentation (docs/), and actual workflows (.github/workflows/).
Key Findings
✅ Schema Structure: Well-defined with 40 top-level properties
⚠️ Documentation Gaps: 3 major undocumented features
⚠️ Deprecated Fields: Still present in schema (correctly marked)
⚠️ Field Coverage: Many schema fields accessed via struct fields rather than direct frontmatter access (expected behavior)
✅ Type Consistency: Implementation aligns with schema definitions
Critical Findings
1. Undocumented Schema Features
Impact: Users cannot discover or properly configure these features
plugins:Configurationpkg/workflow/compiler_orchestrator_tools.go✓docs/src/content/docs/reference/frontmatter.md❌Schema Definition:
Recommendation: Add documentation section explaining plugin installation, token resolution, and examples.
runtimes:ConfigurationSchema Definition:
Recommendation: Document runtime override capabilities with examples for common use cases.
labels:Configuration2. Deprecated Field:
timeout_minutesStatus: Correctly marked as deprecated in schema
timeout_minutes(underscore) as deprecatedtimeout-minutes(hyphen)timeout-minutesEvidence from code (
pkg/workflow/compiler_orchestrator_workflow.go):Real Workflow Usage: All checked workflows use
timeout-minutes(correct form) ✓Recommendation: Consider removing deprecated field in next major version after deprecation period.
3. Schema Field Coverage Pattern
Finding: Many schema fields not accessed via
frontmatter["field"]patternSchema fields not in direct frontmatter access:
cachecommandconcurrencycontainerenvenvironmentimportsjobsmetadatapost-stepsrun-nameruns-onsecretsservicesstepsstrictAnalysis: This is expected behavior, not an inconsistency:
EngineConfig,ToolsConfig)Evidence: Struct-based parsing in
pkg/workflow/cache.go:Documentation (
frontmatter.md:165-186):Lists all 6 enforcement areas correctly ✓
Status: Documentation matches schema ✓
Schema Structure Analysis
6. Engine Configuration Complexity
Schema: Supports both simple string and complex object formats
Implementation:
pkg/workflow/engine.go:73-150correctly handles both ✓Type Handling: Version field accepts string or number (schema line 23-31):
Code Validation (
engine.go:96-99):Status: Proper type coercion implemented ✓
7. Network Permissions Architecture
Schema Structure:
network.allowed: Array of domains or ecosystem identifiersnetwork.blocked: Array of blocked domains (precedence over allowed)Implementation (
engine.go:30-65):Documentation (
frontmatter.mdreferences network configuration):Recommendation: Cross-reference to dedicated network configuration documentation for full details.
8. Safe Outputs Validation
Schema: Defines 30+ safe output types (line 3736 comment lists them all)
Example from schema:
create-issue,create-discussion,create-pull-requestadd-comment,add-labels,add-reviewerupdate-issue,update-discussion,update-pull-requestReal Workflow Usage:
Status: Schema comprehensive, implementation matches, workflows use correctly ✓
Recommendations
High Priority
Document
plugins:configurationdocs/src/content/docs/reference/frontmatter.mdDocument
runtimes:configurationdocs/src/content/docs/reference/frontmatter.mdMedium Priority
Consider removing
timeout_minutes(deprecated)Add cross-references in documentation
Low Priority
Strategy Performance
Approach Used: Hybrid Semantic Field Coverage Analysis
Components:
jq -r '.properties | keys[]'grep -rh 'yaml:"[^"]*"'grep -rh 'frontmatter\["[^"]*"\]'Effectiveness: ⭐⭐⭐⭐⭐ (5/5)
Findings: 8 distinct categories analyzed
Should Reuse: ✅ YES - Comprehensive and efficient
Future Improvements:
Next Steps
plugins:section to frontmatter documentationruntimes:section to frontmatter documentationtimeout_minutesremovalMethodology Notes
Analysis Strategy: Day 37 → 37 % 10 = 7 → Try new approach (30% exploration window)
New Approach Developed:
Cache Memory:
/tmp/gh-aw/cache-memory/strategies.jsonReferences:
pkg/parser/schemas/main_workflow_schema.jsonpkg/workflow/*.go(150+ files)docs/src/content/docs/reference/frontmatter.md.github/workflows/*.mdBeta Was this translation helpful? Give feedback.
All reactions