fix(ci): trigger build and review workflows for bot-created PRs#446
fix(ci): trigger build and review workflows for bot-created PRs#446github-actions[bot] merged 2 commits intodevfrom
Conversation
Bot PRs (schedule/dispatch) created with GITHUB_TOKEN don't fire pull_request events, so build/unit-test checks never run and the dev ruleset stays stuck waiting. - Add workflow_dispatch to build.yml with ref input - Short-circuit changes filter for dispatch (test PRs always touch src/) - Pass actual branch ref to checkout steps in build/test/integration jobs - Fix test-writer trigger step: search by label not broken head prefix - Fetch real branch name from PR for build.yml dispatch
📋 SummaryPR #446 adds 📌 Review Metadata
🔴 Critical Issues (Must Fix - Blocks Merge)None identified — this is a CI/CD workflow fix with no application code changes.
|
| Principle | Score | Notes |
|---|---|---|
| Single Responsibility | N/A | Workflow configuration |
| Open/Closed | N/A | |
| Liskov Substitution | N/A | |
| Interface Segregation | N/A | |
| Dependency Inversion | N/A | |
| Average | N/A |
🎯 Final Assessment
Overall Confidence Score: 85%
How to interpret: High confidence — the CI fix is sound and addresses the reported issue.
Confidence Breakdown:
- Code Quality: 90% (clean workflow syntax, proper use of GitHub Actions patterns)
- Completeness: 85% (addresses the core issue; minor edge cases around concurrent runs)
- Risk Level: 10% (low risk — workflow-only changes, doesn't affect runtime)
- Test Coverage: N/A (CI workflows not tested via
zig build test)
Merge Readiness:
- All critical issues resolved
- SOLID average score >= 6.0 (N/A but trivially satisfied)
- Overall confidence >= 60%
- No security concerns
- Tests present and passing (N/A for workflow changes)
Verdict:
MERGE — The PR correctly fixes the bot PR CI trigger issue by adding workflow_dispatch support and properly passing branch refs to checkout steps. The changes are minimal, focused, and solve the stated problem.
Machine Readable Verdict
{
"reviewed_sha": "a39f6d3f7e1fa62aaab8d2584f973673d1943ea5",
"critical_issues": 0,
"high_priority_issues": 0,
"medium_priority_issues": 1,
"overall_confidence_score": 85,
"recommendation": "MERGE"
}
📋 SummaryPR #446 adds 📌 Review Metadata
🔴 Critical Issues (Must Fix - Blocks Merge)None identified.
|
| Principle | Score | Notes |
|---|---|---|
| Single Responsibility | N/A | Workflow configuration |
| Open/Closed | N/A | |
| Liskov Substitution | N/A | |
| Interface Segregation | N/A | |
| Dependency Inversion | N/A | |
| Average | N/A |
🎯 Final Assessment
Overall Confidence Score: 92%
How to interpret: High confidence — the CI fix is sound and addresses the reported issue.
Confidence Breakdown:
- Code Quality: 92% (clean workflow syntax, proper concurrency grouping, correct use of GitHub Actions patterns)
- Completeness: 90% (addresses core issue; the race condition fix in commit
899c472resolves the medium priority concern) - Risk Level: 8% (very low risk — workflow-only changes, doesn't affect runtime)
- Test Coverage: N/A (CI workflows not tested via
zig build test)
Merge Readiness:
- All critical issues resolved
- SOLID average score >= 6.0 (N/A but trivially satisfied)
- Overall confidence >= 60%
- No security concerns
- Tests present and passing (N/A for workflow changes)
Verdict:
MERGE — The PR correctly fixes the bot PR CI trigger issue with the second commit adding the critical race condition fix. The changes are minimal, focused, and solve the stated problem.
Machine Readable Verdict
{
"reviewed_sha": "899c472eb9b782e2397ad2e1fd6b250475a4be81",
"critical_issues": 0,
"high_priority_issues": 0,
"medium_priority_issues": 0,
"overall_confidence_score": 92,
"recommendation": "MERGE"
}

Summary
Bot-created PRs (from
opencode/schedule-*oropencode/dispatch-*branches) never trigger the requiredbuild,unit-test, andai-merge-gatestatus checks becauseGITHUB_TOKEN-created PRs don't firepull_requestevents.This leaves the dev ruleset permanently stuck at "Expected — Waiting for status to be reported" (see #443).
Changes
build.ymlworkflow_dispatchtrigger withrefinput for on-demand runschangesfilter job for dispatch events (test PRs always have code changes)${{ inputs.ref }}to allactions/checkoutsteps (build, unit-test, integration-test)opencode-test-writer.yml--label automated-testinstead of broken--head "opencode/dispatch-"filter--field ref="$BRANCH"tobuild.ymlFlow
All 3 required checks (
build,unit-test,ai-merge-gate) will now post against the bot PR's head SHA.Testing
workflow_dispatchwithGITHUB_TOKENis the one exception that CAN trigger other workflows (no PAT needed)pull_requestevents normallypull_request, and dispatch concurrency is keyed separately