Repository navigation
[Schema Consistency] π Schema Consistency Check β 2026-10-26 #72017
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #72328. |
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.
Three confirmed inconsistencies affect documented configuration. No critical runtime bug was established. Repository source files were unchanged.
Summary
9a57ef760fda8457186126cf0f098ff595a3b5f7.Key Issues
Schema improvement needed:
add-comment.allows-comment-idsrejects documented expression syntax. The example atdocs/src/content/docs/reference/safe-outputs.md:438uses${{ needs.prepare.outputs.comment_ids }}. The schema atpkg/parser/schemas/main_workflow_schema.json:8645permits only an array of strings. The parser explicitly preprocesses this field as a templatable string array atpkg/workflow/add_comment.go:75. A minimal object containing the expression fails schema validation; replacing it with["123"]passes. Impact: schema validation blocks the documented expression form before parser support can apply. Fix: align the schema with the existing templatable-list contract and add a regression case for the documented expression.Documentation gap / parser feature decision: MCP script input
enumis unsupported.docs/src/content/docs/reference/mcp-scripts.md:189advertisesenum: ["option1", "option2", "option3"]as limiting choices. Input properties undermcp-scriptsin the schema (pkg/parser/schemas/main_workflow_schema.json:14069) excludeenumand forbid additional properties.parseMCPScriptInputsatpkg/workflow/mcp_scripts_parser.go:158does not extract an enum;generateMCPScriptInputSchemaatpkg/workflow/mcp_scripts_generator.go:91does not emit one. A complete inert tool definition with description and script fails solely on the added enum and passes when enum is removed. Impact: the advertised choice restriction cannot be configured or enforced through this contract. Fix: remove the unsupported claim/example, or implement schema acceptance, parsing, generated enum constraints, and validation together. The documentation fragment also omits an implementation body; that incompleteness was excluded from this finding.Documentation gap:
expiresdoes not accept runtime Actions expressions as advertised. The Templatable Fields section atdocs/src/content/docs/reference/safe-outputs.md:2127claims runtime expression support and showsexpires: ${{ inputs.expires-days }}. The create-issue schema atpkg/parser/schemas/main_workflow_schema.json:6838accepts positive integer days, duration strings, or false; an expression matches none.parseExpiresFromConfigatpkg/workflow/time_delta.go:382sends strings to static relative-time parsing.preprocessExpiresFieldatpkg/workflow/config_preprocessing.go:175converts unrecognized values to zero rather than retaining an expression. A minimal create-issue expression fails schema validation;expires: 7dpasses. Impact: copying the runtime-input example fails validation; widening schema acceptance alone would not implement the advertised behavior. Fix: document static expiry values now, or implement runtime resolution consistently with maintenance scheduling before advertising it.Analysis evidence, workflow scope, and limitations
docker-image-pull-policyis consumed through RawFrontmatter inpkg/workflow/docker.go:294;work-queue-policyis consumed through RawFrontmatter inpkg/workflow/work_queue_policy.go:184.onkeys. Reduced the three findings to inert JSON objects and checked corrected controls. No workflow code was executed and no live dispatch was attempted..github/workflows/shared/. Expiry expressions in five shared components usegithub.aw.import-inputs, for exampleshared/daily-issue-base.md:39; these are import-time substitutions and are not classified as violations of the runtime-expression finding./tmp/gh-aw/agent/awf-config-drift.jsonhasdegraded: truebecause canonical config sources could not be retrieved. No AWF drift conclusion is drawn from that incomplete comparison; no corrective PR, drift issue, or failed required check is proposed.Recommendations and Next Steps
Strategy Performance
References: Β§40274984977
All reactions