[Schema Consistency] Schema Consistency Check - 2026-08-19 #53917
Closed
Replies: 1 comment
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #54161. |
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-08-19
Summary
awf-config-drift.jsonhasdegraded: true), so no AWF drift findings are treated as authoritative.Critical Issues
1.
safe-outputs.runs-ontype mismatch: schema allows full runner forms, parser stores string onlypkg/parser/schemas/main_workflow_schema.jsondefinessafe-outputs.runs-onvia#/$defs/github_actions_runs_on, which supports string, array, and runner-group object forms.pkg/workflow/safe_outputs_config_types.godefinesSafeOutputsConfig.RunsOn string \yaml:"runs-on,omitempty"``.docs/src/content/docs/reference/frontmatter.mdsayssafe-outputs.runs-onaccepts the same forms asruns-on.docs/src/content/docs/reference/safe-outputs.mdshows an array example:runs-on: [self-hosted, linux, x64].safe-outputs.runs-onto the same flexible type used for top-levelruns-on/runs-on-slim, then add a regression test for array and object forms.2.
threat-detection-suppressis implemented and schema-validated but effectively undocumented in the user-facing frontmatter guiderule,reason, optionalexpires).pkg/workflow/threat_detection_suppression.govalidates:rulemust matchCTR-###reasonmust be non-emptyexpiresmust beYYYY-MM-DDdocs/src/content/docs/reference/frontmatter.mddoes not describe the field.docs/src/content/docs/reference/frontmatter-full.mdonly includes generated skeleton lines near the top, without practical semantics or usage guidance.frontmatter.mddescribing intent, required fields, expiry behavior, and the audit expectations around suppressions.Documentation Gaps
3. Deprecated top-level
max-runsexists in schema/parser/docs glossary, but is missing from the main frontmatter guidemax-runsis still accepted, marked deprecated, default500.pkg/workflow/frontmatter_types.gostill acceptsmax-runs;pkg/workflow/engine.goreads it as a fallback alias.docs/src/content/docs/reference/glossary.mddocumentsmax-runsas deprecated.docs/src/content/docs/reference/frontmatter.mddocumentsmax-turnsand rate-limitmax-runs-per-window, but does not clearly call out top-levelmax-runsas a deprecated alias in the main frontmatter reference.max-turns/credits area offrontmatter.mdnoting that top-levelmax-runsremains accepted as a deprecated alias and should be migrated withgh aw fix.4.
check-for-updatesstrict-mode behavior is documented, but the linked dedicated page appears missing from the docs corpus scanned herehttps://github.github.com/gh-aw/reference/frontmatter/#check-for-updates.pkg/workflow/strict_mode_update_check_validation.goenforces:falseis rejected in strict modefalseemits only a warning in non-strict modedocs/src/content/docs/reference/frontmatter.mdhas a section forcheck-for-updates.https://github.github.com/gh-aw/reference/check-for-updates/, but no corresponding reference doc was surfaced in the scanned docs set.Schema Improvements Needed
safe-outputs.runs-onschema and parser contract with a shared runner type across all runner-bearing fields.threat-detection-suppressin schema if the main prose docs remain intentionally brief.max-runsvisible in the main reference path, not only in glossary/generated pages.Parser Updates Required
pkg/workflow/safe_outputs_config_types.goand downstream consumers sosafe-outputs.runs-oncan accept string, array, and object forms.runs-onruns-on-slimsafe-outputs.runs-onstrict_mode_update_check_validation.gosynchronized with the real docs location.Workflow Violations
No confirmed repository workflow violations against the main schema were established from the targeted checks. The precomputed
used_in_workflowslist includes many markdown-body/tool payload keys (for examplerepo,title,task,noop) that are not reliable frontmatter drift signals by themselves.Recommendations
safe-outputs.runs-onas the highest-priority fix because it is a true schema ↔ parser ↔ docs contract mismatch.threat-detection-suppresssection todocs/src/content/docs/reference/frontmatter.mdwith one minimal example.max-runsin the main frontmatter guide.Strategy Performance
Next Steps
safe-outputs.runs-onparser typingthreat-detection-suppressmax-runsnote to the main frontmatter guidecheck-for-updatescode comment links with current docsAll reactions