Skip to content

test(dev-lead): assert per-issue/per-PR concurrency lanes (align with #450, unblocked by #449) - #451

Merged
don-petry merged 6 commits into
mainfrom
fix/concurrency-test-per-lane
Jun 7, 2026
Merged

don-petry merged 6 commits into
mainfrom
fix/concurrency-test-per-lane

Conversation

@don-petry

@don-petry don-petry commented Jun 7, 2026 •

Copy link
Copy Markdown
Collaborator

Why

#450 restored per-issue / per-PR concurrency lanes — the fix for issue pickups being cancelled by PR follow-up traffic (petry-projects/.github#402). But tests/dev-lead/integration/test_concurrency_config.sh still asserts the old single repo-wide 'dev-lead' group from #278, so it fails 3 checks against the current dev-lead.yml:

FAIL [no per-PR group]: 'dev-lead-pr-' found ...
FAIL [no per-issue group]: 'dev-lead-issue-' found ...
FAIL [per-repo 'dev-lead' fallback group]: ''dev-lead'' not found ...

It didn't go red when #450 merged only because the push: → main path filter in test-dev-lead.yml excludes .github/workflows/dev-lead*.yml. It would fail on the next dev-lead PR (any PR touching a dev-lead* path).

The #449 connection

#278's per-repo serialization existed solely to stop concurrent in-place PR checkouts from corrupting the agent's working tree. #449 (#448) removed that hazard by checking out each PR branch in an isolated git worktree — so parallel per-lane runs are now safe, and the per-lane design is the correct end state.

Change

  • Invert the assertions: require dev-lead-pr- / dev-lead-issue- / dev-lead-ci-relay- lanes and cancel-in-progress: false; forbid a repo-wide 'dev-lead' group (guards against a feat(concurrency): serialize dev-lead to one active run per repo #278-style regression).
  • Extend coverage to dev-lead-reusable.yml (the source of truth all consumer stubs delegate to), not just the inline workflow.
  • Update the CI step label to "per-issue/per-PR lanes".

Verified: the updated test passes against current main (10/10 across both workflows); shellcheck -S warning clean.

Refs petry-projects/.github#402 · follows #450, #449.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Tests

    • Enhanced concurrency-lane validation across multiple workflow configurations to ensure distinct per-PR and per-issue lanes.
    • Strengthened negative checks to prevent unintended collapse into a single repo-wide concurrency group.
    • Continued enforcement that in-progress runs are not auto-cancelled.
  • Chores

    • Renamed a workflow step label for clearer intent.

…po serialization

#450 restored per-issue / per-PR concurrency lanes (the fix for issue pickups
being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 7, 2026 01:20
@coderabbitai

coderabbitai Bot commented Jun 7, 2026 •

Copy link
Copy Markdown

Review Change Stack

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 35 minutes and 53 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

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

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

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: fbbfb663-52d5-4600-8456-026cb53f30f6

📥 Commits

Reviewing files that changed from the base of the PR and between 45a128f and 8712c4c.

📒 Files selected for processing (1)
  • tests/dev-lead/integration/test_concurrency_config.sh
📝 Walkthrough

Walkthrough

The PR updates the dev-lead concurrency validation workflow and test script to enforce per-issue/per-PR lane routing. The workflow step label is clarified, and the test script is enhanced to validate concurrency configuration across both inline and reusable workflows while preventing repo-wide group fallback.

Changes

Concurrency Lane Validation

Layer / File(s) Summary
Workflow label and test documentation
.github/workflows/test-dev-lead.yml, tests/dev-lead/integration/test_concurrency_config.sh
The workflow step label changes from "per-repo serialization" to "per-issue/per-PR lanes"; the test script header is updated to document the current design: per-issue/per-PR lanes plus a per-SHA relay lane, and path filters/comments ensure the test runs when dev-lead workflow files change.
Concurrency lane validation rules
tests/dev-lead/integration/test_concurrency_config.sh
The script now loops over both inline and reusable workflow files; adds presence assertions for per-PR and per-issue format()-based lanes and the dedicated dev-lead-ci-relay per-SHA lane; introduces stricter negative checks across quoting variants to prevent fallback to a single repo-wide dev-lead group; retains the cancel-in-progress: false requirement.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related issues

Possibly related PRs

  • petry-projects/.github-private#179: This PR extends the test to validate the new reusable workflow's per-PR/per-issue concurrency lane routing, directly tied to the reusable workflow introduced there.

Suggested labels

needs-human-review

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% 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 accurately summarizes the primary change: updating tests to assert per-issue/per-PR concurrency lanes rather than repo-wide serialization, directly aligning with the file changes shown in the raw_summary.
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 unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/concurrency-test-per-lane

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 updates the integration test script test_concurrency_config.sh to validate that both the inline and reusable dev-lead workflow files correctly implement per-issue and per-PR concurrency lanes instead of a single repo-wide group. The reviewer suggested adding a guard to verify the existence of the workflow files before running checks, ensuring the script fails gracefully with a clear error message if executed from outside the repository root.

Comment thread tests/dev-lead/integration/test_concurrency_config.sh

Copilot AI 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.

Pull request overview

Updates the dev-lead integration test suite to assert the restored per-issue/per-PR concurrency lane design (and to validate both the inline workflow and the reusable “source of truth”), plus aligns the CI job label accordingly.

Changes:

  • Invert concurrency assertions to require dev-lead-pr-, dev-lead-issue-, and dev-lead-ci-relay- lanes and cancel-in-progress: false, and to forbid a repo-wide dev-lead group.
  • Extend the concurrency config integration test to validate both dev-lead.yml and dev-lead-reusable.yml.
  • Update the test-dev-lead.yml step name to reflect per-issue/per-PR lanes.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
tests/dev-lead/integration/test_concurrency_config.sh Updates integration assertions to validate per-lane concurrency across both inline and reusable dev-lead workflows.
.github/workflows/test-dev-lead.yml Renames the concurrency validation step to match the new lane-based assertions.

Comment thread tests/dev-lead/integration/test_concurrency_config.sh Outdated
Comment thread tests/dev-lead/integration/test_concurrency_config.sh Outdated

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 65c38fd891

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tests/dev-lead/integration/test_concurrency_config.sh Outdated
Comment thread tests/dev-lead/integration/test_concurrency_config.sh Outdated
@don-petry
don-petry enabled auto-merge (squash) June 7, 2026 01:24
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — rate-limited (intent: review-changes)

PR: #451
The retry cron will re-attempt automatically. Rate limit resets at: 2026-06-07T02:03:00Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I received your request but all AI engines are currently rate-limited. I'll retry automatically once the rate limit clears.
Rate limit resets at: 2026-06-07T02:03:00Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

@dev-lead please re-check this PR — re-triggering after the dev-lead/pr-review workflows were briefly disabled.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead Review — PR #451

Overview

This PR fixes a stale test that was asserting the old per-repo serialized concurrency design (#278) instead of the current per-issue / per-PR lane design restored in #450. Without this fix, the test would have failed on the next PR touching any dev-lead* workflow path.

What changes

  • tests/dev-lead/integration/test_concurrency_config.sh — inverts all assertions: now requires format('dev-lead-pr-...'), format('dev-lead-issue-...'), format('dev-lead-ci-relay-...') to be present and explicitly forbids the bare group: 'dev-lead' pattern (three quote-style variants guarded). Wraps checks in a loop covering both dev-lead.yml and dev-lead-reusable.yml.
  • .github/workflows/test-dev-lead.yml — updates the CI step label from "per-repo serialization" to "per-issue/per-PR lanes".

Code quality

Test verification

Ran tests/dev-lead/integration/test_concurrency_config.sh against the branch: 10/10 PASS across both dev-lead.yml and dev-lead-reusable.yml.

Verdict

No issues found. Changes are test-only, correct, and well-motivated. Ready to merge.

@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — on-mention (no-changes)

Engine ran but made no changes.

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

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

Summary

Tests-only change that updates tests/dev-lead/integration/test_concurrency_config.sh to assert the per-issue / per-PR / per-SHA concurrency lanes restored by #450, replacing the obsolete repo-wide dev-lead group from #278. Also extends coverage from just dev-lead.yml to include dev-lead-reusable.yml (the source of truth for consumer stubs), and renames the CI step label to match. No production-code changes.

Linked issue analysis

No linked closing issues. PR references petry-projects/.github#402 (the issue-pickup-cancellation bug that #450 fixed) as the motivation for guarding the per-lane design against regression. The change is a logical follow-up that closes a test-coverage gap; the prior test would have failed on the next dev-lead-path PR because the push: main path filter in test-dev-lead.yml excludes dev-lead*.yml and masked the staleness when #450 merged.

Findings

Spot-checked the asserted patterns against the actual workflow files at PR HEAD:

  • dev-lead.yml and dev-lead-reusable.yml both use format('dev-lead-pr-{0}', …), format('dev-lead-issue-{0}', …), and format('dev-lead-ci-relay-{0}', …) in their concurrency.group expression, with cancel-in-progress: false. The check_present assertions will match.
  • Neither file contains a bare group: dev-lead / group: 'dev-lead' / group: "dev-lead", so the three check_absent regression guards pass.
  • The file-existence guard added in the fix-reviews commit (in response to Gemini's review) handles the case where the script is invoked from outside the repo root cleanly.
  • shellcheck and bats checks are green on this SHA.

No security, correctness, or maintainability concerns. No auth/secrets/migrations/dependency touch.

CI status

All required checks SUCCESS: CodeQL, SonarCloud, ShellCheck, Lint, bats, unit-tests, AgentShield, Agent Security Scan, Secret scan (gitleaks), validate-agent-profiles, gh-aw-compile, Compile agentic workflows, dependency-audit (ecosystems detected; language-specific audits SKIPPED — none of those ecosystems present), PR Review Agent. CodeRabbit APPROVED on this SHA.


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

…hed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@don-petry
don-petry dismissed stale reviews from donpetry-bot and coderabbitai[bot] via 45a128f June 7, 2026 02:47
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — rate-limited (intent: review-changes)

PR: #451
The retry cron will re-attempt automatically. Rate limit resets at: 2026-06-07T03:19:24Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I received your request but all AI engines are currently rate-limited. I'll retry automatically once the rate limit clears.
Rate limit resets at: 2026-06-07T03:19:24Z

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — rate-limited (intent: fix-reviews)

PR: #451
The retry cron will re-attempt automatically. Rate limit resets at: 2026-06-07T05:24:51Z

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cdbe75eccd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tests/dev-lead/integration/test_concurrency_config.sh
Comment thread tests/dev-lead/integration/test_concurrency_config.sh
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — rate-limited (intent: review-changes)

PR: #451
The retry cron will re-attempt automatically. Rate limit resets at: 2026-06-07T05:38:06Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

Note

@don-petry I received your request but all AI engines are currently rate-limited. I'll retry automatically once the rate limit clears.
Rate limit resets at: 2026-06-07T05:38:06Z

@don-petry

Copy link
Copy Markdown
Collaborator Author

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

Agent reasoning
Issues addressed: 0
Files changed: none
Skipped (informational): 1
  - Quality Gate Passed with 0 new issues, 0 security hotspots — comment
    is a status notification only; no code changes required.
```

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: d59f973994

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tests/dev-lead/integration/test_concurrency_config.sh
coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 7, 2026
@don-petry

Copy link
Copy Markdown
Collaborator Author

Dev-Lead — fix-reviews (applied)

Changes committed and pushed.

@sonarqubecloud

sonarqubecloud Bot commented Jun 7, 2026

Copy link
Copy Markdown

@don-petry

Copy link
Copy Markdown
Collaborator Author

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

No changes were needed for this PR.

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

Summary

Test-only change that realigns tests/dev-lead/integration/test_concurrency_config.sh with the per-issue / per-PR concurrency lane design restored by #450, and extends the test-dev-lead.yml push: path filter so future dev-lead*.yml edits actually trigger this suite (the gap that let the per-repo→per-lane mismatch land silently after #450). No production code touched; pure CI/test infrastructure.

Linked issue analysis

No closes/fixes references — body cites #450, #449, #448, #278, and petry-projects/.github#402 as context only. Appropriate for a follow-up test fix; no issue closure expected.

Findings

Confirming triage assessment — nothing material to flag.

  • Scope is correctly narrow: 2 files, +94/-13, both test/CI. No secrets, auth, migrations, or runtime behavior changes.
  • New assertions correctly target the lane design: per-PR / per-issue / per-SHA ci-relay lanes are required, and a single repo-wide 'dev-lead' group is forbidden. Multiple bare-value spellings (unquoted / single- / double-quoted, plus || 'dev-lead' inside the ${{ }} expression) are all guarded, so a #278-style collapse can't slip through on quoting changes.
  • The new check_order helper meaningfully strengthens the suite: it asserts (a) client_payload.pr_number predicate appears before the run_id fallback (otherwise every repository_dispatch gets a unique lane and ci-relay stops sharing the PR slot) and (b) issue.pull_request appears before issue.number (otherwise PR comments fall through to the issue lane). Both are real, subtle regression vectors worth pinning.
  • Coverage is extended from just dev-lead.yml to also include dev-lead-reusable.yml (the source of truth all consumer stubs delegate to) — correct.
  • The added push: path filter (.github/workflows/dev-lead*.yml, .github/workflows/test-dev-lead.yml) closes the real gap that hid the mismatch after #450 merged. Self-referencing the test workflow's own path is fine because the test only bash-runs a script — no recursion hazard.
  • Verification: I ran the updated script against the workflows on this PR branch — 13/13 checks pass for dev-lead.yml and 13/13 for dev-lead-reusable.yml. (PR body says "10/10"; actual is 13/13 per file — cosmetic undercount, not a correctness issue.)
  • shellcheck/bats/Lint all green.

CI status

All required checks green: Lint, shellcheck, ShellCheck, bats, unit-tests, CodeQL, Analyze (actions), Secret scan (gitleaks), Agent Security Scan, agent-shield / AgentShield, validate-agent-profiles, Compile agentic workflows, gh-aw-compile, SonarCloud, SonarCloud Code Analysis, CodeRabbit, review, dispatch. Skipped checks are non-applicable (dependabot, ci-relay, language-specific dependency audits with no manifest changes).


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

@don-petry
don-petry merged commit f7b746a into main Jun 7, 2026
26 checks passed
@don-petry
don-petry deleted the fix/concurrency-test-per-lane branch June 7, 2026 05:16

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8712c4c9f2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

# Per-issue and per-PR lanes must be present so a labeled-issue pickup is never
# cancelled by unrelated PR follow-up traffic.
# Match format('dev-lead-…') to target the concurrency expression, not comments.
check_present "$WORKFLOW" "format('dev-lead-pr-" "per-PR lane"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Assert direct pull_request routing

For pull_request, pull_request_review, and pull_request_review_comment events, the PR lane depends on the github.event.pull_request.number && format('dev-lead-pr-...') branch, but this check can be satisfied by the issue-comment or repository-dispatch PR branches alone. If the direct pull_request.number predicate is removed, those PR/review events fall through to the run-id fallback while this test still passes; please assert that predicate specifically, as the new issue-comment and dispatch assertions do.

Useful? React with 👍 / 👎.

check_absent "$WORKFLOW" "dev-lead-pr-" "no per-PR group"
check_absent "$WORKFLOW" "dev-lead-issue-" "no per-issue group"
# ci-relay keeps its own ephemeral per-SHA slot so it fires immediately.
check_present "$WORKFLOW" "format('dev-lead-ci-relay-" "ci-relay per-SHA lane"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Assert check_run routing to the relay lane

For check_run events, the per-SHA relay lane depends on the github.event_name == 'check_run' && format('dev-lead-ci-relay-...') predicate, but this assertion only requires the lane token to appear somewhere. If the check_run predicate is removed or changed so completed check runs fall through to dev-lead-run-<run_id>, the test still passes while CI-failure relays no longer share the intended per-SHA slot; please assert the full predicate-to-lane binding as the later PR-specific checks do.

Useful? React with 👍 / 👎.

don-petry added a commit that referenced this pull request Jun 7, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

#450 restored per-issue / per-PR concurrency lanes (the fix for issue pickups
being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 7, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

#450 restored per-issue / per-PR concurrency lanes (the fix for issue pickups
being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 12, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

#450 restored per-issue / per-PR concurrency lanes (the fix for issue pickups
being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 14, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

#450 restored per-issue / per-PR concurrency lanes (the fix for issue pickups
being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 18, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 25, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
don-petry added a commit that referenced this pull request Jun 25, 2026
…450, unblocked by #449) (#451)

* test(dev-lead): assert per-issue/per-PR concurrency lanes, not per-repo serialization

being cancelled by PR follow-up traffic, petry-projects/.github#402), but
test_concurrency_config.sh still asserted the old single 'dev-lead' per-repo
group from #278 — so it fails against the current dev-lead.yml (3 checks). It
didn't go red on the #450 merge only because the push-to-main path filter
excludes .github/workflows/dev-lead*.yml; it would fail on the next dev-lead PR.

The #278 serialization existed only to stop concurrent in-place PR checkouts
from corrupting the working tree. #449 (#448) removed that hazard by checking
out each PR branch in an isolated git worktree, so parallel per-lane runs are
now safe.

Invert the assertions to require the per-issue / per-PR / ci-relay lanes and
forbid a repo-wide 'dev-lead' group, and extend coverage to the reusable
workflow (source of truth for all consumer stubs). Update the CI step label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* ci(dev-lead): run concurrency-config on dev-lead workflow changes pushed to main

The push-to-main path filter only watched scripts/tests/prompts, so a change to
.github/workflows/dev-lead*.yml could land on main without ever running the
concurrency-config test — exactly how the per-repo->per-lane mismatch stayed
hidden after #450 merged. Add the dev-lead workflow files to the push paths.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(reviews): address review comments [skip ci-relay]

* fix(reviews): address review comments [skip ci-relay]

---------

Co-authored-by: Claude Code Bot <noreply@anthropic.com>
Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
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.

4 participants