[Schema Consistency] 🔍 Schema Consistency Check - 2026-06-24 #41173
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-06-25T06:36:52.189Z.
|
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
Critical Issues
engine.extensionsis implemented but missing from schema and frontmatter referencesengine.extensionsinpkg/workflow/engine.go:514-534.pkg/workflow/pi_engine.go:225.docs/src/content/docs/reference/engines.md:422-434.$defs.engine_configshows noextensionsproperty.engine.idis described like an enum but schema does not enforce onepkg/parser/schemas/main_workflow_schema.jsonaround$defs.engine_config.id.pkg/workflow/engine_definition.go:268-274withinvalid engine: ... Valid engines are: ....id: piandid: antigravity(for example.github/workflows/schema-consistency-checker.md:14,.github/workflows/smoke-antigravity.md:37).copiilotcan pass schema-level validation and fail later at compile/runtime, so the schema is laxer than the implementation.Documentation Gaps
Main frontmatter docs omit
engine.extensionswhile engine-specific docs document itdocs/src/content/docs/reference/engines.md:422-434.docs/src/content/docs/reference/frontmatter.mdengine section and from generatedfrontmatter-full.mdengine object excerpt near lines 2099/2421.Safe-outputs dispatch repository alias is parser-only
dispatch_repositoryanddispatch-repositoryinpkg/workflow/dispatch_repository.go:30-39.dispatch_repository(pkg/parser/schemas/main_workflow_schema.json:9146).docs/src/content/docs/reference/safe-outputs.md:1342-1353, glossary entry).Schema Improvements Needed
engine.extensionsto$defs.engine_configwith array-of-string semantics, ideally documented as Pi-only.engine.idvalidation so schema and compiler agree. If dynamic catalog entries must remain allowed, document that explicitly and consider a pattern/anyOf split for built-ins vs named catalog entries.safe-outputs.dispatch-repositoryis a supported alias: either add it to schema/docs or remove parser support.Parser Updates Required
dispatch-repositoryis not intended to be public, remove the alias branch fromparseDispatchRepositoryConfig.pkg/workflow/engine_definition.go:claude, codex, copilot, gemini, opencode, crushpi, and repo workflows also useantigravityas a valid engine idWorkflow Violations
id: pi, and.github/workflows/smoke-antigravity.mdusesid: antigravity, which underscores the importance of clarifying whetherengine.idis an open catalog field or a constrained built-in enum.Recommendations
engine.extensionsto the schema first, then regeneratefrontmatter-full.md.engine.id: strict enum for built-ins, or documented open catalog contract.dispatch_repositorynaming across parser/schema/docs; avoid dual spellings unless both are officially supported.pkg/workflow/engine_definition.goso maintainer-facing docs match current engine catalog reality.Strategy Performance
strategy-25+strategy-29, withstrategy-24andstrategy-30verificationNext Steps
engine.extensionsengine.idschema validation with compiler behaviordispatch_repositoryalias inconsistencyReferences:
Beta Was this translation helpful? Give feedback.
All reactions