githubnext / githubnext/gh-aw-cao

[aw-doctor:compiler-security] Compiler validation failure: actionlint error in self-care-dashboard-performance.lock.yml (undefined safe-outputs-app-token step

Closed
#4,733 0 comments 0 reactions 0 assignees View on GitHub
aw-doctor aw-doctor:compiler-security compiler security
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
49m
Merged PRs (30d)
837

Description

Target `githubnext/gh-aw-cao` failed strict compilation. Compiler exit code 1. 44 workflow sources checked, 44 lock files compiled. 1 actionlint finding blocks strict mode. No other lint, container, license, or scanner findings were reported (guard policy dry-run notices and one push-to-pull-request-branch scope reminder are informational only).

**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**: `44`
- **Generated lock files checked**: `44`
- **Result**: `findings`

| Tool | Workflow/Image | Severity | Finding | Remediation |
|---|---|---|---|---|
| actionlint | `.github/workflows/self-care-dashboard-performance.lock.yml` (line 2283) | error | Expression references `steps.safe-outputs-app-token.outputs.token`, but that step id is not defined in the `steps` context type available at that point in the generated job — `safe-outputs-app-token` is missing/misnamed relative to the actual step id emitted for the `GIT_TOKEN` env var in the `download-agent-output`/`setup`/`setup-agent-output-env` job. | Regenerate the lock file from the `.md` source using `gh aw compile` after fixing the step-id reference (or the step that should produce this output) in `self-care-dashboard-performance.md` or its included shared components; do not hand-edit the `.lock.yml`. |

Also noted (informational, not a blocking finding):
- `⚠ Ignoring includes entry ".github/workflows/aw.json" in target/aw.yml` — stray includes entry, not a workflow/skill/agent source; likely harmless but worth cleaning up.
- `⚠ push-to-pull-request-branch: target: "*"` in `pr-sous-chef.md` allows pushing to any PR branch with no `required-title-prefix`/`required-labels` constraint — a scope-widening reminder, not confirmed as exploitable.

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

```
i Using actionlint 1.7.12
i Running actionlint (with shellcheck/pyflakes) on 44 files
.github/workflows/self-care-dashboard-performance.lock.yml:2283:26: error: [expression] property "safe-outputs-app-token" is not defined in object type {download-agent-output: {conclusion: string; outcome: string; outputs: {string => string}}; setup: {conclusion: string; outcome: string; outputs: {string => string}}; setup-agent-output-env: {conclusion: string; outcome: string; outputs: {string => string}}}

📖 https://github.com/rhysd/actionlint/blob/main/docs/checks.md#check-syntax-expression
2283 | GIT_TOKEN: ${{ steps.safe-outputs-app-token.outputs.token || secrets.GH_AW_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

✗ actionlint failed
strict mode: actionlint found 1 errors in workflows - workflows must have no actionlint errors in strict mode
```

No container image, license, zizmor, poutine, runner-guard, grant, grype, or syft findings were present in the deterministic report; those tools either passed or were not part of the recorded failure output.

Control plane context

- Correlation ID: `34139715415-70`
- Central repository: `githubnext/gh-aw-cao`
- Control plane run URL: `https://github.com/githubnext/gh-aw-cao/actions/runs/34139715415`

> Generated by [:shield: AW Doctor / Compiler Security](https://github.com/githubnext/gh-aw-cao/actions/runs/34140104446) · copilot · auto · 23.4 AIC · ⌖ 9.53 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 21, 2026, 3:54 PM UTC

Contributor guide

Open the contributing guide

Research direction

Inspect .github/workflows/self-care-dashboard-performance.md and any included shared components for the safe-outputs-app-token reference; do not edit the generated .lock.yml. Run gh aw compile with strict validation, then verify the generated workflow and actionlint output. Done means the missing-step error is resolved and the full compiler and security scan passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, security, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
62/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.