[Schema Consistency] Schema/Docs Drift: 7 undocumented schema fields, 2 broken See: anchors, inline-sub-agents schema mismatch #31437
Closed
Replies: 1 comment
-
|
This discussion has been marked as outdated by Schema Consistency Checker. A newer discussion is available at Discussion #31645. |
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
frontmatter.md) covers only ~30 of 58 top-level schema fields; several schema description URLs point to non-existent anchors.Critical Issues
1. Broken
See:doc anchors embedded in the JSON schemaTwo top-level schema descriptions tell users to "See: https://github.github.com/gh-aw/reference/frontmatter/#..." — but those anchors don't exist in
docs/src/content/docs/reference/frontmatter.md. Following the schema link lands the user on a page with no matching section.check-for-updates.../frontmatter/#check-for-updatesfrontmatter.mdrun-install-scripts.../frontmatter/#run-install-scriptsfrontmatter.mdstrict.../frontmatter/#strict-mode-strict### Strict Mode (\strict:`)`Files:
pkg/parser/schemas/main_workflow_schema.json:9420(check-for-updates),:9426(run-install-scripts).2. Schema field rejected by compiler but allowed by schema (
inline-sub-agents)pkg/workflow/compiler_validators.go:59-62rejectsinline-sub-agents: falseat compile time:But the schema (
main_workflow_schema.json:2723) declares"type": "boolean"— meaning a schema-level validator would acceptfalseand only the compiler catches it. The schema should constrain this to"const": true(or"enum": [true]) so schema-aware editors/CI flag the value before compile.Documentation Gaps
The canonical reference doc
docs/src/content/docs/reference/frontmatter.md(30###sections) is missing dedicated coverage for several top-level schema fields that are implemented and used:Top-level schema fields with no `### ` section in
frontmatter.mdfrontmatter.mdmax-effective-tokens:3683pkg/workflow/engine.go:118-181(parsed top-level)engines.mdtable and ADR31418-...md. Used in.github/workflows/schema-consistency-checker.md:13.max-runs:3698pkg/workflow/engine.go+awf_config.goengines.mdtable.check-for-updates:9417pkg/workflow/update_check_validation.gofrontmatter-full.md:6932(auto-generated commented dump).run-install-scripts:9425frontmatter-full.md:6943(auto-generated commented dump).disable-model-invocation:2949pkg/parser/include_processor.go:203frontmatter-full.md:1632.inline-sub-agents:2723frontmatter.mdreference/inline-sub-agents.md), but not linked fromfrontmatter.md.user-rate-limitfrontmatter.md)reference/rate-limiting-controls.mdandcost-management.mdbut not in canonicalfrontmatter.md.max-effective-tokensis the most concerning: the schema describes a numeric ET budget cap with a default of10000000, the parser handles bothintand numeric-string forms (pkg/workflow/engine.go:139-149), and the engine config exposes it onEngineConfig.MaxEffectiveTokens— but a user reading the docs has no idea this exists. The ADR (docs/adr/31418-...md) is the only narrative reference, and ADRs aren't user documentation.Schema Improvements Needed
inline-sub-agents: change"type": "boolean"→"const": true(or"enum": [true]) atmain_workflow_schema.json:2723, since the compiler rejectsfalse. Keep the deprecation note.See:URLs forcheck-for-updatesandrun-install-scripts, or add the corresponding###sections infrontmatter.mdso the anchors resolve.Parser Updates Required
No parser correctness bugs were found in this scan. The compiler/parser correctly implements every field examined; the gap is between code+schema (which agree) and the reference documentation (which lags).
Workflow Violations
No workflow files were found violating the schema. Spot-check:
.github/workflows/schema-consistency-checker.mdusesmax-effective-tokens: 20000000, which is valid per the schema (oneOf: integer|numeric string).The
in_used_not_schemalist fromschema-diff.json(e.g.,affected_sections,prompt_phases,verdict,serena-find_symbol) appears to be from markdown-body content (audit/eval workflows and inline tool-name keys), not actual top-level frontmatter — likely a false-positive of the extractor, worth a follow-up to the diff script rather than a real inconsistency.Recommendations
frontmatter.mdsections formax-effective-tokens,max-runs,check-for-updates,run-install-scripts,disable-model-invocation,user-rate-limit, and a cross-link toinline-sub-agents.md. This single change resolves both the documentation gap and the broken schema anchor links.inline-sub-agentsschema to"const": trueso editor schema validators surface the same rejection that the compiler does.See: https://github.github.com/gh-aw/...#anchorURLs in the schema and lock-file generator — only 3 currently exist (strict,check-for-updates,run-install-scripts); 2 of 3 are broken.schema-diff.jsonextractor soused_in_workflowsexcludes keys inside the markdown body — currently it surfaces things likeverdictandserena-find_symbolthat aren't frontmatter.Strategy Performance
frontmatter.mdheading coverage + broken-anchor detection (proven path)strategy-1,strategy-2,strategy-3in/tmp/gh-aw/cache-memory/strategies.jsonNext Steps
###sections todocs/src/content/docs/reference/frontmatter.mdinline-sub-agentsschema toconst: trueSee: https://github.github.com/gh-aw/...URLs inmain_workflow_schema.jsonresolveschema-diff.jsonextractor to ignore markdown-body keysBeta Was this translation helpful? Give feedback.
All reactions