Skip to content

ci(dev-lead): pin .github to @dev-lead/ring0 + accept ring channels in audit#503

Merged
don-petry merged 3 commits into
mainfrom
claude/dev-lead-canary-ring0
Jun 21, 2026
Merged

ci(dev-lead): pin .github to @dev-lead/ring0 + accept ring channels in audit#503
don-petry merged 3 commits into
mainfrom
claude/dev-lead-canary-ring0

Conversation

@don-petry

@don-petry don-petry commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Part of the staged canary rollout of dev-lead v1.4.0 (the #781 release + accumulated main), per versioning.md Phase 2 (#499/#500).

Two changes:

  1. .github/workflows/dev-lead.yml — pin the dev-lead caller to the new dev-lead/ring0 channel (+ agent_ref: dev-lead/ring0). This repo previously pinned @main (bleeding edge); ring0 gives it a controlled canary slot advanced/rolled-back by a central tag move.
  2. scripts/compliance-audit.sh (check_dev_lead_stub) — accept the staged-canary channels dev-lead/{stable,next,ring<N>} for the uses: pin and agent_ref, not just stable. Still rejects @main and frozen @vX.Y.Z/@<sha>. Required so ring-pinned consumers (TalkTerm→ring1) don't trip dev-lead-stub-pin.

Ring plan (all channels cut at dev-lead/v1.4.0; stable untouched): .github-private→next · .github→ring0 · TalkTerm→ring1 · everyone else→stable.

Companion PRs: petry-projects/.github-private#856 (next), petry-projects/TalkTerm#306 (ring1).

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests

    • Added comprehensive test coverage for compliance validation rules.
  • Chores

    • Updated development infrastructure configurations and validation scripts to support flexible channel-based versioning.

…g channels

Staged canary rollout of dev-lead v1.4.0 (versioning.md Phase 2, #499/#500).

- .github/workflows/dev-lead.yml: pin the dev-lead caller to the new
  dev-lead/ring0 channel (+ agent_ref: dev-lead/ring0). This repo previously
  pinned @main (bleeding edge); ring0 gives it a controlled canary slot that
  rolls forward/back via a central tag move.
- scripts/compliance-audit.sh (check_dev_lead_stub): accept the staged-canary
  channels dev-lead/{stable,next,ring<N>} for both the uses: pin and agent_ref,
  not just stable. Still rejects @main and frozen @vX.Y.Z/@<sha> (callers must
  pin a moving channel). Needed so ring-pinned consumers (e.g. TalkTerm@ring1)
  aren't flagged dev-lead-stub-pin.

Ring plan: .github-private→next · .github→ring0 · TalkTerm→ring1 · rest→stable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@don-petry don-petry requested a review from a team as a code owner June 21, 2026 02:24
@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

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 860410bf-da9b-4d84-952a-257ddcb1ccc7

📥 Commits

Reviewing files that changed from the base of the PR and between dfe9edc and b74ca09.

📒 Files selected for processing (3)
  • .github/workflows/dev-lead.yml
  • scripts/compliance-audit.sh
  • test/scripts/compliance-audit/dev-lead-stub-channel-sync.bats

📝 Walkthrough

Walkthrough

The dev-lead workflow stub is re-pinned from main to dev-lead/ring0. The check_dev_lead_stub() compliance function is updated to accept stable, next, and ring<N> channel tags and to require agent_ref to match the exact channel used in uses:. A new Bats test file covers the channel-extraction and channel-sync helper functions.

Changes

Channel-aware dev-lead stub compliance

Layer / File(s) Summary
Channel-aware stub validation and workflow update
scripts/compliance-audit.sh, .github/workflows/dev-lead.yml
check_dev_lead_stub() is updated to accept @dev-lead/stable, @dev-lead/next, and @dev-lead/ring<N> as valid uses: pins, extracts the channel from the selected pin, and requires agent_ref to match that channel. The dev-lead.yml stub is re-pinned to dev-lead/ring0 for both the uses: ref and the agent_ref input.
Bats tests for channel extraction and agent_ref sync
test/scripts/compliance-audit/dev-lead-stub-channel-sync.bats
Adds _extract_uses_channel and _agent_ref_matches_channel helper functions with unit tests covering stable/next/ring0/ring1, edge cases (commented uses:, SHA pins, version tags), happy-path matches, split-brain mismatch failures, and fixture-style integration tests against realistic YAML stubs.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • petry-projects/.github#12: Introduced scripts/compliance-audit.sh and the original check_dev_lead_stub() function that this PR modifies.
  • petry-projects/.github#440: Established the @dev-lead/stable pin and agent_ref: dev-lead/stable enforcement that this PR generalizes to all release channels.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 66.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and accurately describes the primary changes: pinning dev-lead to @dev-lead/ring0 and extending audit acceptance to ring channels.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/dev-lead-canary-ring0

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
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 updates the compliance audit script to support additional release channels (such as "next" and "ring") in addition to "stable" for the dev-lead workflow and agent reference. The reviewer noted that the script does not enforce that both the "uses:" pin and the "agent_ref" parameter use the exact same channel, which could lead to mismatched versions. A code suggestion was provided to extract the channel from the "uses:" pin and ensure "agent_ref" matches it.

Comment thread scripts/compliance-audit.sh
@don-petry don-petry enabled auto-merge (squash) June 21, 2026 02:26
@don-petry don-petry disabled auto-merge June 21, 2026 02:26
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 21, 2026
@don-petry

Copy link
Copy Markdown
Contributor Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@don-petry

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 21, 2026 02:34

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

Summary

Staged-canary rollout (dev-lead v1.4.0, versioning.md Phase 2 #499/#500): pins this repo's dev-lead caller to the moving dev-lead/ring0 channel and threads agent_ref: dev-lead/ring0, and teaches check_dev_lead_stub() in compliance-audit.sh to accept the dev-lead/{stable,next,ring<N>} channel set (still rejecting @main, @vX.Y.Z, and @<sha>). The audit now extracts the channel from the uses: pin and requires agent_ref to match that exact channel, closing the split-brain gap raised by gemini-code-assist. 185-line bats suite covers extraction, happy-path matching, and split-brain mismatch cases.

Linked issue analysis

No closingIssuesReferences. PR is part of the tracked #781/#499/#500 release rollout and is self-describing; companion PRs (.github-private#856 → next, TalkTerm#306 → ring1) named in the body. No linked issue to substantively close.

Findings

No blocking findings.

  • Workflow pin moves from @main (bleeding edge) to the org-internal moving channel @dev-lead/ring0 — this is the intended self-host channel model, not a third-party-action SHA-pin concern. Same-org first-party reusable workflow.
  • gemini-code-assist's split-brain concern (uses: vs agent_ref channel drift) is addressed: the audit extracts uses_channel and enforces agent_ref: dev-lead/$uses_channel exactly; falls back to the channel-set check only when no channel pin is found.
  • Secret-scanning MCP tool not available in this run; gitleaks CI check passed and the diff (workflow YAML + shell regex + bats) contains no credential material.
  • Note: mergeStateStatus is BEHIND main (mergeable=MERGEABLE) — needs a branch update before merge, not a review blocker.

CI status

All required checks green: Lint, ShellCheck, Agent Security Scan, Secret scan (gitleaks), Compliance Audit Tests (Lint and bats), CodeQL, SonarCloud (Quality Gate passed), AgentShield, CodeRabbit. Dependency-audit ecosystem jobs and dependabot-automerge SKIPPED (not applicable). No failing checks. No CHANGES_REQUESTED reviews; gemini COMMENTED, coderabbit DISMISSED.


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

@sonarqubecloud

Copy link
Copy Markdown

@don-petry don-petry merged commit 0011a11 into main Jun 21, 2026
21 of 22 checks passed
@don-petry don-petry deleted the claude/dev-lead-canary-ring0 branch June 21, 2026 07:15
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.

2 participants