githubnext / githubnext/gh-aw-cao
[aw-doctor:compiler-security] 33 compiled lock files fail actionlint strict mode (152 errors) in githubnext/gh-aw-cao
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 49m
- Merged PRs (30d)
- 837
Description
Target `githubnext/gh-aw-cao`: `gh aw compile` completed (43 sources → 43 lock files) but exited **1** because strict-mode `actionlint` found **152 errors** across **33** generated `.lock.yml` files. No compiler crash, no missing evidence — this is a validation/lint failure blocking a clean compile. Highest-return fix: undefined-expression-property errors (steps outputs and dispatch-input context fields referenced but not declared), plus a recurring `shellcheck SC2129` style issue in one script pattern repeated in every affected workflow.
**Action:** Assign this issue to Copilot using **Agent prompt** below; review its pull request and merge only after the full compiler and security scan passes.
Failure details
- **Target repository**: `githubnext/gh-aw-cao`
- **Compiler exit code**: `1`
- **Workflow sources checked**: `43`
- **Generated lock files checked**: `43`
- **Result**: `findings`
| Tool | Workflow(s) | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint | 33 lock files (e.g. `aw-doctor.lock.yml`, `aw-failures-investigator.lock.yml`, `uk-ai-advisory.lock.yml`, full list below) | error (unknown/style) | `property "rollout_percent" is not defined` (26×) and `property "max_repos" is not defined` (26×) referenced from `github.event.inputs.*` context in dispatch-handling steps whose declared input type omits these fields | Add `rollout_percent` and `max_repos` to the relevant `workflow_dispatch.inputs` (or the dispatch-envelope input schema) in the `.md` source so the generated context type includes them, then recompile |
| actionlint | Same 33 lock files | error | `property "aw" is not defined` (33×) on the default GitHub Actions context object | Fix/guard the expression referencing `aw` (likely a custom context var that must be exposed via `env:`/`with:` rather than assumed as an ambient context) in the shared control source |
| actionlint | 11 lock files | error | `property "github-mcp-app-token" is not defined in object type {set-runtime-paths:...; setup:...}` — referenced step output not produced by the named steps | Correct the step-output reference (likely a renamed/typo'd step id) in the shared MCP setup include |
| actionlint | 7 lock files | error | `property "correlation_id" / "control_plane_run_url" / "central_repo" is not defined` in dispatch-envelope input object | Extend the dispatch-workflow input schema in the `.md` frontmatter to declare these envelope fields |
| actionlint | 1 lock file | error | `property "safe-outputs-app-token" is not defined` | Same class as `github-mcp-app-token` above — verify step id/output name |
| shellcheck (via actionlint) | 33 lock files, one occurrence each | style (SC2129) | `Consider using { cmd1; cmd2; } >> file instead of individual redirects` | Refactor the repeated shell snippet (likely in shared control/logging steps) to batch redirects; low severity but trivial to fix repo-wide in one shared include |
Full list of 33 affected lock files: `aw-doctor`, `aw-failures-investigator`, `aw-maintenance-compiler-security`, `aw-maintenance-upgrade`, `dependabot-release-train-updater`, `dependabot`, `eu-cra-compliance-article-14-reporting-readiness`, `eu-cra-compliance-conformity-release-evidence`, `eu-cra-compliance-scope-classifier`, `eu-cra-compliance-security-requirements-auditor`, `eu-cra-compliance-supply-chain-sbom-auditor`, `eu-cra-compliance-vulnerability-handling-auditor`, `eu-cra-compliance`, `optimization-agents-md-curator`, `optimization-ai-credit-auditor`, `optimization-ai-credit-optimizer`, `optimization-skills-curator`, `optimization`, `self-care-accessibility-checker`, `self-care-code-improvement`, `self-care-dashboard-language-refactor`, `self-care-dashboard-performance`, `self-care-dashboard-review`, `self-care-data-acquisition-audit`, `self-care-docs-build-time-investigator`, `self-care-open-source-failures`, `self-care-primer-brand-checker`, `self-care`, `software-development-practices-github-well-architected`, `software-development-practices-nist-ssdf`, `software-development-practices`, `uk-ai-advisory-operational-resilience`, `uk-ai-advisory`.
Note: since most affected workflows share the `shared/control.md` dependency and dispatch-envelope patterns, fixing the shared source(s) once should resolve the large majority of the 152 errors across all 33 files.
Agent prompt
1. Assign this issue to Copilot.
2. Configure its MCP client to launch `gh aw mcp-server` over stdio from the target repository, then give it the prompt below. Require the server's `fix` and `compile` tools; never allow direct edits to generated `.lock.yml` files.
3. Review the resulting pull request and require the same full compiler and security scan to pass before merge. If a finding needs human action, require the agent to stop and explain it.
**Agent prompt**
Fix the reported gh-aw compiler and security findings in this repository. Change only `.github/workflows/*.md` sources and directly related files; never edit generated `.lock.yml` files. Use the gh-aw MCP server's `fix` and `compile` tools, rerunning compilation with strict validation, model checks, actionlint, shellcheck, yamllint, zizmor, poutine, runner-guard, grant, grype, and syft until clean. Review generated lock-file diffs, preserve existing behavior, and stop with a concise explanation if a finding cannot be fixed safely.
Raw evidence
Compiler summary:
```
Target: githubnext/gh-aw-cao
Exit code: 1
Workflow sources: 43
Compiled locks: 43
```
Representative actionlint errors (redacted of any token-like content; none found):
```
.github/workflows/aw-doctor.lock.yml:478:29: error: [expression] property "github-mcp-app-token" is not defined in object type {set-runtime-paths: {...}; setup: {...}}
.github/workflows/aw-doctor.lock.yml:1187:29: error: [expression] property "aw" is not defined in object type {action: string; ...}
.github/workflows/aw-doctor.lock.yml:1505:9: error: [shellcheck] shellcheck reported issue in this script: SC2129:style:7:1: Consider using { cmd1; cmd2; } >> file instead of individual redirects
.github/workflows/aw-doctor.lock.yml:1628:39: error: [expression] property "central_repo" is not defined in object type {aw_context: string; max_repos: string; rollout_percent: string; safe_output_mode: string; safe_output_repo: string; target_repo: string}
.github/workflows/aw-doctor.lock.yml:1629:42: error: [expression] property "control_plane_run_url" is not defined in object type {...}
.github/workflows/aw-doctor.lock.yml:1630:35: error: [expression] property "correlation_id" is not defined in object type {...}
...
✗ actionlint failed
strict mode: actionlint found 152 errors in workflows - workflows must have no actionlint errors in strict mode
```
No git diff was produced by the compiler run (`diff-stat.txt` empty), consistent with a validation-only failure and no partial writes.
Control plane context
- Correlation ID: `34058834588-51`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: https://github.com/githubnext/gh-aw-cao/actions/runs/34058834588
> Generated by [:shield: AW Doctor / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/34059035172) · copilot · auto · 31.2 AIC · ⌖ 9.42 AIC · ⊞ 14.2K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Faw-maintenance-compiler-security%22&type=issues)
> - [x] expires on Sep 20, 2026, 8:53 PM UTC
Contributor guide
Assessment
This issue has not been assessed yet.