Repository navigation
chore(#613): remove relocated canary-rollout engine + bootstrap (now in .github) - #1128
Conversation
…in .github) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reached
Next review available in: 55 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the 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 reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. 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, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (14)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
There was a problem hiding this comment.
Code Review
This pull request cleans up the repository by deleting several scripts, tests, ADRs, and configuration files (including bootstrap-new-repo.sh, canary-rollout.sh, and canary-rings.json) that have been relocated to the central petry-projects/.github repository. It also updates docs/release/versioning.md to reflect these relocations. The review feedback recommends enhancing the updated documentation in docs/release/versioning.md by turning references to the relocated canary-rings.json and the petry-projects/.github repository into markdown hyperlinks for better navigation.
| machine-readable source of truth is `standards/canary-rings.json`, now hosted in | ||
| `petry-projects/.github` and consumed by the promotion automation (#501, relocated there under #613). |
There was a problem hiding this comment.
Since standards/canary-rings.json has been relocated to the petry-projects/.github repository, it would be highly beneficial to turn these references into hyperlinks. This maintains consistency with the rest of the document, which heavily utilizes markdown links for external and internal references, and makes it much easier for readers to navigate directly to the relocated files.
| machine-readable source of truth is `standards/canary-rings.json`, now hosted in | |
| `petry-projects/.github` and consumed by the promotion automation (#501, relocated there under #613). | |
| machine-readable source of truth is [`standards/canary-rings.json`](https://github.com/petry-projects/.github/blob/main/standards/canary-rings.json), now hosted in | |
| [`petry-projects/.github`](https://github.com/petry-projects/.github) and consumed by the promotion automation (#501, relocated there under #613). |
| > **Now registered in `standards/canary-rings.json`.** The promotion automation (`canary-rollout.sh`, | ||
| > #501) — relocated to `petry-projects/.github` under #613 — moves channel tags **cross-repo** via `gh api` | ||
| > ref updates on each agent's host repo (#1054), so the six reusables above are registered under the full | ||
| > `{next, ring0, ring1, stable}` model (#870). `feature-ideation` remains **absent** for now: its host + ring | ||
| > assignment aren't settled. (Manual/scripted cuts via `cut-release.sh` work today.) |
There was a problem hiding this comment.
Similarly, adding hyperlinks to the relocated standards/canary-rings.json and the petry-projects/.github repository here improves readability and navigation, matching the document's established style of linking referenced resources.
| > **Now registered in `standards/canary-rings.json`.** The promotion automation (`canary-rollout.sh`, | |
| > #501) — relocated to `petry-projects/.github` under #613 — moves channel tags **cross-repo** via `gh api` | |
| > ref updates on each agent's host repo (#1054), so the six reusables above are registered under the full | |
| > `{next, ring0, ring1, stable}` model (#870). `feature-ideation` remains **absent** for now: its host + ring | |
| > assignment aren't settled. (Manual/scripted cuts via `cut-release.sh` work today.) | |
| > **Now registered in [`standards/canary-rings.json`](https://github.com/petry-projects/.github/blob/main/standards/canary-rings.json).** The promotion automation (`canary-rollout.sh`, | |
| > #501) — relocated to [`petry-projects/.github`](https://github.com/petry-projects/.github) under #613 — moves channel tags **cross-repo** via `gh api` | |
| > ref updates on each agent's host repo (#1054), so the six reusables above are registered under the full | |
| > `{next, ring0, ring1, stable}` model (#870). `feature-ideation` remains **absent** for now: its host + ring | |
| > assignment aren't settled. (Manual/scripted cuts via `cut-release.sh` work today.) |
There was a problem hiding this comment.
Pull request overview
Removes the canary-rollout engine and repo-bootstrap/apply tooling from .github-private after they were relocated to petry-projects/.github, so this repo no longer carries duplicate implementations and the old scheduled workflow stops running here.
Changes:
- Delete canary-rollout scripts, registry data (
canary-rings.json), and the scheduledCanary Rolloutworkflow from this repo. - Delete bootstrap/apply scripts and their Bats test suites that were relocated to
petry-projects/.github. - Update
docs/release/versioning.mdto point readers at the new canonical location and reflect the cross-repo promotion path.
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/canary-rollout.yml |
Removed scheduled canary-rollout workflow from this repo. |
docs/bootstrap/new-repo-validation.md |
Removed bootstrap validation doc that moved to .github. |
docs/initiatives/canary-rollout-adr.md |
Removed ADR document that moved to .github. |
docs/release/versioning.md |
Updated documentation to reflect new location/behavior of the canary-rollout source of truth and automation. |
scripts/apply-repo-settings.sh |
Removed relocated repo-settings applier script. |
scripts/apply-rulesets.sh |
Removed relocated rulesets applier script. |
scripts/bootstrap-new-repo.sh |
Removed relocated bootstrap orchestrator script. |
scripts/canary-rollout.sh |
Removed relocated canary-rollout orchestrator. |
scripts/lib/canary-rollout.sh |
Removed relocated pure decision-core library. |
standards/canary-rings.json |
Removed relocated ring source-of-truth data file. |
tests/canary_rollout.bats |
Removed relocated canary-rollout unit tests. |
tests/test_apply_repo_settings.bats |
Removed relocated repo-settings test suite. |
tests/test_apply_rulesets.bats |
Removed relocated rulesets test suite. |
tests/test_bootstrap_new_repo.bats |
Removed relocated bootstrap test suite. |
| fixes is never the unvalidated candidate (the circular-dependency fix #500 targets). The intended | ||
| machine-readable source of truth is `standards/canary-rings.json`, consumed by the promotion | ||
| automation (#501). | ||
| machine-readable source of truth is `standards/canary-rings.json`, now hosted in | ||
| `petry-projects/.github` and consumed by the promotion automation (#501, relocated there under #613). |
| > **Now registered in `standards/canary-rings.json`.** The promotion automation (`canary-rollout.sh`, | ||
| > #501) — relocated to `petry-projects/.github` under #613 — moves channel tags **cross-repo** via `gh api` | ||
| > ref updates on each agent's host repo (#1054), so the six reusables above are registered under the full |
Dev-Lead — waiting on PR blockers (intent: review-changes)PR: #1128 |
|
Note @don-petry I reviewed this PR and no code changes were needed, but it still has blocking checks or reviews (failing or cancelled checks, or changes-requested reviews), so I cannot mark it done yet. I'll re-check automatically. |
PR-C2 of the epic #613 cutover. Re-enables the 4-hourly `schedule:` on the relocated canary-rollout workflow (shipped disabled in #624), making .github the live host for autocut → promote-all → sync-issues. MUST land AFTER combsmith/.github-private#1128 (which deletes the engine + workflow there, stopping that repo's schedule). Both CANARY_AUTO_CUT and CANARY_AUTO_PROMOTE are 'true', so the two schedules must never overlap — this is sequenced strictly after the .github-private removal merges. Live-validated already: workflow_dispatch evaluate run 28990172900 in .github minted the release-manager App token, resolved cross-repo dev-lead channel tags on .github-private, and computed the #548 gate — confirming the engine runs correctly from its new home. Refs #613 Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…in .github) (#1128) PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to petry-projects/.github (PR .github#624, merged) and live-validated there. Remove the now-duplicate copies from this repo so .github is the single home. Deleted (relocated to .github): - scripts/canary-rollout.sh, scripts/lib/canary-rollout.sh, tests/canary_rollout.bats - scripts/bootstrap-new-repo.sh, tests/test_bootstrap_new_repo.bats - scripts/apply-rulesets.sh (+ tests/test_apply_rulesets.bats) - scripts/apply-repo-settings.sh (+ tests/test_apply_repo_settings.bats) - standards/canary-rings.json - .github/workflows/canary-rollout.yml ← stops this repo's 4h schedule - docs/bootstrap/new-repo-validation.md, docs/initiatives/canary-rollout-adr.md KEPT (deliberately — NOT true duplicates): - scripts/lib/push-protection.sh — sourced locally by scripts/aw-standards-sync.sh (this repo's minimal PP_REQUIRED_SA_SETTINGS lib; .github's same-named file is a larger superset for its own apply/audit). De-duping it would require refactoring aw-standards-sync.sh's sourcing — out of scope for the cutover. - docs/release/versioning.md — a broad release doc for THIS repo (referenced by cut-release.sh, runbook.md, AGENTS.md, feature-ideation). Its moved-file references (canary-rollout.sh, canary-rings.json) are repointed to petry-projects/.github and the stale "not yet cross-repo" blockquote refreshed to current behaviour. Sequencing: this lands FIRST (stops this repo's schedule). .github#624's workflow — currently shipped disabled — has its schedule re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut/promote-all) schedule simultaneously. Refs #613 Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>



What
PR-C1 of the epic #613 cutover. The canary-rollout engine + repo-bootstrap tooling were relocated to
petry-projects/.github(.github#624, merged + live-validated). This removes the now-duplicate copies here so.githubis the single home.Deleted (relocated to
.github)scripts/canary-rollout.sh,scripts/lib/canary-rollout.sh,tests/canary_rollout.batsscripts/bootstrap-new-repo.sh,tests/test_bootstrap_new_repo.batsscripts/apply-rulesets.sh(+tests/test_apply_rulesets.bats)scripts/apply-repo-settings.sh(+tests/test_apply_repo_settings.bats)standards/canary-rings.json.github/workflows/canary-rollout.yml← stops this repo's 4h scheduledocs/bootstrap/new-repo-validation.md,docs/initiatives/canary-rollout-adr.mdKept deliberately (NOT true duplicates)
scripts/lib/push-protection.sh— sourced locally byscripts/aw-standards-sync.sh. This repo's file is the minimalPP_REQUIRED_SA_SETTINGSlib;.github's same-named file is a larger apply/audit superset. De-duping needs anaw-standards-sync.shrefactor — out of scope for the cutover.docs/release/versioning.md— a broad release doc for this repo (referenced bycut-release.sh,runbook.md,AGENTS.md, feature-ideation). Its moved-file references are repointed topetry-projects/.githuband the stale "not yet cross-repo" blockquote refreshed.Sequencing (hard order)
This lands first → stops this repo's schedule. The relocated workflow in
.githubcurrently ships disabled; itsschedule:is re-enabled in the companion PR-C2 only after this merges, so the two engines never run the mutating (autocut / promote-all) schedule at the same time. BothCANARY_AUTO_CUTandCANARY_AUTO_PROMOTEaretrue, so overlap would race on tag mutations — hence the strict order.Refs #613
🤖 Generated with Claude Code