[Schema Consistency] Schema Consistency Check - 2026-03-04 #19569
Closed
Replies: 1 comment
-
|
This discussion was automatically closed because it expired on 2026-03-05T10:08:20.471Z.
|
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.
-
Automated schema consistency analysis run for §22664165419 on 2026-03-04 using Strategy 20: Behavioral Change Archaeology + Documentation Cross-Reference Audit.
This strategy reads pending changeset files to surface recently-landed behavioral changes, then cross-references the code against all documentation files to find stale or contradictory entries.
Summary
reaction:status comment docs contradictionbots:schema,safe-outputs.mdglobal fieldsfeatures.copilot-requests,on.status-commentin frontmatter.mdCritical Issues
1.
triggers.mdcontradictsglossary.mdonreaction:+ status commentsChangeset:
minor-decouple-status-comment.md— "Decouple the status comment from the ordinary ai-reaction emoji so they must each be enabled explicitly (e.g., addstatus-comment: trueif you still need the started/completed comment)."The problem: Two documentation files now directly contradict each other:
docs/src/content/docs/reference/triggers.md:317— WRONG (stale):docs/src/content/docs/reference/command-triggers.md:176— WRONG (stale):docs/src/content/docs/reference/glossary.md:102— CORRECT:Code confirms the decoupling (
pkg/workflow/compiler_activation_job.go:141-142):And
actions/setup/js/add_reaction.cjs:11confirms:Impact: Users who add
reaction: "eyes"expecting the status comment behaviour they read about intriggers.mdwill see only the emoji, with no workflow run link comment. This was a breaking behaviour change with no update to the primary documentation page.Fix: Update
triggers.mdandcommand-triggers.mdto remove the claim that reactions automatically create status comments, and add a note directing users tostatus-comment: true.High Priority Issues
Issue 2: Top-level
bots:in schema not marked as deprecatedSchema location:
pkg/parser/schemas/main_workflow_schema.json—properties.botsThe problem: The schema defines
botsas a top-level property with no deprecation marker:However, the compiler only reads from
on.bots(pkg/workflow/role_checks.go:142-158):A codemod (
pkg/cli/codemod_bots.go) migrates top-levelbots:→on.bots:. The documentation correctly mentions this (docs/.../frontmatter.md:287):But the schema itself does not mark the top-level
bots:as deprecated. Users relying on schema validation alone (without runninggh aw compile) would see no warning about the field being ignored.Impact: Workflows using top-level
bots:will silently compile without bot filtering, as the field is ignored.Fix: Add a deprecation note to the top-level
bots:schema description, e.g.:Issue 3:
safe-outputs.mdmissing documentation for global configuration fieldsThe primary
safe-outputs.mdreference page covers all safe-output handler types but does not document the global configuration fields that apply to the safe-outputs job itself. These fields are in both the schema (properties.safe-outputs.properties) and the compiler (pkg/workflow/compiler_types.go) but only appear infrontmatter-full.md:safe-outputs.mdfrontmatter-full.mdid-tokenfrontmatter_types.go:390runs-oncompiler_types.go:491stepscompiler_types.go:497activation-commentssafe_outputs_config.go:461The schema for
id-tokendescribes a non-trivial feature (OIDC auto-detection override), but users readingsafe-outputs.mdwill never encounter it.Fix: Add a "Global Configuration" section to
safe-outputs.mdcoveringid-token,runs-on,steps,activation-comments,group-reports, andmax-bot-mentions.Medium Priority Issues
Issue 4:
features.copilot-requestsimplemented but undocumentedChangeset:
patch-add-copilot-requests-feature.md— "Documented thefeatures.copilot-requestsfeature flag so GitHub Actions token authentication, threat detection permissions, and the Copilot CLI execution environment honor the Copilot requests flow."The changeset claims the feature was documented, but a search through all reference docs returns zero hits for
copilot-requests:The feature is implemented in the code:
pkg/constants/constants.go:632:CopilotRequestsFeatureFlag FeatureFlag = "copilot-requests"pkg/workflow/copilot_engine_execution.go:214to injectCOPILOT_GITHUB_TOKEN, enableS2STOKENS=true, and addcopilot-requests: writepermissionspkg/workflow/tools.go:196to configure the GitHub tools token chainThe schema (
features.additionalProperties: true) allows any feature flag, so schema validation does not help here.Impact: Users of the Copilot engine who want to use the managed Copilot requests token flow have no documentation to follow.
Fix: Add documentation for
features.copilot-requeststodocs/src/content/docs/reference/engines.mdor a dedicated features reference.Issue 5:
on.status-commentabsent fromfrontmatter.mdThe
on.status-commentfield (schema:properties.on.oneOf[1].properties.status-comment) appears in:frontmatter-full.md:683✅glossary.md:102✅.github/workflows/smoke-agent.md:8) ✅But it does not appear in the primary
frontmatter.mdreference. The on: triggers section offrontmatter.mddocumentsreaction:,stop-after:,skip-bots:,roles:, etc., but omitsstatus-comment:.Given the behaviour change in
minor-decouple-status-comment(now requiring explicit opt-in), this field needs prominent documentation in the primary reference.Fix: Add a
### Status Comment (\on.status-comment:`)section tofrontmatter.md, adjacent to thereaction:` section, explaining that status comments (workflow run link comments) must now be explicitly opted into.Recommendations
Immediately update
triggers.md— remove the sentence "For issues/PRs, a comment with the workflow run link is created" and replace with a note thatstatus-comment: truemust be set explicitly. Also updatecommand-triggers.mdaccordingly. This is the highest-impact change since it directly contradicts the glossary.Add a deprecation notice to the top-level
bots:schema field — the description should mention that the field is ignored by the compiler and point users toon.bots.Add a "Global Configuration" section to
safe-outputs.md— coveringid-token,runs-on,steps, andactivation-commentswith the same depth as the handler sections.Document
features.copilot-requests— add a section toengines.mdexplaining when and how to use this feature flag for Copilot engine workflows.Add
status-commenttofrontmatter.md— given the decoupling change, users need to find this field in the primary reference without reading the full reference file.Strategy Performance
status-commentdecoupling that had not been propagated to documentation.changeset/Next Steps
docs/src/content/docs/reference/triggers.md— remove false claim about automatic status commentsdocs/src/content/docs/reference/command-triggers.md— update reactions sectionpkg/parser/schemas/main_workflow_schema.json— add deprecation to top-levelbots:descriptiondocs/src/content/docs/reference/safe-outputs.md— add global config fields sectionfeatures.copilot-requestsin engine reference docson.status-commenttodocs/src/content/docs/reference/frontmatter.mdReferences:
Beta Was this translation helpful? Give feedback.
All reactions