[Schema Consistency] Schema Consistency Check - 2026-01-03 #8801
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.
-
Summary
Strategy Used: Cross-Schema Consistency & Type Analysis (Strategy-004)
Inconsistencies Found: 5 (1 critical, 4 moderate)
New Issues: 0 (all persistent from previous runs)
Status: Regression validation - confirms known issues still present
This analysis compared the three schemas (main_workflow_schema.json, included_file_schema.json, mcp_config_schema.json) to find inconsistencies in type definitions, $defs, field scope, and default values.
Full Report
Critical Issues
1. MCP Version Type Inconsistency (PERSISTENT)
Issue: The
versionfield in MCP tool definitions has inconsistent type definitions across schemas.Evidence:
$defs.stdio_mcp_tool.properties.versionaccepts["string", "number"]$defs.stdio_mcp_tool.properties.versionaccepts["string", "number"]properties.versionaccepts only"string"Implementation Reality: The compiler at
pkg/workflow/mcp_servers.go:getGitHubDockerImageVersion()explicitly handles multiple numeric types:Impact:
mcp_config_schema.jsoncannot use numeric versions (e.g.,version: 20,version: 3.11)Recommendation: Update
mcp_config_schema.jsonto accept["string", "number"]like the other two schemas.File:
pkg/parser/schemas/mcp_config_schema.json:12Moderate Issues
2. stdio_mcp_tool $comment Documentation Missing in Included Schema (PERSISTENT)
Issue: The included schema is missing 780 bytes of validation constraint documentation that exists in the main schema.
Evidence:
$defs.stdio_mcp_tool.$comment:$commentfieldImpact:
Recommendation: Add the same
$commentfield toincluded_file_schema.json$defs.stdio_mcp_toolfor consistency.Files:
pkg/parser/schemas/main_workflow_schema.json(has $comment)pkg/parser/schemas/included_file_schema.json(missing $comment)3. Engine Default Value Missing in Included Schema (PERSISTENT)
Issue: The
enginefield has different default value specifications across schemas.Evidence:
properties.engine.default = "copilot"defaultfield specifiedImpact:
Recommendation: Add
"default": "copilot"toincluded_file_schema.jsonproperties.engineOR document why included files should not have a default engine.Files:
pkg/parser/schemas/main_workflow_schema.json:38(has default)pkg/parser/schemas/included_file_schema.json(no default)4. Safe-Outputs Scope Restriction (INTENTIONAL, VERIFIED)
Issue: The
safe-outputsfield has dramatically different scope between main and included schemas.Evidence:
Analysis: This appears to be an intentional design decision. The description explicitly states the restriction. Included files can only define job outputs, while main workflows can define all output types.
Impact:
Recommendation: Document this restriction in
docs/src/content/docs/reference/to explain why included files have limited safe-outputs scope.5. Tools Scope Restriction (INTENTIONAL, VERIFIED)
Issue: The
toolsfield supports different tool sets between main and included schemas.Evidence:
Analysis: This restriction appears intentional but is undocumented. The missing tools are meta-configuration fields (safety-prompt, timeouts) and advanced features (edit, web-fetch, web-search).
Impact:
Recommendation: Document this restriction in
docs/src/content/docs/reference/to explain which tools are available in included files vs main workflows and why.Positive Findings
Schema Quality Improvements
$id,title, anddescriptionfields (fixed from previous runs)$refreferences are valid, all$defsare usedSchema Structure Excellence
$defs$defis actively referencedRecommendations
High Priority
mcp_config_schema.jsonto accept["string", "number"]to match implementationMedium Priority
Strategy Performance
Strategy: Cross-Schema Consistency & Type Analysis
Success Count: 11 (including this run)
Findings This Run: 5 (1 critical, 4 moderate)
New Issues: 0
Persistent Issues: 3 (MCP version, $comment, engine default)
Effectiveness: Very High
Should Reuse: Yes (every 4-5 analyses)
Key Insight: This strategy excels at finding inter-schema drift and type inconsistencies. All 5 findings are persistent issues that have survived multiple analysis runs, indicating they may be deferred technical debt or intentional design decisions that need documentation.
Next Steps
References:
Beta Was this translation helpful? Give feedback.
All reactions