githubnext / githubnext/gh-aw-cao

[cao-evolution:integrity] Control-plane integrity requires attention

Closed Beginner friendly
#11,964 0 comments 0 reactions 0 assignees View on GitHub
cao-evolution cao-evolution:integrity
Dominant language
JavaScript
Stars
3
Forks
1
Avg merge
49m
Merged PRs (30d)
837

Description

`cao-evolution/dashboard.json` (the CAO Evolution package's own dashboard definition) references two workflow files that do not exist and are not declared as workers anywhere in `.github/workflows/cao.json`: `.github/workflows/aw-failures-investigator.md` and `.github/workflows/aw-maintenance-compiler-security.md`. These names appear to be pre-rename leftovers — the package now declares `cao-evolution-failures-investigator` and `cao-evolution-compiler-security` as the corresponding workers, and both of those `.md`/`.lock.yml` pairs exist and are correctly bound to `shared/control.md` with matching `package`/`worker` identity. All other checked control-plane bindings (worker↔workflow mapping for every package in `cao.json`, orchestrator/worker `shared/control.md` imports, and dashboard.json worker coverage for the other 8 packages) are consistent.

**Action:** Assign this issue to Copilot to remove the two stale workflow references from `cao-evolution/dashboard.json`'s query filters, since the correctly-named `cao-evolution-failures-investigator.md` and `cao-evolution-compiler-security.md` entries already cover the same runs/outcomes. Acceptance check: `grep -rn "aw-failures-investigator\|aw-maintenance-compiler-security" cao-evolution/dashboard.json` returns nothing, and `npm run compile` and `npm run docs:build` (if dashboard schema validation runs) still succeed.

Agent prompt

In `cao-evolution/dashboard.json`, remove every array entry equal to `.github/workflows/aw-failures-investigator.md` or `.github/workflows/aw-maintenance-compiler-security.md` from the `workflow` filter lists (there are 5 occurrences across the `cao-evolution-runs` and `cao-evolution-aw-maintenance-attainment` queries, including nested `filters.workflow` arrays used by chart marks). Do not remove the correctly-named `cao-evolution-failures-investigator.md` and `cao-evolution-compiler-security.md` entries, which already reference the current, existing workflow sources. After editing, validate with:

```
grep -rn "aw-failures-investigator\|aw-maintenance-compiler-security" cao-evolution/dashboard.json
python3 -c "import json; json.load(open('cao-evolution/dashboard.json'))"
npm run compile
```

The grep should return no output and the JSON should still parse.

Evidence

Stale references (as of policy SHA `16cbf27aa6f4eaeaa93290d3b17ae1010588cf2a`):

```
cao-evolution/dashboard.json:25: ".github/workflows/aw-failures-investigator.md",
cao-evolution/dashboard.json:26: ".github/workflows/aw-maintenance-compiler-security.md"
cao-evolution/dashboard.json:68: ".github/workflows/aw-failures-investigator.md",
cao-evolution/dashboard.json:69: ".github/workflows/aw-maintenance-compiler-security.md"
cao-evolution/dashboard.json:128: ".github/workflows/aw-failures-investigator.md",
cao-evolution/dashboard.json:129: ".github/workflows/aw-maintenance-compiler-security.md"
cao-evolution/dashboard.json:173: ".github/workflows/aw-failures-investigator.md",
cao-evolution/dashboard.json:174: ".github/workflows/aw-maintenance-compiler-security.md"
cao-evolution/dashboard.json:330: ".github/workflows/aw-failures-investigator.md",
cao-evolution/dashboard.json:331: ".github/workflows/aw-maintenance-compiler-security.md"
```

Neither `aw-failures-investigator.md` nor `aw-maintenance-compiler-security.md` exists in `.github/workflows/` (checked `.md` and `.lock.yml`), and neither name appears as a `workflow` value under any package's `workers` in `.github/workflows/cao.json`. A repository-wide `git log --all --follow` for both paths found no history, confirming these are stale/renamed references rather than files removed by a recent commit.

All other verified boundaries were consistent:
- Every `workers..workflow` entry in `cao.json` for all 10 packages resolves to an existing `.md` + `.lock.yml` pair.
- Every `.md` file's `shared/control.md` import (`package`/`role`/`worker`) matches its filename and a corresponding `cao.json` worker entry, for both `orchestrator` and `worker` roles, across all packages.
- The other 8 packages' `dashboard.json` files only reference workflow files that exist and are declared in `cao.json`.
- `npm run compile` succeeded with no errors.

> Generated by [CAO Evolution / Integrity](https://github.com/githubnext/gh-aw-cao/actions/runs/35052214814) · copilot · auto · 73 AIC · ⌖ 11.7 AIC · ⊞ 12K · [◷](https://github.com/search?q=repo%3Agithubnext%2Fgh-aw-cao+is%3Aissue+%22gh-aw-workflow-call-id%3A+githubnext%2Fgh-aw-cao%2Fcao-evolution-integrity%22&type=issues)
> - [x] expires on Sep 30, 2026, 3:41 AM UTC

Contributor guide

Open the contributing guide

Research direction

Edit cao-evolution/dashboard.json and inspect the five workflow filter lists named in the issue. First run the supplied grep and JSON parse checks; done means both stale names are absent while the correctly named workflow entries remain, and npm run compile still succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
devops
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
94/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.