Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
name: Auto-label Dependabot PRs
name: Auto-label dependency PRs
# Applies agents:allow-change to dependency-bot PRs (dependabot[bot] and
# renovate[bot]). Renamed from the dependabot-specific file/name once Renovate
# became the fleet's bumper; not a gate check, so the check-run rename is safe.

on:
pull_request_target:
Expand Down
2 changes: 1 addition & 1 deletion docs/LABELS.md
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ These labels trigger the post-merge verifier workflow on a merged PR.
explicit permission.

**Consumers:** `.github/scripts/agents-guard.js`,
`.github/workflows/maint-dependabot-auto-label.yml`.
`.github/workflows/maint-auto-label-dep-prs.yml`.

---

Expand Down
2 changes: 1 addition & 1 deletion docs/ci/WORKFLOWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ Consumer default note: `agents-pr-meta-v4.yml` is a Workflows-repo service workf
* [`agents-dedup.yml`](../../.github/workflows/agents-dedup.yml) detects duplicate issues using semantic similarity analysis and posts findings as a comment.
* [`agents-verify-to-issue-v2.yml`](../../.github/workflows/agents-verify-to-issue-v2.yml) creates follow-up issues from verification feedback when PRs receive CONCERNS or FAIL verdicts using the enhanced LangChain analyzer. The legacy v1 issue workflow has been removed.
* [`agents-verify-to-new-pr.yml`](../../.github/workflows/agents-verify-to-new-pr.yml) creates a follow-up issue from verification feedback, enforces the follow-up chain-depth limit, emits verifier follow-up ledger records, and kicks off a new PR when policy allows it.
* [`maint-dependabot-auto-label.yml`](../../.github/workflows/maint-dependabot-auto-label.yml) automatically applies the `agents:allow-change` label to Dependabot PRs.
* [`maint-auto-label-dep-prs.yml`](../../.github/workflows/maint-auto-label-dep-prs.yml) automatically applies the `agents:allow-change` label to dependency-bot PRs (Dependabot + Renovate).
* [`maint-dependabot-auto-lock.yml`](../../.github/workflows/maint-dependabot-auto-lock.yml) automatically regenerates requirements.lock when dependabot updates pyproject.toml.
* [`maint-dependabot-weekly-sweep.yml`](../../.github/workflows/maint-dependabot-weekly-sweep.yml) sweeps registered consumer repos weekly to enable Dependabot auto-merge and merge eligible PRs when checks are green, requesting branch deletion for merged Dependabot branches.
* [`agents-verifier.yml`](../../.github/workflows/agents-verifier.yml) runs when `verify:*` labels are applied to a pull request (or via manual dispatch) to assemble acceptance/task context, execute LLM-based verifier modes, and post a verdict. `checkbox` mode uses the Codex CLI to drive checklist-style verification, while `evaluate` and `compare` run non-Codex verifier flows. In `compare` mode, two LLM providers (gpt-5.4 + claude-sonnet-4-6) evaluate independently with unanimous-PASS consensus. On CONCERNS or FAIL, maintainers (or follow-up automation) can apply the `verify:create-new-pr` label to trigger `agents-verify-to-new-pr.yml`, which uses a 4-round LLM pipeline to generate a follow-up issue when chain-depth policy allows it. Follow-up chain depth must not exceed 2; the workflow records policy/disposition metadata and applies `needs-human` at the limit. See [`docs/analysis/verify-compare-40pr-evaluation-feb-2026.md`](../analysis/verify-compare-40pr-evaluation-feb-2026.md) for the Feb 2026 evaluation baseline.
Expand Down
4 changes: 2 additions & 2 deletions docs/ci/WORKFLOW_SYSTEM.md
Original file line number Diff line number Diff line change
Expand Up @@ -702,7 +702,7 @@ Keep this table handy when you are triaging automation: it confirms which workfl
| **Maint 47 Disable Legacy Workflows** (`maint-47-disable-legacy-workflows.yml`, maintenance bucket) | `workflow_dispatch` | Run `tools/disable_legacy_workflows.py` to disable archived workflows that still appear in Actions. | ⚪ Manual | [Maint 47 dispatch](https://github.com/stranske/Workflows/actions/workflows/maint-47-disable-legacy-workflows.yml) |
| **Maint 50 Tool Version Check** (`maint-50-tool-version-check.yml`, maintenance bucket) | `schedule` (Mondays 8:00 AM UTC), `workflow_dispatch` | Check PyPI for new versions of CI/autofix tools and create/update an issue when updates are available. | ⚪ Scheduled | [Maint 50 version checks](https://github.com/stranske/Workflows/actions/workflows/maint-50-tool-version-check.yml) |
| **Maint 51 Dependency Refresh** (`maint-51-dependency-refresh.yml`, maintenance bucket) | `schedule` (1st & 15th at 04:00 UTC), `workflow_dispatch` | Regenerate `requirements.lock` with `uv pip compile`, verify tool-pin alignment, and open a refresh PR when dependency updates are detected (supports dry-run previews). | ⚪ Scheduled | [Maint 51 dependency refresh](https://github.com/stranske/Workflows/actions/workflows/maint-51-dependency-refresh.yml) |
| **Auto-label Dependabot PRs** (`maint-dependabot-auto-label.yml`, maintenance bucket) | `pull_request_target` (`opened`) | Apply the `agents:allow-change` label to Dependabot PRs so protected-workflow changes can be reviewed without manual label work. | ⚪ Automatic on PR open | [Dependabot auto-label runs](https://github.com/stranske/Workflows/actions/workflows/maint-dependabot-auto-label.yml) |
| **Auto-label dependency PRs** (`maint-auto-label-dep-prs.yml`, maintenance bucket) | `pull_request_target` (`opened`) | Apply the `agents:allow-change` label to dependency-bot PRs (Dependabot + Renovate) so protected-workflow changes can be reviewed without manual label work. | ⚪ Automatic on PR open | [Auto-label runs](https://github.com/stranske/Workflows/actions/workflows/maint-auto-label-dep-prs.yml) |
| **Dependabot Auto-Lock** (`maint-dependabot-auto-lock.yml`, maintenance bucket) | `pull_request` (Dependabot branches, `pyproject.toml` changes) | Regenerate `requirements.lock` when Dependabot updates `pyproject.toml`, commit the updated lockfile back to the Dependabot PR branch, and keep dependency pins in sync. | ⚪ Automatic on Dependabot PRs | [Dependabot auto-lock runs](https://github.com/stranske/Workflows/actions/workflows/maint-dependabot-auto-lock.yml) |
| **Dependabot Weekly Sweep (Consumers)** (`maint-dependabot-weekly-sweep.yml`, maintenance bucket) | `schedule` (Mondays 09:00 UTC), `workflow_dispatch` | Sweep registered consumer repos weekly to enable Dependabot auto-merge and merge eligible PRs when checks are green. | ⚪ Scheduled/manual | [Dependabot weekly sweep runs](https://github.com/stranske/Workflows/actions/workflows/maint-dependabot-weekly-sweep.yml) |
| **Maint Sync pyproject.toml from versions.env** (`maint-sync-env-from-pyproject.yml`, maintenance bucket) | `push` (`main`, autofix pin/template/lock paths), `workflow_dispatch` | Sync `pyproject.toml`, templates, and direct `requirements.lock` pins from canonical `autofix-versions.env` after changes land. | ⚪ Automatic on main | [Maint sync env runs](https://github.com/stranske/Workflows/actions/workflows/maint-sync-env-from-pyproject.yml) |
Expand Down Expand Up @@ -826,7 +826,7 @@ snapshots for audit trails.
`maint-51-dependency-refresh.yml`, the Gate summary job (inline),
`maint-coverage-guard.yml`, health 40/41/42/43/44,
agents 70/63, `agents-moderate-connector.yml`, `agents-debug-issue-event.yml`, `agents-guard.yml`, reusable 10/12/16/18, and
`maint-dependabot-auto-label.yml`, `maint-dependabot-auto-lock.yml`, and `selftest-reusable-ci.yml`.
`maint-auto-label-dep-prs.yml`, `maint-dependabot-auto-lock.yml`, and `selftest-reusable-ci.yml`.
- **Retire.** `pr-14-docs-only.yml`, `maint-47-check-failure-tracker.yml`, the
removed Agents 61/62 consumer workflows, and the legacy `selftest-*` wrappers
superseded by `selftest-reusable-ci.yml`.
Expand Down
2 changes: 1 addition & 1 deletion docs/ops/debouncing-run-counts.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ concurrency groups and set cancel-in-progress: true (see docs/ops/debouncing-run
| `.github/workflows/maint-65-sync-label-docs.yml` | `${{ github.workflow }}-${{ github.ref }}` |
| `.github/workflows/maint-69-sync-integration-repo.yml` | `${{ github.workflow }}-${{ github.ref }}` |
| `.github/workflows/maint-71-auto-fix-integration.yml` | `${{ github.workflow }}-issue-${{ github.event.issue.number || github.ref }}` |
| `.github/workflows/maint-dependabot-auto-label.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number || github.ref }}` |
| `.github/workflows/maint-auto-label-dep-prs.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number || github.ref }}` |

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Escape the || in the table cell.

Markdown will treat the || inside the GitHub expression as extra table separators, so this row renders with the wrong column count. Escape the pipes or move the expression out of the table.

Suggested fix
-| `.github/workflows/maint-auto-label-dep-prs.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number || github.ref }}` |
+| `.github/workflows/maint-auto-label-dep-prs.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number &`#124`;&`#124`; github.ref }}` |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
| `.github/workflows/maint-auto-label-dep-prs.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number || github.ref }}` |
| `.github/workflows/maint-auto-label-dep-prs.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number &`#124`;&`#124`; github.ref }}` |
🧰 Tools
🪛 LanguageTool

[uncategorized] ~55-~55: The official name of this software platform is spelled with a capital “H”.
Context: ...vent.issue.number || github.ref }}| |.github/workflows/maint-auto-label-dep-prs.yml`...

(GITHUB)


[uncategorized] ~55-~55: The official name of this software platform is spelled with a capital “H”.
Context: ...rkflows/maint-auto-label-dep-prs.yml|${{ github.workflow }}-pr-${{ github.event.pull_re...

(GITHUB)

🪛 markdownlint-cli2 (0.22.1)

[warning] 55-55: Table column count
Expected: 2; Actual: 4; Too many cells, extra data will be missing

(MD056, table-column-count)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/ops/debouncing-run-counts.md` at line 55, The table cell containing the
GitHub Actions expression with the `||` operator is being misinterpreted by
Markdown as additional table column separators, causing the row to render with
incorrect column count. In the table row for
`.github/workflows/maint-auto-label-dep-prs.yml`, escape the pipe characters in
the `||` operator within the GitHub expression `${{ github.workflow }}-pr-${{
github.event.pull_request.number || github.ref }}` by replacing each pipe
character with `\|` so Markdown treats them as literal characters rather than
table delimiters.

Source: Linters/SAST tools

| `.github/workflows/maint-dependabot-auto-lock.yml` | `${{ github.workflow }}-pr-${{ github.event.pull_request.number || github.ref }}` |
| `.github/workflows/maint-sync-action-versions.yml` | `${{ github.workflow }}-${{ github.ref }}` |
| `.github/workflows/maint-sync-env-from-pyproject.yml` | `${{ github.workflow }}-${{ github.ref }}` |
11 changes: 4 additions & 7 deletions templates/consumer-repo/WORKFLOW_USER_GUIDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -843,16 +843,13 @@ The Workflows repository includes maintenance workflows that handle sync, update

---

### `maint-dependabot-auto-label.yml` - Label Dependabot PRs
**Purpose:** Auto-labels Dependabot PRs by category
### `maint-auto-label-dep-prs.yml` - Label dependency PRs
**Purpose:** Auto-labels dependency-bot PRs with `agents:allow-change`

**Trigger:** When Dependabot opens PR
**Trigger:** When Dependabot or Renovate opens a PR

**Labels Applied:**
- `dependencies` (all)
- `python` for Python packages
- `github-actions` for action updates
- `security` for security updates
- `agents:allow-change` (so protected-workflow changes can be reviewed without manual label work)

Comment on lines +846 to 853

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Keep the consumer docs aligned with shipped files.

The PR objective says maint-auto-label-dep-prs.yml is Workflows-only and not synced into consumer repos, so these consumer-facing docs now point readers at a path that won't exist in their checkout.

  • templates/consumer-repo/WORKFLOW_USER_GUIDE.md#L846-L853: either drop this section or mark it as Workflows-repo-only.
  • templates/consumer-repo/docs/LABELS.md#L601-L602: remove or rephrase the consumer reference accordingly.
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 846-846: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below

(MD022, blanks-around-headings)

📍 Affects 2 files
  • templates/consumer-repo/WORKFLOW_USER_GUIDE.md#L846-L853 (this comment)
  • templates/consumer-repo/docs/LABELS.md#L601-L602
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@templates/consumer-repo/WORKFLOW_USER_GUIDE.md` around lines 846 - 853, The
consumer-facing documentation references the maint-auto-label-dep-prs.yml
workflow, which does not exist in consumer repo checkouts since this file is
only in the Workflows repository. In
templates/consumer-repo/WORKFLOW_USER_GUIDE.md lines 846-853, either remove the
entire section describing maint-auto-label-dep-prs.yml or clearly mark it as
Workflows-repo-only to avoid confusing consumers. Then in
templates/consumer-repo/docs/LABELS.md lines 601-602, remove or rephrase the
consumer reference that relates to this workflow to maintain documentation
consistency and prevent broken references.

**Use When:** Automatic, no action needed

Expand Down
2 changes: 1 addition & 1 deletion templates/consumer-repo/docs/LABELS.md
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ These labels trigger the post-merge verifier workflow on a merged PR.
explicit permission.

**Consumers:** `.github/scripts/agents-guard.js`,
`.github/workflows/maint-dependabot-auto-label.yml`.
`.github/workflows/maint-auto-label-dep-prs.yml`.

---

Expand Down
2 changes: 1 addition & 1 deletion tests/workflows/test_workflow_naming.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ def test_workflow_display_names_are_unique():
"agents-decompose.yml": "Task Decomposition",
"agents-dedup.yml": "Duplicate Detection",
"agents-guard.yml": "Health 45 Agents Guard",
"maint-dependabot-auto-label.yml": "Auto-label Dependabot PRs",
"maint-auto-label-dep-prs.yml": "Auto-label dependency PRs",
"maint-dependabot-auto-lock.yml": "Dependabot Auto-Lock",
"maint-dependabot-weekly-sweep.yml": "Dependabot Weekly Sweep (Consumers)",
"agents-63-issue-intake.yml": "Agents 63 Issue Intake",
Expand Down
Loading