[Schema Consistency] Schema Consistency Check - 3 Critical Documentation Gaps Found #10151
Replies: 1 comment 1 reply
-
|
/plan |
Beta Was this translation helpful? Give feedback.
1 reply
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 - 2026-01-15
Overview
Executed Strategy-004: Cross-Schema Consistency & Type Analysis comparing main_workflow_schema.json, included_file_schema.json, and mcp_config_schema.json. Found 3 critical schema inconsistencies that reveal undocumented design decisions in the security model between main workflows and included files.
Key Finding: All three critical issues appear to be intentional security restrictions for included files, but they lack any schema documentation ($comments) or reference documentation explaining the design philosophy.
Full Report
Critical Issues
1. MCP Tool Configuration Structure Mismatch 🔴
Severity: Critical - Security Model Documentation Gap
Location:
tools.additionalPropertiesstructure differs between schemasMain schema provides full MCP configuration with 11 properties:
command,args,env,mode,type,versiontoolsets,url,headers,container,entrypointArgsIncluded schema provides simplified configuration with only 2 properties:
mcp(reference to MCP server)allowed(permission list)Impact:
Recommendation:
Files:
pkg/parser/schemas/main_workflow_schema.json:tools.additionalPropertiespkg/parser/schemas/included_file_schema.json:tools.additionalProperties2. engine.command Property Missing from Included Schema 🔴
Severity: Critical - Capability Restriction Undocumented
Location:
$defs.engine_config.oneOf[1].propertiesThe
engine.commandproperty exists in main schema but is completely absent from included schema.Main schema definition:
Included schema: Property does not exist (12 properties vs 11 in included)
Impact:
Recommendation:
docs/reference/frontmatter.mdwhich engine properties work in included vs mainFiles:
pkg/parser/schemas/main_workflow_schema.json:$defs.engine_configpkg/parser/schemas/included_file_schema.json:$defs.engine_config3. Required Field Inconsistency: 'on' Field 🔴
Severity: Critical - Semantic Difference Undocumented
Location: Top-level
requiredarrayMain schema:
required: ['on']- trigger field is mandatoryIncluded schema:
required: []- no required fieldsAnalysis:
onfield required)applyTopatterns, not triggersImpact:
Recommendation:
Files:
pkg/parser/schemas/main_workflow_schema.json:requiredpkg/parser/schemas/included_file_schema.json:requiredArchitectural Insights
Design Philosophy: Main vs Included
The analysis reveals a clear but undocumented design pattern:
Main workflows (38 properties):
on,command,ifjobs,concurrency,importsgithub-token,roles,strictcache,sandbox,featuresIncluded files (15 properties):
applyTo,inputsProperty Breakdown:
description,engine,mcp-servers,metadata,network,permissions,runtimes,safe-inputs,safe-outputs,secret-masking,services,steps,toolsbots,cache,command,concurrency,container,env,environment,features,github-token,if,imports,jobs,labels,name,on,post-steps,roles,run-name,runs-on,sandbox,source,strict,timeout-minutes,timeout_minutes,tracker-idapplyTo,inputsProblem: This design philosophy exists in practice but is not documented anywhere.
additionalProperties Discipline
Positive finding: Both schemas maintain excellent discipline:
additionalProperties: falseadditionalProperties: falseThis prevents typos and invalid properties through strict validation.
Documentation Gaps
1. Missing Schema Design Documentation
Needed:
docs/src/content/docs/reference/schema-design.mdShould explain:
2. Missing Inline Schema Documentation
Needed: $comment fields in schemas explaining:
3. Missing Reference Documentation
Needed: Update
docs/src/content/docs/reference/frontmatter.mdAdd section: "Main Workflows vs Included Files"
Recommendations
High Priority (Immediate)
Medium Priority (This Sprint)
schema-design.mddocumentation pagefrontmatter.mdwith main vs included comparison tableLow Priority (Backlog)
Positive Findings ✅
Strategy Performance
Comparison to Previous Run (2026-01-11):
Analysis Methodology
Tools Used:
Summary Statistics
Next Action: Add inline $comment documentation to schemas explaining intentional differences and update reference documentation with main vs included comparison guide.
References:
Beta Was this translation helpful? Give feedback.
All reactions