Skip to content

feat: implement issue #1126 — Free-plan 20-job cap: PR Auto-Review Ready Check has no concurrency and fans out per check_suite/workflow_run — dedupe the default-branch-context runs only - #1131

Merged
don-petry merged 3 commits into
mainfrom
dev-lead/issue-1126-20260913-0915
Sep 16, 2026

Conversation

@don-petry

@don-petry don-petry commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

User description

Closes #1126

Implemented by dev-lead agent. Please review.

Summary by CodeRabbit

  • Improvements

    • Reduced duplicate automated review workflow runs for the same pull request.
    • In-progress runs triggered by certain default-branch events are now canceled when a newer run starts.
    • Preserved independent execution for pull request events and default-branch events without an associated pull request.
  • Tests

    • Added coverage to verify workflow concurrency behavior across supported event types.

CodeAnt-AI Description

Deduplicate default-branch review checks without interrupting PR checks

What Changed

  • Review runs triggered by completed checks share one queue per pull request, and newer runs replace older in-progress runs.
  • Pull request and review-triggered runs continue to run independently and are never canceled.
  • Default-branch events without an associated pull request receive a unique run, preventing unrelated reviews from being combined.
  • Added tests covering grouping, cancellation, fallback behavior, and matching template and live workflows.

Impact

✅ Fewer duplicate review runs
✅ Lower GitHub Actions concurrency usage
✅ No stranded canceled checks on pull requests

💡 Usage Guide

Checking Your Pull Request

Every time you make a pull request, our system automatically looks through it. We check for security issues, mistakes in how you're setting up your infrastructure, and common code problems. We do this to make sure your changes are solid and won't cause any trouble later.

Talking to CodeAnt AI

Got a question or need a hand with something in your pull request? You can easily get in touch with CodeAnt AI right here. Just type the following in a comment on your pull request, and replace "Your question here" with whatever you want to ask:

@codeant-ai ask: Your question here

This lets you have a chat with CodeAnt AI about your pull request, making it easier to understand and improve your code.

Example

@codeant-ai ask: Can you suggest a safer alternative to storing this secret?

Preserve Org Learnings with CodeAnt

You can record team preferences so CodeAnt AI applies them in future reviews. Reply directly to the specific CodeAnt AI suggestion (in the same thread) and replace "Your feedback here" with your input:

@codeant-ai: Your feedback here

This helps CodeAnt AI learn and adapt to your team's coding style and standards.

Example

@codeant-ai: Do not flag unused imports.

Retrigger review

Ask CodeAnt AI to review the PR again, by typing:

@codeant-ai: review

Check Your Repository Health

To analyze the health of your code repository, visit our dashboard at https://app.codeant.ai. This tool helps you identify potential issues and areas for improvement in your codebase, ensuring your repository maintains high standards of code health.

…ady Check has no concurrency and fans out per check_suite/workflow_run — dedupe the default-branch-context runs only
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@codeant-ai

codeant-ai Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

🤖 CodeAnt AI — Review Status

Status Commit Started (UTC) Finished (UTC)
✅ Incremental review completed 05fb262 Sep 16, 2026 · 00:38 00:38
✅ Reviewed your PR 3fc1260 Sep 13, 2026 · 09:23 09:26

@codeant-ai

codeant-ai Bot commented Sep 13, 2026

Copy link
Copy Markdown

Thanks for using CodeAnt! 🎉

We're free for open-source projects. if you're enjoying it, help us grow by sharing.

Share on X ·
Reddit ·
LinkedIn

@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.

@coderabbitai

coderabbitai Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

Warning

Review limit reached

Next included review available in 40 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: cf8bdb7d-b368-4671-a740-6e1752da2cfb

📥 Commits

Reviewing files that changed from the base of the PR and between 3fc1260 and 05fb262.

📒 Files selected for processing (1)
  • test/workflows/pr-auto-review/concurrency.bats

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: aca7ec72-f1b7-40fe-8d25-ce26f77b18ce

📥 Commits

Reviewing files that changed from the base of the PR and between a9b3fd9 and 3fc1260.

📒 Files selected for processing (3)
  • .github/workflows/pr-auto-review.yml
  • standards/workflows/pr-auto-review.yml
  • test/workflows/pr-auto-review/concurrency.bats

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The workflow adds concurrency rules that deduplicate check_suite and workflow_run executions by PR, while keeping pull_request, pull_request_review, and PR-less runs unique and non-cancelling. New Bats tests validate the expressions and template/live consistency.

Changes

PR Auto-Review concurrency

Layer / File(s) Summary
Workflow concurrency configuration
standards/workflows/pr-auto-review.yml, .github/workflows/pr-auto-review.yml
The workflows group check_suite and workflow_run runs by associated PR number and enable cancellation. Other events use a unique run-based group without cancellation.
Concurrency behavior validation
test/workflows/pr-auto-review/concurrency.bats
The Bats tests verify the expressions, event-specific groups, cancellation behavior, PR isolation, PR-less fallback, and consistency between the template and live workflow.

Priority: ⚪ Not assessed

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature · Severity of issue fixed: Medium

Merge Risk: ⚪ Minimal · up to 3fc12

The concurrency configuration preserves unique PR-less and PR-head runs while deduplicating PR-associated default-branch events. No concrete merge-blocking behavior remains.

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning Issue #1126 requires the concurrency change in the template and both live workflow copies. The diff updates standards/workflows/pr-auto-review.yml and .github/workflows/pr-auto-review.yml, but it … Apply the same concurrency block to the .github-private live workflow copy. Add actionlint verification for the changed workflow files, or provide an existing registered actionlint check that covers them. Keep the new Bats file registered…
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2… Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: deduplicating default-branch-context workflow runs while preserving unique PR-head runs. It is longer than necessary but remains specific and relevant.
Out of Scope Changes check ✅ Passed The workflow comments, concurrency expressions, and Bats tests directly implement issue #1126. The changes do not show unrelated product or infrastructure behavior.
Full details: Linked Issues check

Explanation

Issue #1126 requires the concurrency change in the template and both live workflow copies. The diff updates standards/workflows/pr-auto-review.yml and .github/workflows/pr-auto-review.yml, but it does not update the required .github-private live copy. The new Bats file covers all four events, the PR-less fallback, and the template/live expressions. The existing job registers it through bats --print-output-on-failure test/workflows/pr-auto-review/. The existing job runs shellcheck, but it has no actionlint step or other actionlint verification for these workflow changes.

Resolution

Apply the same concurrency block to the .github-private live workflow copy. Add actionlint verification for the changed workflow files, or provide an existing registered actionlint check that covers them. Keep the new Bats file registered in the existing job.

Full details: Docstring Coverage

Explanation

Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 2 functions across 1 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-lead/issue-1126-20260913-0915

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.

@codeant-ai codeant-ai Bot added the size:L This PR changes 100-499 lines, ignoring generated files label Sep 13, 2026
@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — waiting on PR blockers (intent: review-changes)

PR: #1131
No changes were committed, but the PR still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews). The retry cron will re-attempt automatically. Next attempt after: 2026-09-13T09:54:08Z

@don-petry

Copy link
Copy Markdown
Contributor Author

Note

@don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically.
Next attempt after: 2026-09-13T09:54:08Z

@don-petry
don-petry enabled auto-merge (squash) September 13, 2026 09:24

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request adds a workflow-level concurrency configuration to the pr-auto-review.yml template to deduplicate default-branch-context triggers based on the PR number, and introduces a comprehensive BATS test suite to verify this behavior. The review feedback highlights a critical issue where the live copy of the workflow must also be updated to prevent the new tests from failing in CI. Additionally, it is recommended to explicitly assert a successful exit status ($status -eq 0) in the BATS tests before evaluating their output.

Comment thread test/workflows/pr-auto-review/concurrency.bats
Comment thread test/workflows/pr-auto-review/concurrency.bats
@don-petry
don-petry disabled auto-merge September 13, 2026 09:24
@don-petry

Copy link
Copy Markdown
Contributor Author

No description provided.

@codeant-ai

codeant-ai Bot commented Sep 13, 2026

Copy link
Copy Markdown

CodeAnt Nitpicks

1 code suggestion

1. Cancellation can occur after the readiness check but during dispatch, allowing the replacement run to dispatch the same PR again and create duplicate reviews.

Race condition · .github/workflows/pr-auto-review.yml:65

@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — fix-reviews (partial)

A commit was pushed, but not every requested change was applied. Per requested item:

  • test/workflows/pr-auto-review/concurrency.bats:148 — not applied
  • test/workflows/pr-auto-review/concurrency.bats:79 — applied

The unaddressed items above still need work.

@donpetry-bot

donpetry-bot commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor
Superseded by automated re-review at 6417349f6b03cb70795fbbf4159e051065fcd3d3 — click to expand prior review.

Review — fix requested (cycle 1/3)

The automated review identified the following issues. Please address each one:

Findings to fix

Automated review — NEEDS HUMAN REVIEW

Risk: MEDIUM
Reviewed commit: 6417349f6b03cb70795fbbf4159e051065fcd3d3
Cascade: triage → deep (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5)

Summary

PR #1131 adds a workflow-level concurrency block to the PR Auto-Review Ready Check stub (live + template) to dedupe only the default-branch-context triggers (check_suite/workflow_run) under the Free-plan 20-job cap (issue #1126). The concurrency logic is correct — I traced all five event cases and they match the concurrency.bats spec — and both scary advisory signals clear: the Gemini HIGH (live copy not updated) is REFUTED (live and template concurrency blocks are byte-identical at head and CI bats is green), and the CodeAnt race is a minor, inherent cancel-in-progress edge that is strictly better than the pre-PR no-concurrency behavior. The only remaining gate failure is the PR description missing 3 of 5 required sections (risk/rollback/monitoring); TRUSTED_STUB_SYNC is false so the trusted-stub carve-out does not waive it, forcing escalation. No deterministic hard-stops (CI_WEAKENING/PROMPT_INJECTION both false), no secrets/security-critical path, so no Tier 3 security audit is needed.

Findings

  • minor: PR description is missing 3 of 5 required sections (risk, rollback, monitoring). SAFETY_CHECKS reports DESCRIPTION_MISSING: 3 with TRUSTED_STUB_SYNC: false, so the trusted-stub carve-out does not apply and this gate failure forces escalation. This is the sole blocking issue — ask the author to add the risk/rollback/monitoring sections; the code itself is sound.
  • info: Gemini HIGH claimed the live copy .github/workflows/pr-auto-review.yml was not updated so the live-copy bats assertions would fail in CI. REFUTED: at head 6417349 the live and template concurrency.group and concurrency.cancel-in-progress are byte-identical (verified via yq against both files fetched at the head SHA), and CI 'PR Auto-Review Tests' and 'Standards Templates Tests' bats checks are SUCCESS. The finding is stale relative to current head.
  • minor: CodeAnt: with cancel-in-progress: true for check_suite/workflow_run, a run can be cancelled after its readiness check but during dispatch while the superseding run also dispatches, occasionally yielding a duplicate review. This is a genuine but narrow window inherent to any cancel-in-progress dedup (GitHub does not roll back already-started downstream work). It is strictly better than the pre-PR state (NO concurrency, so every trigger dispatched), so it is a residual edge case rather than a regression. Acceptable; could be noted for a future dispatch-side idempotency guard.
  • info: Concurrency group/cancel expression verified correct for all five event cases (check_suite+PR, check_suite no-PR, workflow_run+PR, pull_request, pull_request_review). GHA precedence (&& over ||) yields the PR-keyed group for the two default-branch-context events (which correctly share one group per PR), and the unique-per-run fallback for PR-head events and no-PR default-branch events, matching resolve_group()/resolve_cancel() in concurrency.bats. [auditable: repro confirmed]

Reviewed by the PR-review cascade (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5). Reply if you need a human review.

Additional tasks

  1. Resolve all unresolved review thread comments from other reviewers
  2. Ensure all CI checks pass after your changes
  3. Rebase on the target branch if behind
  4. Do NOT modify files unrelated to the findings above

The review cascade will automatically re-review after new commits are pushed.

@donpetry-bot

donpetry-bot commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor
Superseded by automated re-review at 05fb262666f51f4bef6032bfc6450063b9b88c7c — click to expand prior review.

Review — fix requested (cycle 2/3)

The automated review identified the following issues. Please address each one:

Findings to fix

Automated review — NEEDS HUMAN REVIEW

Risk: MEDIUM
Reviewed commit: 6417349f6b03cb70795fbbf4159e051065fcd3d3
Cascade: triage → deep (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5)

Summary

Adds a workflow-level concurrency block to the PR Auto-Review Ready Check stub (and its standards template) to dedupe only the default-branch-context (check_suite/workflow_run) triggers, directly implementing issue #1126's Free-plan 20-job-cap fix. The group expression is logically correct for all four events plus the no-PR fallback, and the diff updates BOTH the live copy and template (refuting the advisory 'live copy not updated' claim; CI bats is green). Escalating (not to security) solely on a failed description-quality gate: 3 of 5 required sections (risk, rollback, monitoring) are missing on a change that can cancel in-progress runs.

Findings

  • major: PR description is missing 3 of 5 required sections (risk, rollback, monitoring). This is flagged [escalate] by the deterministic safety check and by triage. The trusted-stub carve-out does not apply (TRUSTED_STUB_SYNC: false; this PR adds real concurrency logic plus a test file, not a mere secrets-forwarding stub). A concurrency change with cancel-in-progress: true genuinely warrants explicit rollback and monitoring notes, so the gate failure stands and drives the escalate decision.
  • minor: CodeAnt race: after the readiness check but during dispatch, a superseding check_suite/workflow_run run can cancel the in-progress run and then also dispatch, creating duplicate reviews. This edge is narrow and is NOT introduced or worsened by this PR — the prior state had NO concurrency, so every default-branch trigger dispatched unconditionally; cancel-in-progress strictly reduces duplicates in the common case. Residual risk depends on the downstream dispatch target lacking its own dedup; recommend confirming the dispatched review workflow has its own concurrency guard, but this does not block on correctness grounds.
  • info: Concurrency group expression traced correct under GitHub Actions && / || precedence for all cases: check_suite+PR and workflow_run+PR both resolve to the shared 'pr-auto-review-ready-check-pr-' group with cancel-in-progress true; pull_request / pull_request_review and any default-branch trigger with no associated PR resolve to the unique-per-run 'unique-<run_id>' group with cancel false. This matches issue Free-plan 20-job cap: PR Auto-Review Ready Check has no concurrency and fans out per check_suite/workflow_run — dedupe the default-branch-context runs only #1126 (dedupe default-branch-context runs only) and the pinned expressions asserted by the passing bats suite. [auditable: repro unverifiable]
  • minor: mergeStateStatus is BLOCKED and three dev-lead/* checks (dispatch, ci-relay, resume) are CANCELLED. The substantive CI for this change is green (bats, ShellCheck, Lint, CodeQL, SonarCloud, agent-shield, secret scan). The BLOCKED state is consistent with REVIEW_REQUIRED; the cancelled dev-lead runs should be re-checked before merge to ensure no required check is left in a non-passing state.

Reviewed by the PR-review cascade (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5). Reply if you need a human review.

Additional tasks

  1. Resolve all unresolved review thread comments from other reviewers
  2. Ensure all CI checks pass after your changes
  3. Rebase on the target branch if behind
  4. Do NOT modify files unrelated to the findings above

The review cascade will automatically re-review after new commits are pushed.

@donpetry-bot

Copy link
Copy Markdown
Contributor

pr-review approved on PARTIAL advisory evidence: 4/6 required advisory bots reported before the gate's head-age-timeout fallback proceeded. Recorded for the miss-rate metric (#1596).

@sonarqubecloud

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Contributor Author

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

Agent reasoning
Issues addressed: 0
Skipped (informational): 1
  - Quality Gate Passed (neutral overview — no specific actionable defects)
Files changed: none
```
**No action needed.** The PR has zero Tier 1 blockers and the bot comment reports no concrete issues to fix. All CI checks pass.

@don-petry
don-petry enabled auto-merge (squash) September 16, 2026 00:42

@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: 05fb262666f51f4bef6032bfc6450063b9b88c7c
Cascade: triage → deep (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5)

Summary

Adds a workflow-level concurrency block to the PR Auto-Review Ready Check caller stub to dedupe only the default-branch-context triggers (check_suite/workflow_run) per PR on GitHub Free's 20-job cap, while keeping PR-head triggers (pull_request/pull_request_review) unique and never-cancelled. Traced the GitHub expression across all four event types plus the no-PR/fork fallback — grouping and cancel-in-progress are correct, live and template copies match exactly (resolving the earlier gemini template-drift finding), and all CI/bats checks are green. The codeant race concern is an inherent best-effort property of cancel-in-progress that strictly improves on the prior no-concurrency fan-out and aligns with #1126's dedup goal, not a correctness regression.

Findings

  • info: Concurrency group expression traced correct across all triggers: check_suite/workflow_run with a PR collapse onto the shared 'pr-auto-review-ready-check-pr-' group (cancel-in-progress: true); check_suite with no associated PR (fork/no-PR) safely falls through to the unique-per-run group; pull_request/pull_request_review always take the unique fallback and never cancel. Verified live==template via yq folding and the folded string matches the pinned bats expectations; all CI/bats checks pass. [auditable: repro confirmed]
  • minor: codeant-ai flagged that cancel-in-progress can supersede a check_suite/workflow_run run after its readiness check but during dispatch, letting the replacement run dispatch the same PR and produce a duplicate review. This is an inherent best-effort property of cancel-in-progress, not a defect in the added expression: it strictly reduces duplicates versus the prior no-concurrency fan-out and matches issue #1126's 'reduce duplicate runs' goal (not exactly-once). The dispatch and any idempotency guard live in the out-of-scope reusable (@pr-auto-review/v1-next); worst case is a rare duplicate in a narrow window, no worse than prior behavior. Not blocking; note for maintainers if exactly-once dispatch is later required.

Reviewed by the PR-review cascade (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5). Reply if you need a human review.

@don-petry
don-petry merged commit 6b66494 into main Sep 16, 2026
27 checks passed
@don-petry
don-petry deleted the dev-lead/issue-1126-20260913-0915 branch September 16, 2026 00:47

@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: 05fb262666f51f4bef6032bfc6450063b9b88c7c
Review mode: triage-approved (single reviewer)

Summary

Adds a workflow-level concurrency: block to the PR Auto-Review Ready Check caller stub — identically in the live copy (.github/workflows/pr-auto-review.yml) and the standards template (standards/workflows/pr-auto-review.yml) — plus a 152-line bats suite. The block deduplicates ONLY the default-branch-context triggers (check_suite/workflow_run), keying them on the associated PR number with cancel-in-progress: true, while pull_request/pull_request_review runs (and any default-branch trigger with no associated PR) fall back to a unique-per-run group keyed on github.run_id, preserving today's behavior and avoiding the #1422/#1427 cancelled-check stranding shape. The GitHub Actions &&/|| value-returning expression chain resolves correctly for all four events, including the empty pull_requests[0] fork/no-PR fallback. Trigger events and job-level permissions: are untouched.

Linked issue analysis

Linked issue #1126 is substantively addressed. AC1 (dedupe only default-branch-context triggers, PR-number group, unique fallback, expression-gated cancel-in-progress): implemented exactly as specified. AC2 (template and live copy changed together, drift reconciled): both files in this repo carry byte-identical blocks, and the bats suite pins template/live parity so a standards resync cannot revert it; the .github-private copy lives in a separate repo and is necessarily out of this PR's scope. AC3 (per-event resolved group/cancel tests incl. no-PR check_suite): covered by the pinned-expression and resolver tests. AC4 is a post-deploy observation recorded on the issue. AC5: Lint/actionlint and bats checks are green.

Findings

No blocking findings. Triage-approved confirmation review verified: (1) no secret handling — the stub's permissions: {} and job permissions are untouched and no third-party action or reusable is added; (2) the concurrency group expression uses only numeric/event-name contexts, no script-injection surface; (3) both prior review-bot threads (gemini-code-assist) are resolved; the prior automated review at this same SHA approved at MEDIUM risk. Note: the run_secret_scanning MCP tool is not available in this environment — the gitleaks CI check (green) covers secret scanning. Risk is MEDIUM (non-trivial workflow logic change), consistent with the prior cascade assessment.

CI status

All required checks green at 05fb262: Lint, ShellCheck, bats (both suites), CodeQL, Agent Security Scan, agent-shield, Secret scan (gitleaks), SonarCloud (quality gate passed), duplicate-decl-gate, dependency-audit (ecosystem-gated jobs skipped as expected), CodeRabbit. No failures or pending checks.


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

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

Labels

size:L This PR changes 100-499 lines, ignoring generated files

Projects

None yet

2 participants