[Schema Consistency] Schema Consistency Check — 2026-04-13 #25980
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #26159. |
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
safe-inputsreferences in autocomplete files after rename tomcp-scriptsd1c210e Add exception.type to OTel exception span events; sanitize event attributesNEW Findings (2026-04-13)
1. Stale
safe-inputsin autocomplete generator scriptFile:
docs/scripts/generate-autocomplete-data.js:40The
generate-autocomplete-data.jsscript still lists'safe-inputs'as a frontmatter key after the rename tomcp-scripts(.changeset/minor-rename-safe-inputs-to-mcp-scripts.md). It should be replaced with'mcp-scripts'.Impact: Running
generate-autocomplete-data.jsregeneratesautocomplete-data.jsonwith the stale key, perpetuating the issue.2. Stale
safe-inputsentry in generated autocomplete dataFile:
docs/public/editor/autocomplete-data.json:1917The generated file has both
"mcp-scripts"(line 1694, correct) and"safe-inputs"(line 1917, stale). The old entry should be removed.Impact: The web editor's autocomplete suggests the deprecated
safe-inputs:key, which users must then migrate via codemod.Persistent Findings (Confirmed Still Present)
Documentation Gaps — Schema fields undocumented (9 issues)
A.
pre-stepsandrun-install-scriptsmissing fromfrontmatter-full.mdBoth fields are in the schema with detailed descriptions but have no dedicated sections in
docs/src/content/docs/reference/frontmatter-full.md.pre-steps— Runs custom workflow steps before checkout; outputs usable incheckout.tokenrun-install-scripts— Allows npm pre/post install scripts (supply chain risk; requires strict-mode warning)B.
observability.otlpsub-fields undocumentedfrontmatter-full.mdshows only:...with no mention of
otlp.endpointorotlp.headers. The schema defines both with full descriptions.C.
mcp-scriptssection stub infrontmatter-full.mdfrontmatter-full.mdshows onlymcp-scripts: {}— no documentation of sub-fields (description,inputs,script/run/py/go,env,timeout). A dedicated doc exists atmcp-scripts.mdbutfrontmatter-full.mdshould at minimum reference it and show the shape.D. Two
safe-outputstools missing fromfrontmatter-full.mdreport-incompleteandupload-artifactare defined in the schema but absent from the 126 KB safe-outputs section infrontmatter-full.md. All other ~60 tools are documented.E. Five undocumented feature flags
pkg/constants/feature_constants.godefines these flags but none appear infrontmatter.mdorfrontmatter-full.md:copilot-integration-idGITHUB_COPILOT_INTEGRATION_IDenv injection (added 2026-04-11)cli-proxy--difc-proxy-*injectioncopilot-requestscopilot-requests:writepermissionmcp-gatewaydisable-xpia-promptF. 12 schema fields missing from
frontmatter.md(quick-reference page)check-for-updates,disable-model-invocation,import-schema,infer,inlined-imports,mcp-servers,observability,pre-steps,rate-limit,run-install-scripts,secret-masking,tracker-idG.
aw.jsonrepo-level config undocumented.github/workflows/aw.jsonhas a full schema (repo_config_schema.json) and Go implementation (repo_config.go) but is not documented anywhere indocs/.Constraint Validation Gaps — Schema bounds not enforced in Go (5 issues)
The schema defines these constraints but the Go parser/compiler does not enforce them — invalid values pass through silently:
tracker-idmaxLength: 128minLength:8and pattern onlyrate-limit.maxmaximum: 10rate-limit.windowminimum: 1, maximum: 180> 0window: 0silently uses default;window: 999acceptedsafe-outputs.max-patch-sizemaximum: 10240>= 1onlyupload-artifact.defaults.if-no-filesenum: ['error', 'ignore']'warn'acceptedCode refs:
pkg/workflow/role_checks.go:175-195,pkg/workflow/safe_outputs_config.go:408-427,pkg/workflow/publish_artifacts.go:147-153Dead Code — MCP Config Schema unused (1 issue)
pkg/parser/schemas/mcp_config_schema.jsonis compiled viagetCompiledMcpConfigSchema()butValidateMCPConfigWithSchemainpkg/parser/schema_validation.gohas no function body — it is a comment stub. ThevalidateWithSchema()function has a case formcpConfigSchemabut it is unreachable since no caller passes that value. The compiled schema is never used for actual MCP server configuration validation.Naming Inconsistency — create-code-scanning-alert(s) plural/singular (1 issue)
pkg/workflow/compiler_types.go:503has yaml tagcreate-code-scanning-alerts(plural) while the schema, raw-map access paths, and all other code use the singularcreate-code-scanning-alert. Parsing uses the raw map path (singular) so there is no runtime bug, but the struct tag is misleading and could cause confusion in JSON marshalling scenarios.Recommendations
'safe-inputs'with'mcp-scripts'indocs/scripts/generate-autocomplete-data.js:40and regeneratedocs/public/editor/autocomplete-data.jsonpre-stepsandrun-install-scriptsinfrontmatter-full.mdobservabilityandmcp-scriptsstubs infrontmatter-full.mdto show actual sub-field shapesupload-artifactandreport-incompleteto the safe-outputs section offrontmatter-full.mdfeatures:section infrontmatter.mdlisting all supported flags with descriptionsmaxLength,maximum, and enum validation inrole_checks.go,frontmatter_extraction_metadata.go,safe_outputs_config.go, andpublish_artifacts.goValidateMCPConfigWithSchemaor remove the dead code and compiled schemaReferences:
Beta Was this translation helpful? Give feedback.
All reactions