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
2 changes: 1 addition & 1 deletion .github/workflows/add-to-project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
#
# To adopt: copy this file to .github/workflows/add-to-project.yml in your
# repo. Requires the org secrets INITIATIVES_APP_ID and
# INITIATIVES_APP_PRIVATE_KEY (the petry-projects-planner GitHub App), and the
# INITIATIVES_APP_PRIVATE_KEY (the combsmith-planner GitHub App), and the
# app installation must include this repo. See combsmith/.github#387.
#
# Tracking: combsmith/.github#387, #415
Expand Down
6 changes: 3 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1623,7 +1623,7 @@ intentionally **mutable** and are an accepted, documented exception because they
- Immutable `vX.Y.Z` tags are the real rollback targets; `scripts/cut-release.sh` refuses to overwrite
an existing release tag.
- Routine channel-tag moves are made by the health-gated Release Manager automation (#501/#993,
below), which is a ruleset bypass actor through the `petry-projects-release-manager` GitHub App.
below), which is a ruleset bypass actor through the `combsmith-release-manager` GitHub App.
The only other sanctioned path is a maintainer running `cut-release.sh` as an org admin or with
that App's token.

Expand All @@ -1633,7 +1633,7 @@ Release tags on this repo's agents (`pr-review`, `dev-lead`, `ci-failure-analyst
`combsmith/.github`-hosted reusables are cut and moved by the **Release Manager**. That is the
`Canary Rollout` workflow in **`combsmith/.github`**
(`.github/workflows/canary-rollout.yml` + `scripts/canary-rollout.sh`, relocated there from this
repo under #613), acting as the **`petry-projects-release-manager[bot]`** GitHub App. Its registry
repo under #613), acting as the **`combsmith-release-manager[bot]`** GitHub App. Its registry
(each agent's host, reusable path, rings and gate knobs) is **`standards/canary-rings.json` in
`combsmith/.github`**, not in this repo. Each sweep (cron `33 */4 * * *`, every 4 hours;
GitHub may delay scheduled runs) runs `autocut` → `promote-all` → `sync-issues`:
Expand Down Expand Up @@ -1667,7 +1667,7 @@ GitHub may delay scheduled runs) runs `autocut` → `promote-all` → `sync-issu
`combsmith/.github` `standards/canary-rings.json`, or disarm `CANARY_AUTO_PROMOTE`, which is
fleet-wide. An issue label such as `dev-lead:hands-off` stops dev-lead from acting on the issue,
but **it does not stop the promotion gate**.
- **Who did what:** releases tagged by `petry-projects-release-manager[bot]` came from the
- **Who did what:** releases tagged by `combsmith-release-manager[bot]` came from the
automation, and releases tagged by a person were cut by hand. The `Canary Rollout` run's job
summary and the promotion Deployments record the gate evidence for every move.

Expand Down
2 changes: 1 addition & 1 deletion docs/release/runbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ move.

> **Current state — most of this is automated.** Routine releases no longer need
> the manual steps below. The Release Manager (the `Canary Rollout` workflow in
> `combsmith/.github`, acting as the `petry-projects-release-manager[bot]`
> `combsmith/.github`, acting as the `combsmith-release-manager[bot]`
> App) auto-cuts `<agent>/vX.Y.Z` and moves `<agent>/v<MAJOR>-next` every 4-hour
> sweep, and promotes through the rings by its health gate when armed. See
> [`AGENTS.md` "Release automation — who cuts and moves tags"](../../AGENTS.md#release-automation--who-cuts-and-moves-tags).
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/pr-automation-budget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
# Space-separated logins of the Dependabot merge pipeline. Their events are
# flagged `mechanical` on a PR authored by dependabot[bot], and nowhere else.
# Set but empty turns the exemption off (hence `=`, not `:=`).
: "${PR_BUDGET_MECHANICAL_LOGINS=dependabot[bot] petry-projects-dependabot-automrg[bot]}"
: "${PR_BUDGET_MECHANICAL_LOGINS=dependabot[bot] combsmith-dependabot-automrg[bot]}"
_PR_BUDGET_DEPENDABOT_AUTHOR="dependabot[bot]"

# Regex (jq `test`) for a body one of our agents wrote. The registered list is
Expand Down
16 changes: 8 additions & 8 deletions tests/test_pr_automation_budget.bats
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ RL_AT() { # RL_AT <head> → a rate-limited withhold marker body at <head>
# ---------------------------------------------------------------------------

DEPENDABOT="dependabot[bot]"
AUTOMRG="petry-projects-dependabot-automrg[bot]"
AUTOMRG="combsmith-dependabot-automrg[bot]"

# The ten events the counter saw on combsmith/broodminder-data#176.
bd176_events() {
Expand Down Expand Up @@ -659,15 +659,15 @@ STUB
bd176_fixture() {
cat > "$FIXD/commits.json" <<'JSON'
[{"commit":{"author":{"date":"2026-10-08T15:33:54Z","name":"dependabot[bot]"}},"author":{"login":"dependabot[bot]"}},
{"commit":{"author":{"date":"2026-10-08T20:57:06Z"}},"author":{"login":"petry-projects-dependabot-automrg[bot]"}},
{"commit":{"author":{"date":"2026-10-08T20:59:58Z"}},"author":{"login":"petry-projects-dependabot-automrg[bot]"}},
{"commit":{"author":{"date":"2026-10-09T04:09:46Z"}},"author":{"login":"petry-projects-dependabot-automrg[bot]"}}]
{"commit":{"author":{"date":"2026-10-08T20:57:06Z"}},"author":{"login":"combsmith-dependabot-automrg[bot]"}},
{"commit":{"author":{"date":"2026-10-08T20:59:58Z"}},"author":{"login":"combsmith-dependabot-automrg[bot]"}},
{"commit":{"author":{"date":"2026-10-09T04:09:46Z"}},"author":{"login":"combsmith-dependabot-automrg[bot]"}}]
JSON
cat > "$FIXD/reviews.json" <<'JSON'
[{"submitted_at":"2026-10-08T15:34:09Z","user":{"login":"petry-projects-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-08T20:57:25Z","user":{"login":"petry-projects-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-08T21:00:58Z","user":{"login":"petry-projects-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-09T04:16:18Z","user":{"login":"petry-projects-dependabot-automrg[bot]"},"body":""}]
[{"submitted_at":"2026-10-08T15:34:09Z","user":{"login":"combsmith-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-08T20:57:25Z","user":{"login":"combsmith-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-08T21:00:58Z","user":{"login":"combsmith-dependabot-automrg[bot]"},"body":""},
{"submitted_at":"2026-10-09T04:16:18Z","user":{"login":"combsmith-dependabot-automrg[bot]"},"body":""}]
JSON
cat > "$FIXD/comments.json" <<'JSON'
[{"created_at":"2026-10-08T15:34:21Z","user":{"login":"coderabbitai[bot]"},"body":"<!-- This is an auto-generated comment: summarize by coderabbit.ai -->"},
Expand Down
Loading