You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
NEW: engine.bare is undocumented in both reference docs
The engine.bare field was added by changeset patch-add-engine-bare-frontmatter-field and is:
✅ Defined in schema ($defs.engine_config, both extended-object and inline-engine branches)
✅ Implemented in Go (pkg/workflow/engine.go:158-160 and :298-300)
✅ Used in actual workflows: .github/workflows/smoke-claude.md:21 and .github/workflows/smoke-copilot.md:21
❌ Zero occurrences in docs/src/content/docs/reference/frontmatter.md
❌ Zero occurrences in docs/src/content/docs/reference/frontmatter-full.md
# Used in production workflows (smoke-claude.md, smoke-copilot.md) but not documented:engine:
id: claudebare: true # disables CLAUDE.md / AGENTS.md / system-prompt loading
The YAML struct tag in pkg/workflow/compiler_types.go:511 uses the plural form (create-code-scanning-alerts) while the schema, implementation files, map accessors, and MCP parser all use the singular form (create-code-scanning-alert):
Schema fields missing from frontmatter-full.md (2 fields)
pre-steps, run-install-scripts
Safe-outputs tools missing from frontmatter-full.md (2 tools)
upload-artifact and report-incomplete are defined in the schema and implemented in Go (pkg/workflow/publish_artifacts.go:54, pkg/workflow/report_incomplete.go:26) but absent from the reference full spec. 67 tools total in schema; 65 documented.
observability.otlp sub-fields undocumented
The observability field only appears as observability: {} in frontmatter-full.md. The nested fields otlp.endpoint and otlp.headers (now correctly typed as string after the OTLP headers migration) are not shown.
mcp-scripts in frontmatter-full.md shows no sub-fields
frontmatter-full.md shows mcp-scripts: {} only — the sub-field structure is not documented.
aw.json repo-level config is undocumented
No documentation exists anywhere in docs/ for .github/workflows/aw.json.
action-mode accepts only dev | release | script | action (enforced in pkg/workflow/action_mode.go) but these enum values are not defined in the schema. IDE autocomplete shows action-tag from schema examples but not action-mode. Invalid values like features: { action-mode: "invalid" } pass JSON Schema validation silently.
Schema features.examples shows action-tag (the action SHA/tag reference), while frontmatter.md documents action-mode as the primary feature. These are different features and the schema examples are misleading.
View constraint validation gaps
These schema constraints are defined but not enforced in Go:
Field
Schema Constraint
Go validation
tracker-id
maxLength: 128
Missing (minLength/charset only)
rate-limit.max
maximum: 10
Missing
rate-limit.window
minimum: 1, maximum: 180
Missing
safe-outputs.max-patch-size
maximum: 10240
Missing
upload-artifact.defaults.if-no-files
enum: warn|error|ignore
Missing
🗂️ Stale Data
Autocomplete data still references safe-inputs (renamed to mcp-scripts)
docs/public/editor/autocomplete-data.json:1917 — still lists "safe-inputs"
docs/scripts/generate-autocomplete-data.js:40 — still lists 'safe-inputs'
The rename from safe-inputs → mcp-scripts was done (changeset minor-rename-safe-inputs-to-mcp-scripts) but the autocomplete data was not regenerated/updated.
mcp_config_schema.json — dead validation code
pkg/parser/schemas/mcp_config_schema.json is compiled into Go but ValidateMCPConfigWithSchema is a stub comment — never actually called. MCP config is accepted without schema validation.
Recommendations
[High] Document engine.bare in frontmatter.md (under Engine section) and frontmatter-full.md. The field is already deployed in production smoke workflows.
[High] Fix compiler_types.go:511 yaml tag from create-code-scanning-alerts to create-code-scanning-alert (singular) to match the schema and all other code.
[Medium] Regenerate docs/public/editor/autocomplete-data.json and update docs/scripts/generate-autocomplete-data.js to replace safe-inputs with mcp-scripts.
[Medium] Add property schemas to features in main_workflow_schema.json — at minimum define action-mode with its enum values and fix the features.examples to show action-mode instead of action-tag.
[Medium] Create a unified feature flags table in frontmatter.md covering all 9 active flags (action-mode, action-tag, mcp-gateway, mcp-scripts, integrity-reactions, cli-proxy, copilot-requests, disable-xpia-prompt, copilot-integration-id).
[Medium] Add report-incomplete and upload-artifact to the safe-outputs section of frontmatter-full.md.
[Low] Add maxLength: 128 enforcement to extractTrackerID in pkg/workflow/frontmatter_extraction_metadata.go.
[Low] Add rate-limit.max (≤10) and rate-limit.window (1–180) bounds validation in pkg/workflow/role_checks.go.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Summary
Analysis covered 455 workflow files,
pkg/parser/schemas/main_workflow_schema.json,pkg/workflow/*.go,pkg/constants/feature_constants.go,docs/src/content/docs/reference/frontmatter.md, anddocs/src/content/docs/reference/frontmatter-full.md.Workflow run: §24436529841
🔴 Critical Issues
NEW:
engine.bareis undocumented in both reference docsThe
engine.barefield was added by changesetpatch-add-engine-bare-frontmatter-fieldand is:$defs.engine_config, bothextended-objectandinline-enginebranches)pkg/workflow/engine.go:158-160and:298-300).github/workflows/smoke-claude.md:21and.github/workflows/smoke-copilot.md:21docs/src/content/docs/reference/frontmatter.mddocs/src/content/docs/reference/frontmatter-full.mdPERSISTENT:
create-code-scanning-alertnaming inconsistencyThe YAML struct tag in
pkg/workflow/compiler_types.go:511uses the plural form (create-code-scanning-alerts) while the schema, implementation files, map accessors, and MCP parser all use the singular form (create-code-scanning-alert):pkg/parser/schemas/main_workflow_schema.jsoncreate-code-scanning-alert✅pkg/workflow/create_code_scanning_alert.go:24,29create-code-scanning-alert✅pkg/workflow/safe_outputs_config.go:162create-code-scanning-alert✅pkg/workflow/compiler_types.go:511(yaml tag)create-code-scanning-alerts❌cli/workflows/test-copilot-create-code-scanning-alerts.md:9create-code-scanning-alerts❌📚 Documentation Gaps
NEW: Feature flags inconsistency across reference documents
The following feature flags are defined in
pkg/constants/feature_constants.gobut have inconsistent coverage across the three reference locations:frontmatter.mdfrontmatter-full.mdglossary.mdaction-modeaction-tagmcp-gatewaymcp-scriptsintegrity-reactionscli-proxycopilot-requestsdisable-xpia-promptcopilot-integration-iddifc-proxy(deprecated)disable-xpia-promptandcopilot-integration-idare entirely absent from all user-facing documentation.View other persistent documentation gaps
Schema fields missing from
frontmatter.md(12 fields)check-for-updates,disable-model-invocation,import-schema,infer,inlined-imports,mcp-servers,observability,pre-steps,rate-limit,run-install-scripts,secret-masking,tracker-idSchema fields missing from
frontmatter-full.md(2 fields)pre-steps,run-install-scriptsSafe-outputs tools missing from
frontmatter-full.md(2 tools)upload-artifactandreport-incompleteare defined in the schema and implemented in Go (pkg/workflow/publish_artifacts.go:54,pkg/workflow/report_incomplete.go:26) but absent from the reference full spec. 67 tools total in schema; 65 documented.observability.otlpsub-fields undocumentedThe
observabilityfield only appears asobservability: {}infrontmatter-full.md. The nested fieldsotlp.endpointandotlp.headers(now correctly typed asstringafter the OTLP headers migration) are not shown.mcp-scriptsinfrontmatter-full.mdshows no sub-fieldsfrontmatter-full.mdshowsmcp-scripts: {}only — the sub-field structure is not documented.aw.jsonrepo-level config is undocumentedNo documentation exists anywhere in
docs/for.github/workflows/aw.json.featuresobject has no property schemasaction-modeaccepts onlydev | release | script | action(enforced inpkg/workflow/action_mode.go) but these enum values are not defined in the schema. IDE autocomplete showsaction-tagfrom schema examples but notaction-mode. Invalid values likefeatures: { action-mode: "invalid" }pass JSON Schema validation silently.Schema
features.examplesshowsaction-tag(the action SHA/tag reference), whilefrontmatter.mddocumentsaction-modeas the primary feature. These are different features and the schema examples are misleading.View constraint validation gaps
These schema constraints are defined but not enforced in Go:
tracker-idmaxLength: 128rate-limit.maxmaximum: 10rate-limit.windowminimum: 1,maximum: 180safe-outputs.max-patch-sizemaximum: 10240upload-artifact.defaults.if-no-fileswarn|error|ignore🗂️ Stale Data
Autocomplete data still references
safe-inputs(renamed tomcp-scripts)docs/public/editor/autocomplete-data.json:1917— still lists"safe-inputs"docs/scripts/generate-autocomplete-data.js:40— still lists'safe-inputs'The rename from
safe-inputs→mcp-scriptswas done (changesetminor-rename-safe-inputs-to-mcp-scripts) but the autocomplete data was not regenerated/updated.mcp_config_schema.json— dead validation codepkg/parser/schemas/mcp_config_schema.jsonis compiled into Go butValidateMCPConfigWithSchemais a stub comment — never actually called. MCP config is accepted without schema validation.Recommendations
engine.bareinfrontmatter.md(under Engine section) andfrontmatter-full.md. The field is already deployed in production smoke workflows.compiler_types.go:511yaml tag fromcreate-code-scanning-alertstocreate-code-scanning-alert(singular) to match the schema and all other code.docs/public/editor/autocomplete-data.jsonand updatedocs/scripts/generate-autocomplete-data.jsto replacesafe-inputswithmcp-scripts.featuresinmain_workflow_schema.json— at minimum defineaction-modewith its enum values and fix thefeatures.examplesto showaction-modeinstead ofaction-tag.frontmatter.mdcovering all 9 active flags (action-mode,action-tag,mcp-gateway,mcp-scripts,integrity-reactions,cli-proxy,copilot-requests,disable-xpia-prompt,copilot-integration-id).report-incompleteandupload-artifactto the safe-outputs section offrontmatter-full.md.maxLength: 128enforcement toextractTrackerIDinpkg/workflow/frontmatter_extraction_metadata.go.rate-limit.max(≤10) andrate-limit.window(1–180) bounds validation inpkg/workflow/role_checks.go.Strategy Performance
References:
Beta Was this translation helpful? Give feedback.
All reactions