Repository navigation
[Schema Consistency] π Schema Consistency Check β 2026-10-15 #68969
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #69267. |
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.
Overview
Found 4 confirmed inconsistencies across schema examples, compiler behavior, and documentation. Reviewed all four areas using the precomputed field/workflow diff and targeted source checks. No repository source files were changed.
Actionable Findings
1. Schema rejects implemented and documented
on.slash_command.placeholder(medium).The documented example in command-triggers.md:204 sets
placeholder: to review this PR. The slash-command object in main_workflow_schema.json:770 only permitsname,events, andstrategy, withadditionalProperties: false. Yet frontmatter_extraction_yaml.go:270 extracts this string, and compiler_safe_outputs_envvars.go:112 propagates it. Fix: Add a stringplaceholderproperty to the slash-command schema and cover validation through the public compilation path.2. QMD documentation advertises a rejected tool configuration (medium).
tools.md:182 shows
tools.qmd.checkoutsand promises a dedicated indexing job. Validating this exact configuration reports:Additional properties are not allowed (qmd was unexpected). Targeted searches of workflow Go sources found no dedicated QMD configuration/indexing implementation, only incidental references; the custom-tool fallback alone does not establish this feature. Fix: Determine whether QMD was retired or moved, then remove or migrate the reference and linked experimental guide. If intended to remain supported, restore schema and compiler support together before advertising it.3. Reusable-workflow example uses unsupported
choiceinputs (medium).safe-outputs.md:1496 declares
on.workflow_call.inputs.environment.type: choiceplusoptions, and explicitly lists choice as supported. main_workflow_schema.json:2049 permits onlystring,number, andbooleanfor workflow-call inputs and rejectsoptions. The compiler helper test safe_outputs_call_workflow_test.go:201 nevertheless constructs choice inputs directly and expects an enum, bypassing frontmatter validation. Fix: Change the worker example to a string input with explicit value validation, and align helper tests with valid reusable-workflow inputs. Do not broaden the schema without also establishing valid generated GitHub Actions behavior.4. Four embedded schema examples omit required
project(low; one grouped finding).safe-outputs.update-projectrequiresprojectat main_workflow_schema.json:6906, but both examples at line 7054 omit it. Likewise,create-project-status-updaterequiresprojectat line 7210, but both examples at line 7264 omit it. All four examples also fail when embedded in a complete minimal frontmatter object. Fix: Add valid project targets to the examples and add a schema-example consistency check.Scope, false positives, and limitations
The precomputed diff reports no workflow top-level fields absent from the schema. This is a top-level consistency result, not proof that every workflow or imported component compiles. No workflow violations are asserted from this limited scan.
The two apparent schema/frontmatter gaps are false positives:
docker-image-pull-policyis consumed throughRawFrontmatterinpkg/workflow/docker.go:294, andwork-queue-policyis consumed inpkg/workflow/work_queue_policy.go:184. Missing struct tags alone are not missing implementation.Reference YAML snippets were screened in bulk while preserving the YAML
onkey. Partial snippets, non-workflow contexts, and security-related configurations were excluded from confirmed findings unless separately corroborated. No runtime or security-boundary testing was performed.Non-authoritative AWF warning: The supplied AWF drift artifact has
degraded: truebecause canonical-source retrieval failed. No AWF config-source drift conclusion is made. This warning must not fail a required check or justify a corrective PR or drift issue.Recommendations and Next Steps
Strategy Performance
Findings: 4 grouped issues. Effectiveness: High. Should reuse: Yes. The new strategy detects contradictions inside schema metadata and confirms documented-feature failures against the public schema before assigning compiler changes. Strategy metrics were saved to the requested strategy database.
References: Β§38687198709
All reactions