You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GSD audit classified eight findings as auto-fixable and two GitHub administration items as manual-only. All eight repository findings were fixed, tested, and recorded in `memory/examples/`.
4
+
5
+
The demo now provides a deliberate failure switch, strict CI validation, immutable Action references, least-privilege workflow boundaries, executable workflow contracts, serialized intake, richer audit evidence, and a repeatable operator runbook.
6
+
7
+
F-08 failed its first contract test because the intake update path did not reopen closed issues. That attempt was reverted, corrected, and verified on retry.
| F-01 | high | auto-fixable | The documented demo cannot produce a failure because Demo CI always succeeds. |`.github/workflows/demo-ci.yml`, `README.md`|
12
+
| F-02 | high | auto-fixable | CI prints YAML parse warnings but still exits successfully. |`.github/workflows/ci.yml`|
13
+
| F-03 | high | auto-fixable | Third-party Actions use mutable major-version tags instead of immutable commit SHAs. |`.github/workflows/ci.yml`, `.github/workflows/autopilot-create-issue.yml`|
14
+
| F-04 | medium | auto-fixable | CI and Demo CI do not declare least-privilege token permissions or job timeouts. |`.github/workflows/ci.yml`, `.github/workflows/demo-ci.yml`|
15
+
| F-05 | medium | auto-fixable | No automated contract tests protect workflow behavior and security invariants. |`tests/test_workflows.py`, `.github/workflows/ci.yml`|
16
+
| F-06 | medium | auto-fixable | Intake processing has no concurrency guard or timeout, allowing duplicate/racing issue updates. |`.github/workflows/autopilot-create-issue.yml`|
17
+
| F-07 | low | auto-fixable | Intake issues omit run attempt, event, actor, and failure conclusion from the audit evidence. |`.github/workflows/autopilot-create-issue.yml`|
18
+
| F-08 | low | auto-fixable | The demo runbook lacks prerequisites, reset steps, and failure-mode troubleshooting; repeat demonstrations can leave a matching intake issue closed. |`.github/workflows/autopilot-create-issue.yml`, `README.md`|
19
+
20
+
## Manual-only Findings
21
+
22
+
- M-01: Protect `main` and require the `CI` status check. The GitHub API reports that `main` is not protected.
23
+
- M-02: Configure the organization Actions policy to allow only approved actions and require immutable SHA pinning where supported. The current GitHub token cannot read or change this setting.
@@ -47,7 +47,7 @@ gh pr list -R Coding-Autopilot-System/autopilot-demo
47
47
48
48
## Demo runbook
49
49
50
-
1. Trigger [`.github/workflows/demo-ci.yml`](.github/workflows/demo-ci.yml) to produce a known failure signal.
50
+
1. Trigger [`.github/workflows/demo-ci.yml`](.github/workflows/demo-ci.yml)with `simulate_failure=true`to produce a known failure signal. Pushes and default dispatches remain green.
51
51
2. Confirm [`.github/workflows/autopilot-create-issue.yml`](.github/workflows/autopilot-create-issue.yml) creates an `autofix + queued` issue.
52
52
3. Watch `autopilot-core` pick up the issue and open a PR back into this repo.
53
53
4. Use this repo's issue, branch, and PR history as the audit trail for the demo.
@@ -72,3 +72,16 @@ gh pr list -R Coding-Autopilot-System/autopilot-demo
72
72
-[autopilot-core](https://github.com/Coding-Autopilot-System/autopilot-core) - operator control plane
- Authenticate GitHub CLI with `gh auth status` and confirm Actions are enabled for this repository.
78
+
- Run the `autopilot-core` operator with access to this repository before triggering the failure.
79
+
- Expect Demo CI to fail, Autopilot Issue Intake to create or reopen one `autofix + queued` issue, and the operator to propose a pull request.
80
+
81
+
## Reset and troubleshooting
82
+
83
+
1. Close the completed intake issue and merge or close its repair pull request before the next demonstration.
84
+
2. Re-run with `simulate_failure=true`; intake reopens the matching issue when the same commit is demonstrated again.
85
+
3. If no issue appears, inspect `gh run list -R Coding-Autopilot-System/autopilot-demo --workflow autopilot-create-issue.yml` and confirm the failed run was named `Demo CI`.
86
+
4. If the issue remains queued, verify the `autopilot-core` operator is running and can read issues and create branches and pull requests in this repository.
87
+
5. If CI fails before the demo step, run `python -m unittest discover -s tests -v` locally and repair the workflow contract violation first.
0 commit comments