[Schema Consistency] 🔍 Schema Consistency Check - November 1, 2025: Cross-Schema Drift Analysis #2927
Closed
Replies: 1 comment
-
|
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 1, 2025
Analysis of the three JSON schemas revealed 6 critical inconsistencies in schema definitions, primarily schema drift between main_workflow_schema.json and included_file_schema.json. These inconsistencies could lead to validation errors or feature unavailability.
**Key (redacted) The main schema's MCP tool definition is missing critical fields (headers, url) that exist in both the included schema and the actual code implementation.
Full Report Details
Analysis Metadata
Critical Issues
1. 🔴 HIGH: MCP stdio_mcp_tool Missing HTTP Fields
**(redacted)
The main workflow schema's
$defs.stdio_mcp_tooldefinition is missing two critical fields that exist in the included schema and are used by the code implementation:headers(map[string]string for HTTP headers)url(string for HTTP MCP connections)**(redacted)
Code implementation expects these fields:
Schema comparison:
**(redacted)
**(redacted)
Add
headersandurlproperties tomain_workflow_schema.jsonat$defs.stdio_mcp_tool.properties2. 🟡 MEDIUM: Engine Enum Missing 'copilot'
**(redacted)
The included file schema is missing
copilotfrom the engine enum values, preventing use of GitHub Copilot in included workflow files.**(redacted)
This affects two locations in included_file_schema.json:
properties.engine.oneOf[0].enum(string variant)properties.engine.oneOf[1].properties.id.enum(object variant)**(redacted)
engine: copilotin included workflow files**(redacted)
Add
"copilot"to both engine enum locations in included_file_schema.json3. 🟡 MEDIUM: Safe-Outputs Severe Feature Disparity
**(redacted)
The included file schema only has 1 of 20 safe-outputs properties available.
**Available in Included (redacted)
jobsMissing from Included Schema (19 properties):
**(redacted)
**(redacted)
4. 🟡 MEDIUM: Tools Field Disparity
**(redacted)
The included schema defines only 3 tools while the main schema defines 11.
**Available in Included (redacted)
**Missing from Included (redacted)
**(redacted)
**(redacted)
5. 🔵 LOW: Schema $defs Duplication Anti-Pattern
**(redacted)
MCP tool definitions are duplicated across schemas with no shared
$ref, leading to drift (as evidenced by Finding #1).**Current (redacted)
**(redacted)
**(redacted)
Consider schema refactoring:
6. 🔵 LOW: Permissions Definition Complexity
**(redacted)
Both schemas define the same 16 permission scopes but with different structural approaches.
**(redacted)
all,attestations,models**(redacted)
**(redacted)
$refto share permission definitionsPositive Findings ✅
Recommendations Summary
Immediate Actions (HIGH Priority)
headersandurlpropertiesShort-term Actions (MEDIUM Priority)
Long-term Actions (LOW Priority)
Files Analyzed
pkg/parser/schemas/main_workflow_schema.json(126,015 bytes, 612 objects)pkg/parser/schemas/included_file_schema.json(22,597 bytes, 110 objects)pkg/parser/schemas/mcp_config_schema.json(4,434 bytes, 30 objects)pkg/parser/mcp.go(implementation validation)Strategy Performance
**Why This Strategy is (redacted)
Previous strategies compare schema against code or documentation. This strategy compares schemas against each other, revealing internal inconsistencies invisible to other approaches.
Next Analysis Recommendation
Suggested Next Strategy: Strategy-002 (Enhanced Enum Validation) or Strategy-005 (Conditional Logic Analysis)
Reasoning: After fixing schema-to-schema issues, validate that enums and conditionals are correctly implemented in code.
**(redacted)
Beta Was this translation helpful? Give feedback.
All reactions