Skip to content

feat: implement issue #885 — [Phase 3] Add an initiative-driver canary over the cross-repo release path - #895

Merged
don-petry merged 5 commits into
mainfrom
dev-lead/issue-885-20260621-1624
Jun 21, 2026
Merged

don-petry merged 5 commits into
mainfrom
dev-lead/issue-885-20260621-1624

Conversation

@don-petry

Copy link
Copy Markdown
Collaborator

Closes #885

Implemented by dev-lead agent. Please review.

@don-petry
don-petry requested a review from a team as a code owner June 21, 2026 16:32
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@coderabbitai

coderabbitai Bot commented Jun 21, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

@don-petry, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 30 minutes and 14 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 83b14803-8753-4858-af53-d0a580b7653c

📥 Commits

Reviewing files that changed from the base of the PR and between 82649a4 and fe0df18.

📒 Files selected for processing (5)
  • .github/workflows/initiative-driver-canary.yml
  • .github/workflows/lint.yml
  • AGENTS.md
  • scripts/initiative_driver_canary.sh
  • tests/test_initiative_driver_canary.bats
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-lead/issue-885-20260621-1624

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a post-merge canary script (scripts/initiative_driver_canary.sh) and corresponding BATS tests to monitor the cross-repo release path by dry-run dispatching the initiative-driver.yml workflow. It validates that the run completes successfully and resolves to a ready decision, preventing "hollow green" failures. The review feedback correctly identifies a potential race condition where workflow logs may not be immediately available after completion, and suggests a robust retry mechanism to prevent false-positive alerts.

Comment thread scripts/initiative_driver_canary.sh
@donpetry-bot

Copy link
Copy Markdown
Contributor

Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-21T17:47:53Z.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-bot-comment (no-changes)

Agent reasoning
- ✅ 0 New issues
- ✅ 0 Accepted issues  
- ✅ 0 Security Hotspots
- ✅ 0.0% Duplication on New Code
There are **no actionable code issues** to fix from this bot. All quality gate metrics are passing.
**Tier 1 blockers:** None identified
- No CI checks with `failure`, `timed_out`, or `action_required` conclusions
- No reviews with `CHANGES_REQUESTED` state
- The cancelled `dev-lead` CI jobs are from earlier workflow runs superseded by branch updates — they are not blocking the PR
The PR is ready to proceed.

@don-petry
don-petry enabled auto-merge (squash) June 21, 2026 16:49

@donpetry-bot donpetry-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review — APPROVED ✓

Risk: MEDIUM
Reviewed commit: 813be440aef79cc0281352961fdefa01a93cd94a
Review mode: triage-approved (single reviewer)

Summary

Adds a post-merge canary over the cross-repo release path (#885, epic #882): a daily + workflow_dispatch job that dry-run-dispatches initiative-driver.yml against a fixture target+epic and alerts on failure or on a HOLLOW GREEN (a green run that resolved no READY decision). Logic lives in a well-factored shell script with pure, unit-tested helpers; an AGENTS.md exception documents the repo-specific workflow. No blocking findings.

Linked issue analysis

Closes #885. All four acceptance criteria are met: (1) new workflow + script mirror the initiative-planner canary and fire -f dry_run=true creating/labeling nothing; (2) find-or-create single tracking issue with initiative-canary/dev-lead/health-check labels on failure, notice on clean run; (3) fixture configured via INITIATIVE_DRIVER_CANARY_TARGET/_EPIC repo vars with dispatch overrides and an unconfigured no-op ::warning::; (4) HOLLOW_GREEN detection keys off the READY (dry-run, not labeling) marker — verified to exactly match what scripts/initiative-driver.sh:179 emits, and the driver exposes the dry_run input the canary depends on.

Findings

No blocking findings. Security posture is sound: minimal permissions (contents: read, issues: write); actions SHA-pinned (actions/checkout v6.0.3, actions/github-script v9.0.0) consistent with the exact pins used elsewhere in the repo; persist-credentials: false; the privileged GH_PAT_WORKFLOWS is scoped to the single dispatch step while github-script uses github.token. Command-injection surface is closed — CANARY_TARGET and CANARY_EPIC are regex-validated before reaching the gh command line, and the bats suite explicitly asserts injection payloads (42; rm -rf /, not a repo; rm -rf /) are rejected before any dispatch. Dry-run-only means the canary creates/labels nothing in the fixture target. Pure helpers (classify/decision/report) are unit-tested and main() is exercised with a mocked gh CLI. Nit (non-blocking): a missing/unreadable run log is treated as empty and thus HOLLOW_GREEN on a green run — intentional and documented, but could theoretically alert on a transient log-fetch failure.

CI status

All deterministic security and quality gates green: CodeQL, Secret scan (gitleaks), SonarCloud, AgentShield, Analyze (actions), shellcheck/ShellCheck, bats, unit-tests, validate-agent-profiles, gh-aw-compile. Cancelled/skipped checks are superseded dev-lead/review relay jobs from earlier branch updates and non-applicable dependency-audit subjobs — not blocking. Note: advisory LLM reviewers CodeRabbit and Codex were rate-limited and did not post substantive reviews (CodeRabbit's status check is nonetheless SUCCESS); this independent review plus the green deterministic scanners provide the coverage.


Reviewed automatically by the PR-review agent (single-reviewer mode: fable 5). Reply if you need a human review.

@don-petry
don-petry disabled auto-merge June 21, 2026 23:31
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (no-changes)

Agent reasoning
Addressed 0 threads:
(none — open threads list was empty)
Test verification: pass — no code changes made; all CI checks already green
Files changed: none
```

@don-petry
don-petry enabled auto-merge (squash) June 21, 2026 23:31
@sonarqubecloud

Copy link
Copy Markdown

@don-petry
don-petry merged commit 11bf856 into main Jun 21, 2026
27 of 29 checks passed
@don-petry
don-petry deleted the dev-lead/issue-885-20260621-1624 branch June 21, 2026 23:32
@donpetry-bot

Copy link
Copy Markdown
Contributor

Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-06-22T00:35:55Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Phase 3] Add an initiative-driver canary over the cross-repo release path

2 participants