githubnext / githubnext/gh-aw-cao
[aw-maintenance:compiler-security] gh-aw-workshop: actionlint strict-mode failures (aw_context expression errors + shellcheck)
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 1
- Avg merge
- 49m
- Merged PRs (30d)
- 837
Description
Compiling all 23 gh-aw workflow sources in `githubnext/gh-aw-workshop` (target SHA `d45b06565321d2c83fa33b61cfb8045512069763`) failed strict-mode validation: the compiler produced 22 lock files but `actionlint` found 23 errors, so `gh aw compile --strict` exited with code 1. Highest-severity supported findings are `[expression] property "aw_context" is not defined` errors (17 occurrences) in `workshop-student-simulator.lock.yml`, plus 6 shellcheck findings in `workshop-ui-screenshots.lock.yml`. No container/image or license-scanner findings were present in the report. Recommended next action: fix the two flagged `.md` sources and recompile until actionlint is clean.
- **Target repository**: `githubnext/gh-aw-workshop`
- **Compiler exit code**: `1`
- **Workflow sources checked**: `23`
- **Generated lock files checked**: `22`
- **Result**: `findings`
### Findings
| Tool | Workflow/Image | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint (expression) | workshop-student-simulator.lock.yml | error | `property "aw_context" is not defined in object type {}` at 17 locations (lines 182, 260-263, 306-309, 526) | Fix the expression referencing `aw_context` in `workshop-student-simulator.md` (undefined context property) and recompile |
| actionlint (shellcheck) | workshop-ui-screenshots.lock.yml | style/warning/info | SC2001 (use `${variable//search/replace}`), SC2034 (`refs` unused), SC2094 x2 (read/write same file in pipeline), SC2221/SC2222 (overlapping case patterns) | Rework the embedded shell script in `workshop-ui-screenshots.md` per each shellcheck code and recompile |
| gh-aw compiler | curriculum-evaluator, docs-linker, guidelines-enforcer, manual-semver-release, markdown-dedup, security-side-quest, side-quest, training-plan-research, workflow-skills-editor, workshop-author, workshop-builder, workshop-explanatory-diagrams, workshop-skill-activity-author | warning | `workflow_dispatch` workflow has no `concurrency.job-discriminator`; generated concurrency group is shared across dispatches | Add a job-discriminator (e.g. `${{ github.run_id }}`) to each workflow's concurrency config |
| gh-aw compiler | (repo-wide, action pin) | info | `actions/checkout@v7.0.0` is outdated; latest is `v7.0.1` | Bump the checkout action pin to v7.0.1 |
| gh-aw compiler | (repo-wide, firewall config) | info | Recommend ecosystem identifier instead of domain `openai.com` → `codex` | Replace raw domain with the `codex` ecosystem identifier in firewall/network config |
No vulnerable container images, license findings, or dedicated security-scanner (zizmor/poutine/runner-guard/grype/syft) findings appeared in the captured report; only actionlint (with embedded shellcheck) ran to completion before the strict-mode failure was reported.
### Local fixing loop
1. Install or update the gh-aw extension, then configure the coding agent's MCP client to launch `gh aw mcp-server` over stdio from the `gh-aw-workshop` repository root.
2. Give the agent the prompt below and require it to use the `fix` and `compile` MCP tools rather than editing generated `.lock.yml` files.
3. Require the agent to repeat the same full compiler validation and security scan until it passes, or stop and explain any finding that needs human action.
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 report excerpt (bounded)
```
.github/workflows/workshop-student-simulator.lock.yml:182:51: error: [expression] property "aw_context" is not defined in object type {}
... (16 more aw_context occurrences at lines 260-263, 306-309, 526)
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2001:style:21:15: See if you can use ${variable//search/replace} instead
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2034:warning:12:1: refs appears unused. Verify use (or export if used externally)
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2094:info:26:27: Make sure not to read and write the same file in the same pipeline
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2094:info:32:12: Make sure not to read and write the same file in the same pipeline
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2221:warning:24:25: This pattern always overrides a later one on line 25
.github/workflows/workshop-ui-screenshots.lock.yml:497:9: error: [shellcheck] SC2222:warning:24:31: This pattern never matches because of a previous pattern on line 25
✗ actionlint failed
strict mode: actionlint found 23 errors in workflows - workflows must have no actionlint errors in strict mode
```
Diff summary (22 lock files regenerated, no source .md changes needed to reproduce)
```
22 files changed, 11824 insertions(+), 7825 deletions(-)
```
Regenerated lock files (all pre-existing, modified in place — deterministic compile step only, no manual edits):
aw-accuracy-reviewer, curriculum-evaluator, docs-linker, guidelines-enforcer, manual-semver-release, markdown-dedup, q, security-side-quest, side-quest, title-similarity-review, training-plan-research, workflow-skills-editor, workshop-author, workshop-builder, workshop-explanatory-diagrams, workshop-link-checker, workshop-order-review, workshop-playwright-qa, workshop-skill-activity-author, workshop-student-simulator, workshop-sync-check, workshop-ui-screenshots
### Control Plane
- Correlation ID: `33824386621-31`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: https://github.com/githubnext/gh-aw-cao/actions/runs/33824386621
> Generated by [:shield: AW Maintenance / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/33824815618) · copilot · auto · 29.5 AIC · ⌖ 14.8 AIC · ⊞ 13.9K · [◷](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 18, 2026, 1:18 AM UTC
Contributor guide
Research direction
From the gh-aw-workshop repository root, inspect .github/workflows/workshop-student-simulator.md and workshop-ui-screenshots.md rather than generated lock files. Use the gh-aw MCP fix and compile tools, beginning with gh aw compile --strict, then review the reported actionlint and shellcheck findings. Done means strict compilation completes without actionlint errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, shell
- Domain
- ci-cd, devops, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100