Skip to content

feat: implement issue #272 — Compliance: dev-lead-stub-pin - #297

Merged
don-petry merged 3 commits into
mainfrom
dev-lead/issue-272-20260619-1551
Jun 20, 2026
Merged

don-petry merged 3 commits into
mainfrom
dev-lead/issue-272-20260619-1551

Conversation

@don-petry

Copy link
Copy Markdown
Contributor

Closes #272

Implemented by dev-lead agent. Please review.

@don-petry
don-petry requested a review from a team as a code owner June 19, 2026 15:53
@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.

@gemini-code-assist

Copy link
Copy Markdown

Note

Gemini is unable to generate a review for this pull request due to the file types involved not being currently supported.

@coderabbitai

coderabbitai Bot commented Jun 19, 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 38 minutes and 51 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 877bef91-7059-4630-bb56-23b42222f037

📥 Commits

Reviewing files that changed from the base of the PR and between 6f0e3c2 and 7296ee9.

📒 Files selected for processing (1)
  • .github/workflows/dev-lead.yml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev-lead/issue-272-20260619-1551

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.

Comment thread .github/workflows/dev-lead.yml Fixed
@don-petry

ghost commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Dev-Lead — review-changes (applied)

Changes committed and pushed.

@don-petry
don-petry enabled auto-merge (squash) June 19, 2026 16:00
@don-petry
don-petry disabled auto-merge June 19, 2026 16:05
@don-petry

ghost commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 19, 2026 16:06
@github-actions

ghost commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

CI Failure: SonarCloud Code Analysis

Step: SonarCloud Quality Gate
Root cause: Lint/style

The SonarCloud quality gate failed because .github/workflows/dev-lead.yml line 51 uses @3f9e5808b5f3965c96f5698b0d8ff46550b45ba7 for the reusable workflow reference, but SonarCloud flagged it as not a full commit SHA — most likely it is a tag object SHA (from an annotated tag) rather than the underlying commit SHA. This caused the Security Rating for new code to fall to C, failing the gate that requires ≥ A. SonarCloud requires the actual commit SHA to guarantee immutability and prevent supply-chain attacks via mutable references.

Suggested fix: Resolve the commit SHA that dev-lead/stable points to by running git ls-remote origin refs/tags/dev-lead/stable (or git rev-parse dev-lead/stable^{} locally on the private repo) and replace the hash in the uses: line with that 40-character commit SHA.

View run logs

donpetry-bot
donpetry-bot previously approved these changes Jun 19, 2026

ghost 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: LOW
Reviewed commit: e9a359b23972de09ee724a67f8072b7dd8487a86
Review mode: triage-approved (single reviewer)

Summary

Single-file change to .github/workflows/dev-lead.yml (+11/-5) that re-pins the dev-lead-reusable.yml caller stub to the dev-lead/stable release channel and threads agent_ref: dev-lead/stable into the reusable workflow. This is a compliance remediation, not a behavioral change. The uses: ref is pinned to an immutable commit SHA (3f9e5808) with a # dev-lead/stable trailing comment, matching the org SHA-pin convention. Triage cleared this as low-risk; this confirmation review agrees.

Linked issue analysis

Closes #272 — a weekly-compliance-audit finding (dev-lead-stub-pin, severity error) requiring the caller stub to pin the reusable workflow to the dev-lead/stable channel, re-synced from the standard. The PR addresses it directly: it pins to commit 3f9e5808 (the exact commit the dev-lead/stable tag currently resolves to) with the channel name as the trailing comment, and adds the agent_ref: dev-lead/stable input. Substantively resolved.

Findings

Verified the supply-chain-sensitive aspects of this Actions change:

  • SHA is a real commit, not a tag object. 3f9e5808b5f3965c96f5698b0d8ff46550b45ba7 resolves via the git/commits API to commit #640 (Dependabot actions-group bump, 2026-06-13). The stale ci-analyst/SonarCloud comment speculating it was an annotated-tag object SHA was incorrect — and it was posted against the older commit (3342721), which the head commit e9a359b superseded.
  • Trailing comment is accurate. The dev-lead/stable tag is a lightweight tag pointing directly at 3f9e5808, so uses: ...@3f9e5808 # dev-lead/stable is internally consistent and immutably pinned.
  • Permissions unchanged. The only change to the permissions block is removal of an inline comment on statuses: read; no scope was added. secrets: inherit is unchanged from the prior stub.
  • agent_ref floats on the channel by design. The reusable workflow YAML is SHA-pinned for supply-chain safety; the inner scripts/prompts checkout uses the moving dev-lead/stable tag. This is the documented org pattern (ci-standards.md#dev-lead-agent, referenced by #272) that avoids the self-host circular dependency where a broken dev-lead change would gate its own fix. Compliant by design, not a smell.
  • Secret scan: gitleaks CI check is green; the MCP run_secret_scanning tool was not grantable in this non-interactive run, so it was skipped (no fabricated result). Changed content is workflow YAML with only SHA pins — no secret material.

CI status

All checks green on the reviewed head e9a359b: CodeQL (actions + python), SonarCloud / Quality Gate passed, gitleaks secret scan, AgentShield, dependency-audit, CodeRabbit. No failures; remaining entries are SKIPPED conditional jobs. mergeStateStatus is BLOCKED only on the required human/org-leads review, which this approval addresses.


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

donpetry-bot
donpetry-bot previously approved these changes Jun 19, 2026

ghost 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: LOW
Reviewed commit: e9a359b23972de09ee724a67f8072b7dd8487a86
Review mode: triage-approved (single reviewer)

Summary

Single-file change to .github/workflows/dev-lead.yml (+11/-5) re-pinning the dev-lead-reusable.yml caller stub from @main to the dev-lead/stable release channel and threading agent_ref: dev-lead/stable into the reusable workflow. Compliance remediation for #272, not a behavioral change. Triage cleared this as low-risk; this confirmation review independently verified the supply-chain-sensitive aspects and agrees.

Linked issue analysis

Closes #272 — a compliance-audit finding (dev-lead-stub-pin) requiring the caller stub to pin the reusable workflow to the dev-lead/stable channel. The PR addresses it directly: it pins uses: to commit 3f9e5808 with a # dev-lead/stable trailing comment and adds the agent_ref: dev-lead/stable input. Substantively resolved.

Findings

Independently verified the Actions-security aspects of this change:

  • SHA is a real commit, not a tag object. 3f9e5808b5f3965c96f5698b0d8ff46550b45ba7 resolves via the git/commits API to commit #640 (Dependabot actions-group bump, 2026-06-13). The stale ci-analyst/SonarCloud comment speculating it was an annotated-tag-object SHA was incorrect; it was also posted against the superseded commit 3342721, and SonarCloud is now green on head e9a359b.
  • Tag is lightweight and consistent. refs/tags/dev-lead/stable resolves with object.type=commit pointing directly at 3f9e5808, so uses: ...@3f9e5808 # dev-lead/stable is internally consistent and immutably pinned.
  • agent_ref input is valid. The reusable workflow at the pinned SHA declares agent_ref (workflow_call input, optional, default main), so with: agent_ref: dev-lead/stable is accepted. This implements the documented self-host pin pattern (#535/#506): the YAML is SHA-pinned for supply-chain safety while the inner scripts checkout follows the moving channel — compliant by design, not a smell.
  • Permissions unchanged. The only change to the permissions block is removal of an inline comment on statuses: read; no scope was added. secrets: inherit is unchanged.
  • Secret scan: gitleaks CI check is green; the MCP run_secret_scanning tool was not grantable in this non-interactive run, so it was skipped (no fabricated result). Changed content is workflow YAML with only SHA pins — no secret material.

CI status

All checks green on head e9a359b: CodeQL (actions + python), SonarCloud / Quality Gate, gitleaks secret scan, AgentShield, dependency-audit, CodeRabbit. Remaining entries are SKIPPED conditional jobs. mergeStateStatus is BLOCKED only on the required review, which this approval addresses. reviewDecision already APPROVED.


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

@donpetry-bot
donpetry-bot dismissed their stale review June 19, 2026 16:32

Superseded by automated re-review at e9a359b.

ghost 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: LOW
Reviewed commit: e9a359b23972de09ee724a67f8072b7dd8487a86
Review mode: triage-approved (single reviewer)

Summary

Single-file change to .github/workflows/dev-lead.yml (+11/-5) re-pinning the dev-lead-reusable.yml caller stub from @main to the dev-lead/stable release channel and threading agent_ref: dev-lead/stable into the reusable workflow. Compliance remediation for #272 (dev-lead-stub-pin), not a behavioral change. Triage cleared this as low-risk; this confirmation review independently verified the supply-chain-sensitive aspects via the GitHub API and agrees.

Linked issue analysis

Closes #272 — a compliance-audit finding (dev-lead-stub-pin) requiring the caller stub to pin the reusable workflow to the dev-lead/stable channel. The PR addresses it directly: it changes uses: from @main to commit 3f9e5808 with a '# dev-lead/stable' trailing comment and adds the agent_ref: dev-lead/stable input. Substantively resolved.

Findings

Independently verified the Actions-security aspects of this change (did not rely on the prior bot reviews):

  • SHA is a real commit, not a tag object. The git/commits API resolves 3f9e5808b5f3965c96f5698b0d8ff46550b45ba7 to commit #640 (Dependabot actions-group bump, 2026-06-13). The ci-analyst/SonarCloud comment speculating it was an annotated-tag-object SHA was incorrect AND was posted against the superseded commit 3342721; SonarCloud is green on current head e9a359b.
  • Tag is lightweight and consistent. refs/tags/dev-lead/stable resolves with object.type=commit pointing directly at 3f9e5808, so 'uses: ...@3f9e5808 # dev-lead/stable' is internally consistent and immutably pinned.
  • agent_ref input is valid. The reusable workflow at the pinned SHA declares agent_ref (workflow_call input, type string, optional, default main) and consumes it for the dev-lead scripts checkout (ref: ${{ inputs.agent_ref }}). So with: agent_ref: dev-lead/stable is accepted. This implements the documented self-host pin pattern (#535/#506): the workflow YAML is SHA-pinned for supply-chain safety while the inner scripts checkout follows the moving channel — compliant by design, not a smell.
  • Permissions unchanged. The only edit to the permissions block is removal of an inline comment on 'statuses: read'; no scope added. secrets: inherit unchanged.
  • Secret scan: gitleaks CI check is green; the MCP run_secret_scanning tool was not grantable in this non-interactive run, so it was skipped (no fabricated result). Changed content is workflow YAML with only SHA pins — no secret material.
  • Advisory bots produced no substantive findings: Codex (usage limit), Gemini (unsupported file type), CodeRabbit (rate limited).

CI status

All required checks green on head e9a359b: CodeQL (actions + python), SonarCloud / Quality Gate, gitleaks secret scan, AgentShield, dependency-audit, dev-lead dispatch, pr-auto-review, CodeRabbit. Remaining entries are SKIPPED conditional jobs. reviewDecision is already APPROVED; mergeStateStatus BLOCKED reflects the required review gate only.


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

@donpetry-bot
donpetry-bot dismissed their stale review June 19, 2026 16:51

Superseded by automated re-review at e9a359b.

@sonarqubecloud

ghost commented Jun 20, 2026

Copy link
Copy Markdown

@don-petry
don-petry disabled auto-merge June 20, 2026 03:39
@don-petry

ghost commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

Dev-Lead — review-changes (no-changes)

No changes were needed for this PR.

@don-petry
don-petry enabled auto-merge (squash) June 20, 2026 03:39
@don-petry
don-petry merged commit 52d139f into main Jun 20, 2026
@don-petry
don-petry deleted the dev-lead/issue-272-20260619-1551 branch June 20, 2026 03:41
@github-actions

ghost commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

CI Failure: SonarCloud Code Analysis

Step: SonarCloud Code Analysis (external quality gate)
Root cause: Config error

The PR changes .github/workflows/dev-lead.yml to pin the reusable workflow to @dev-lead/stable instead of @main and adds an agent_ref: dev-lead/stable input. SonarCloud Code Analysis is failing as an external gate, most likely because the reusable workflow at the new ref (3f9e5808b5f3965c96f5698b0d8ff46550b45ba7 # dev-lead/stable) either does not invoke the SonarCloud analysis step or does not forward the SONAR_TOKEN secret correctly. Alternatively, the agent_ref input may not be declared in the reusable workflow definition, causing the caller job to error before analysis runs.

Suggested fix: Verify that dev-lead-reusable.yml at the dev-lead/stable tag declares agent_ref as an accepted input and that its SonarCloud step receives SONAR_TOKEN via secrets: inherit; if the input is missing, add it to the reusable workflow before merging.

View run logs

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.

Compliance: dev-lead-stub-pin

3 participants