Repository navigation
[Schema Consistency] Schema Consistency Check — 2026-10-25: three safe-output contract mismatches #71831
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #72017. |
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 — 2026-10-25
Three confirmed inconsistencies affect copyable reference examples. No critical runtime defect was established. Repository source files were left unchanged.
Summary
Key Issues
close-issue.allow-bodyandclose-discussion.allow-bodyare documented but absent from their schema property lists. Both reject{"allow-body": false}withadditionalProperties. This blocks the documented option for suppressing closing comments. Add boolean properties to both schema branches.footer: "if-body", but the schema rejects it and the compiler configuration has no footer field or parser assignment. Remove the example option unless support is intentionally implemented across the configuration and handler contract.update-release.github-tokenis absent from the schema, even though the compiler parses its shared base configuration and the release handler serializes the token. Add the token property consistently with other safe outputs.Evidence, scope, and limitations
Schema Improvements Needed / Parser Updates Required
Finding 1:
pkg/parser/schemas/main_workflow_schema.json, JSON pointers/properties/safe-outputs/properties/close-issue/oneOf/0/propertiesand/properties/safe-outputs/properties/close-discussion/oneOf/0/properties, omitallow-body. Documentation:docs/src/content/docs/reference/safe-outputs.md:399and:1346. Implementation:pkg/workflow/close_entity_helpers.go:87definesAllowBody *boolwith the YAML tag; the shared close parser unmarshals the configuration.pkg/workflow/safe_outputs_handler_registry_issues.go:50serializesallow_body. Preserve this existing implementation and align schema acceptance.Finding 2:
docs/src/content/docs/reference/safe-outputs-pull-requests.md:292includesfooter: "if-body". Schema pointer/properties/safe-outputs/properties/create-pull-request-review-comment/oneOf/0/propertiesomits it.pkg/workflow/create_pr_review_comment.go:10defines the config fields and its parser without a footer option. This is a documentation gap relative to both schema and compiler.Finding 3:
docs/src/content/docs/reference/safe-outputs.md:1156includesgithub-token. Schema pointer/properties/safe-outputs/properties/update-release/oneOf/0/propertiesomits it.pkg/workflow/update_release.go:10embedsUpdateEntityConfig;pkg/workflow/update_entity_helpers.go:94embeds the base safe-output configuration and:167invokes its parser.pkg/workflow/safe_outputs_handler_registry_releases.go:12passes the resolved token.Each isolated object was validated against its actual object branch and produced exactly the corresponding unexpected-property error. Full documentation fragments were not treated as standalone workflows: missing
onin partial examples and Kubernetes configuration were excluded. Previously cached findings were excluded from this report.Workflow Violations
The precomputed diff reports no top-level workflow keys outside the schema. A targeted scan of 464 frontmatter-bearing Markdown files under
.github/workflows, including shared components, found no use of these four affected nested keys. No workflow violation is asserted. This is not a full compile or imported-workflow validation.The two apparent top-level field gaps are false positives:
docker-image-pull-policyandwork-queue-policyhaveRawFrontmatterconsumers (pkg/workflow/docker.go:294andpkg/workflow/work_queue_policy.go:184).Non-authoritative AWF Warning
The precomputed AWF comparison has
degraded: true: canonical-source retrieval failed. AWF drift cannot be established from this comparison. No required check failure, corrective PR, or drift issue is proposed from that incomplete data.Recommendations and Next Steps
allow-bodyon both close operations and forupdate-release.github-token.Strategy Performance
References: §40165736357
All reactions