Step Name Alignment Issues
Found across all .github/workflows/*.lock.yml files (229 lock files surveyed; step names originate from Go compiler sources in pkg/workflow/).
Summary
Two recurring capitalization inconsistencies appear in compiler-generated step names. Because the same generator code emits these names into every workflow's .lock.yml, fixing them once in the Go source aligns the entire fleet.
Issues Identified
1. [Medium Priority] Glossary mismatch: MCP servers (lowercase) vs MCP Server (capitalized)
Current step name:
Mount MCP servers as CLIs — emitted by pkg/workflow/mcp_cli_mount.go
Sibling step names (already capitalized correctly):
Determine automatic lockdown mode for GitHub MCP Server (pkg/workflow/compiler_github_mcp_steps.go:66)
Generate Safe Outputs MCP Server Config (pkg/workflow/mcp_setup_generator.go:327)
Start Safe Outputs MCP HTTP Server
Stop MCP Gateway / Start MCP Gateway
Issue:
The project glossary (docs/src/content/docs/reference/glossary.md) defines the term as MCP Server (capitalized). Every other compiler-emitted step name that references MCP Server/Gateway capitalizes the noun. Mount MCP servers as CLIs is the lone outlier with lowercase servers.
Suggested improvement:
Mount MCP servers as CLIs → Mount MCP Servers as CLIs
Glossary reference: MCP Server
2. [Medium Priority] Inconsistent casing pattern in Setup <X> steps
The Setup ... family of compiler-generated step names mixes two casing styles with no clear rule:
Title Case examples (proper-noun-style)
Setup Scripts
Setup Node.js
Setup Python
Setup Docker Buildx
Sentence case examples
Setup threat detection
Setup agent output environment variable
Setup cache-memory git repository
Setup jq utilities directory
Setup working directories
Setup Python environment
Mixed within a single name:
Setup Go for CLI build — Go and CLI capitalized, build lowercase
Issue:
Readers cannot predict the casing of a Setup ... step. The Title Case variants tend to map to single-token proper nouns (Scripts, Node.js, Python, Docker Buildx); the sentence-case variants describe an action target in plain English. A documented convention would resolve the ambiguity.
Suggested convention (one of two acceptable choices — please pick one):
-
Option A — Sentence case after the verb (most common style in this codebase): keep capitalization only for proper nouns and acronyms.
Setup Scripts → Setup scripts
Setup Python environment (already correct)
Setup Docker Buildx (proper noun, unchanged)
Setup Go for CLI build (unchanged — Go and CLI are proper noun/acronym)
-
Option B — Title Case throughout: capitalize every significant word.
Setup threat detection → Setup Threat Detection
Setup agent output environment variable → Setup Agent Output Environment Variable
Setup Go for CLI build → Setup Go for CLI Build
Option A matches GitHub Actions Marketplace conventions and the majority of names currently in the codebase, so it is the lower-churn fix.
Agentic Task Description
To apply these alignments:
- MCP Server fix: Update
pkg/workflow/mcp_cli_mount.go to emit Mount MCP Servers as CLIs (capital S).
- Setup casing: Decide on Option A or B in this issue's discussion, then update the affected name literals in:
pkg/workflow/compiler_safe_outputs_steps_test.go
pkg/workflow/safe_output_helpers_test.go
pkg/workflow/runtime_setup_test.go / runtime_setup_integration_test.go
pkg/cli/codemod_engine_steps_test.go
pkg/cli/workflows/shared/jqschema.md
- Any other step-name emitters surfaced by
grep -RIn 'name: Setup ' pkg/
- Regenerate fixtures: Update the
.golden files under pkg/workflow/testdata/ and recompile lock files (gh aw compile or run the corresponding test target).
- Verify: Run the test suite to confirm the golden files match.
- Glossary cross-check: Confirm no other step names diverge from the glossary's MCP / Frontmatter / Safe Outputs terminology after the change.
Related Files
- Compiler step-name emitters:
pkg/workflow/mcp_cli_mount.go, pkg/workflow/compiler_github_mcp_steps.go, pkg/workflow/mcp_setup_generator.go
- Golden fixtures:
pkg/workflow/testdata/TestWasmGolden_CompileFixtures/
- Project glossary:
docs/src/content/docs/reference/glossary.md
- Cache memory:
/tmp/gh-aw/cache-memory/step-name-alignment.json
Priority
This issue is Medium Priority — the names are clear enough today but the inconsistency is visible in every workflow run summary and contradicts the glossary in one place.
AI generated by Step Name Alignment for daily maintenance
Generated by 📋 Step Name Alignment · ● 5.6M · ◷
Step Name Alignment Issues
Found across all
.github/workflows/*.lock.ymlfiles (229 lock files surveyed; step names originate from Go compiler sources inpkg/workflow/).Summary
Two recurring capitalization inconsistencies appear in compiler-generated step names. Because the same generator code emits these names into every workflow's
.lock.yml, fixing them once in the Go source aligns the entire fleet.Issues Identified
1. [Medium Priority] Glossary mismatch:
MCP servers(lowercase) vsMCP Server(capitalized)Current step name:
Mount MCP servers as CLIs— emitted bypkg/workflow/mcp_cli_mount.goSibling step names (already capitalized correctly):
Determine automatic lockdown mode for GitHub MCP Server(pkg/workflow/compiler_github_mcp_steps.go:66)Generate Safe Outputs MCP Server Config(pkg/workflow/mcp_setup_generator.go:327)Start Safe Outputs MCP HTTP ServerStop MCP Gateway/Start MCP GatewayIssue:
The project glossary (
docs/src/content/docs/reference/glossary.md) defines the term as MCP Server (capitalized). Every other compiler-emitted step name that references MCP Server/Gateway capitalizes the noun.Mount MCP servers as CLIsis the lone outlier with lowercaseservers.Suggested improvement:
Mount MCP servers as CLIs→Mount MCP Servers as CLIsGlossary reference: MCP Server
2. [Medium Priority] Inconsistent casing pattern in
Setup <X>stepsThe
Setup ...family of compiler-generated step names mixes two casing styles with no clear rule:Title Case examples (proper-noun-style)
Setup ScriptsSetup Node.jsSetup PythonSetup Docker BuildxSentence case examples
Setup threat detectionSetup agent output environment variableSetup cache-memory git repositorySetup jq utilities directorySetup working directoriesSetup Python environmentMixed within a single name:
Setup Go for CLI build—GoandCLIcapitalized,buildlowercaseIssue:
Readers cannot predict the casing of a
Setup ...step. The Title Case variants tend to map to single-token proper nouns (Scripts,Node.js,Python,Docker Buildx); the sentence-case variants describe an action target in plain English. A documented convention would resolve the ambiguity.Suggested convention (one of two acceptable choices — please pick one):
Option A — Sentence case after the verb (most common style in this codebase): keep capitalization only for proper nouns and acronyms.
Setup Scripts→Setup scriptsSetup Python environment(already correct)Setup Docker Buildx(proper noun, unchanged)Setup Go for CLI build(unchanged —GoandCLIare proper noun/acronym)Option B — Title Case throughout: capitalize every significant word.
Setup threat detection→Setup Threat DetectionSetup agent output environment variable→Setup Agent Output Environment VariableSetup Go for CLI build→Setup Go for CLI BuildOption A matches GitHub Actions Marketplace conventions and the majority of names currently in the codebase, so it is the lower-churn fix.
Agentic Task Description
To apply these alignments:
pkg/workflow/mcp_cli_mount.goto emitMount MCP Servers as CLIs(capital S).pkg/workflow/compiler_safe_outputs_steps_test.gopkg/workflow/safe_output_helpers_test.gopkg/workflow/runtime_setup_test.go/runtime_setup_integration_test.gopkg/cli/codemod_engine_steps_test.gopkg/cli/workflows/shared/jqschema.mdgrep -RIn 'name: Setup ' pkg/.goldenfiles underpkg/workflow/testdata/and recompile lock files (gh aw compileor run the corresponding test target).Related Files
pkg/workflow/mcp_cli_mount.go,pkg/workflow/compiler_github_mcp_steps.go,pkg/workflow/mcp_setup_generator.gopkg/workflow/testdata/TestWasmGolden_CompileFixtures/docs/src/content/docs/reference/glossary.md/tmp/gh-aw/cache-memory/step-name-alignment.jsonPriority
This issue is Medium Priority — the names are clear enough today but the inconsistency is visible in every workflow run summary and contradicts the glossary in one place.