test(ci): validate council review bot end-to-end#331
Conversation
Add council review workflow files and document the council review feature in AI_TOOLING.md. This PR exists solely to validate the council review bot produces a clean, structured review comment. Signed-off-by: sonupreetam <[email protected]>
| council-review: | ||
| name: AI Council Review | ||
| if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' | ||
| uses: complytime/org-infra/.github/workflows/reusable_council_review.yml@feat/council-review-production # zizmor: ignore[unpinned-uses] |
| if: steps.gate.outputs.should_review == 'true' | ||
| id: review | ||
| continue-on-error: true | ||
| uses: unbound-force/unbound-force/council-review-action@feat/council-review-action # zizmor: ignore[unpinned-uses] |
CRAP Load AnalysisNo Go code changes detected in this PR. No CRAP impact. |
Pull latest reusable_council_review.yml that renders inline findings in the PR comment when the review API rejects them. Signed-off-by: sonupreetam <[email protected]>
AI Council ReviewThis PR introduces the three-workflow AI council review chain (ci_council_review_collect.yml, ci_council_review.yml, reusable_council_review.yml) plus a docs update. The fork-safe two-workflow pattern is architecturally sound and the gate logic is correct, but two GitHub Actions are pinned to mutable branch refs instead of commit SHAs — a supply-chain risk already flagged by OpenSSF Scorecard — and the council-review-action itself is unpinned on a feature branch, creating a reproducibility gap for a workflow that gates on security review. The test PR title matches its stated purpose (e2e validation of the council bot), and all CI checks pass. Model: Findings
|
Summary
Test plan
Do not merge — this PR is for E2E validation only.
Made with Cursor