[Schema Consistency] 🔍 Schema Consistency Analysis - 8 Inconsistencies Found (2025-10-23) #2196
Closed
Replies: 1 comment
-
|
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-23
Summary
🚨 Critical Issues
1. Missing⚠️ HIGH PRIORITY
defaultsField ImplementationIssue: The
defaultsfield is defined in the JSON schema but NOT implemented in the workflow compiler.pkg/parser/schemas/main_workflow_schema.json- definesdefaultswith properties forrun.shellandrun.working-directorypkg/workflow/compiler.go- WorkflowData struct does NOT have aDefaultsfielddefaults:in frontmatter (schema validation passes) but it will be silently ignored during compilationpkg/parser/schemas/main_workflow_schema.json:properties.defaultsgrep -n "extractTopLevelYAMLSection.*defaults" pkg/workflow/*.goreturns nothing.github/workflows/github-mcp-tools-report.mdmay attempt to use this fielddefaultsfield extraction and rendering, or remove from schema with deprecation notice2. Undocumented⚠️ MEDIUM PRIORITY
githubActionsStepSchema FieldIssue: The
githubActionsStepfield exists in schema but appears to be unused and undocumented.pkg/workflow/*.go3. Bash Tool Schema Type Mismatch⚠️ LOW-MEDIUM PRIORITY
Issue: Schema defines bash as
null | array, but workflows commonly usebash: true(boolean).pkg/parser/schemas/main_workflow_schema.json- only allowsnullorarray of stringspkg/workflow/tools_types.go:221- parseBashTool() handlesniland arrays, but not booleanbash: truepatternbooleantype in oneOf for bash tool📚 Documentation Gaps
4. Missing Main Frontmatter.md Entries
The following schema fields are missing from
docs/src/content/docs/reference/frontmatter.md(though some are documented elsewhere):Completely Undocumented:
defaults- Standard GitHub Actions field for default shell/working-directorygithubActionsStep- Purpose unclear (may be internal)name- Standard GitHub Actions workflow name (assumed known?)steps- Custom workflow steps (mentioned but not detailed in frontmatter.md)jobs- Multi-job workflow support (mentioned but not detailed)cache- Top-level cache configurationDocumented in Separate Files (but should be referenced in main frontmatter.md):
tools→ documented intools.md✓ (referenced)imports→ documented inimports.md✓ (referenced)cache-memory→ documented incache-memory.md✓ (referenced)command→ documented incommand-triggers.md✓ (referenced)mcp-servers→ mentioned intools.mdbut needs more detailruntimes→ mentioned infrontmatter-full.mdbut not in main frontmatter.mdpost-steps→ used in workflows but only in frontmatter-full.mdNote:
frontmatter-full.mdhas comprehensive coverage (28 fields documented)5. Bash Tool Boolean Support 🔧 HIGH PRIORITY
Current Schema:
Should Be:
Justification: Common usage pattern in workflows is
bash: true6. MCP-Servers Documentation Gap 📚 MEDIUM PRIORITY
Issue:
mcp-serversfield is in schema and used in workflows, but only briefly mentioned in tools.md.tools.mdandimports.md7. Runtimes Field Documentation Gap 📚 MEDIUM PRIORITY
Issue:
runtimesfield documented only in frontmatter-full.md, not in main frontmatter.md.pkg/workflow/runtime_setup.go8. Post-Steps Documentation Gap 📚 MEDIUM PRIORITY
Issue:
post-stepsfield is implemented and used but only in frontmatter-full.md.pkg/workflow/compiler.go:903,3138.github/workflows/test-post-steps.mduses this feature🔧 Recommendations
Immediate Actions (High Priority)
Fix
defaultsfield inconsistency - Either:Update bash tool schema - Add
booleantype to match actual usageAudit
githubActionsStepfield - Determine if it's needed and document or removeMedium Priority
Enhance main frontmatter.md - Add sections or references for:
runtimes- runtime version overridespost-steps- post-execution stepsmcp-servers- cross-reference to tools.mdjobs- multi-job workflow supportcache- top-level cache configCross-reference section - Add "See Also" section at end of frontmatter.md linking to:
Low Priority
📊 Analysis Methodology
This analysis used a comprehensive field enumeration strategy:
jqto extract all top-level property names from JSON schemaThis multi-dimensional approach ensures consistency across all four areas:
📁 Files Analyzed
Schema Files:
pkg/parser/schemas/main_workflow_schema.json(26,676 tokens - analyzed via jq)Parser/Compiler Files:
pkg/parser/frontmatter.gopkg/workflow/compiler.gopkg/workflow/tools.gopkg/workflow/tools_types.gopkg/workflow/runtime_setup.gopkg/workflow/*.go(multiple files)Documentation Files:
docs/src/content/docs/reference/frontmatter.mddocs/src/content/docs/reference/frontmatter-full.mddocs/src/content/docs/reference/tools.mddocs/src/content/docs/reference/imports.mddocs/src/content/docs/reference/cache-memory.mdWorkflow Files:
.github/workflows/audit-workflows.md.github/workflows/brave.md.github/workflows/test-post-steps.md.github/workflows/github-mcp-tools-report.md🤖 Generated by Schema Consistency Checker Agent
📅 Analysis Date: 2025-10-23
🔄 Strategy: Comprehensive Field Enumeration and Type Analysis
Beta Was this translation helpful? Give feedback.
All reactions