Skip to content

Record PhotoCleaner as the Merge-Bot Pilot and Reorder the Stage Pilots - #752

Merged
ptr727 merged 10 commits into
developfrom
feature/tick-photocleaner-merge-bot
Aug 16, 2026
Merged

Record PhotoCleaner as the Merge-Bot Pilot and Reorder the Stage Pilots#752
ptr727 merged 10 commits into
developfrom
feature/tick-photocleaner-merge-bot

Conversation

@ptr727

@ptr727 ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner

What

  • docs/reusable-workflows.md Rollout: stage 1 names PhotoCleaner as the pilot, adopted on develop in Adopt the Hub-Hosted Merge-Bot Caller Stub PhotoCleaner#53 at a3158ce (audit clean on that branch), ticking on promotion to its ground-truth branch per the tracker's own rule, with two proof items (the first pull_request_target run resolving the pin and merging a Dependabot PR, and Dependabot bumping the pin). HomeAutomation-Config moves to the operational slot. Stages 2 and 4 put PhotoCleaner first as well.
  • TODO.md: the cluster's pilot line and the sweep entry's outstanding count follow.
  • reports/workflow-reuse.md regenerated at this hub state (PhotoCleaner still counts as a copy there because its ground truth is main).

Why

The maintainer chose PhotoCleaner as the first repo to test with: release model, Dependabot, C#, executable and Docker targets, recently converged, so what it shows is the mechanism rather than the repo. The tracker is the record a cold session resumes from, so the choice and its state land in git.

PhotoCleaner adopted the merge-bot caller stub on its develop branch in
ptr727/PhotoCleaner#53, chosen over an operational repo because it is a
release-model repo with Dependabot, C#, executable and Docker targets
and a fresh resync, so what the pilot shows is the mechanism. The
tracker records the state and the two proofs the pilot owes, ticks the
repo on promotion to its ground-truth branch, and moves PhotoCleaner to
the front of the later stages' pilot lists. The reuse report is
regenerated at this hub state.
Copilot AI lite review requested due to automatic review settings August 16, 2026 02:29

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 staged rollout tracker for hub-hosted reusable workflows to record PhotoCleaner as the Merge-Bot adoption pilot and to reorder pilot repositories across later stages, keeping the hub’s tracking docs and generated reuse report aligned with the current migration status.

Changes:

  • Reorders stage pilots to put PhotoCleaner first (Stage 1, and also reflected in Stages 2 and 4).
  • Updates TODO tracking counts/notes to reflect the new pilot and current adoption state.
  • Regenerates the fleet workflow reuse report at the current hub revision.

Reviewed changes

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

File Description
TODO.md Updates rollout tracker notes (pilot repo and outstanding count) for merge-bot adoption.
reports/workflow-reuse.md Regenerated reuse metrics and variant clustering at the current hub commit.
docs/reusable-workflows.md Reorders Stage 1/2/4 pilots, adds PhotoCleaner pilot details and proof checkboxes.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread docs/reusable-workflows.md Outdated
Comment thread TODO.md Outdated
Copilot AI review requested due to automatic review settings August 16, 2026 02:32

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/reusable-workflows.md:122

  • The PhotoCleaner checklist item says its three proofs "are the proof items in stage 0 and below", but stage 0's proofs are the hub's Dependabot runs; PhotoCleaner's proofs are the two "Proof:" items immediately below in Stage 1. This wording is inconsistent with the surrounding tracker structure and could mislead a reader about where to tick evidence.
- [ ] PhotoCleaner (pilot, chosen as a release-model repo with Dependabot, C#, executable and Docker targets and a fresh resync, so what it shows is the mechanism): adopted on `develop` in ptr727/PhotoCleaner#53 at `a3158ce` on 2026-08-15, where `python3 spec/audit.py PhotoCleaner --branch develop` reports no `interface` finding on the file. Ticks when that repo promotes `develop` to `main`, its ground-truth branch, which is also when the report below counts it as a caller. The three live proofs it owes, cross-repository resolution of the pin, a Dependabot PR to `develop` merged with `--squash` through the callee, and Dependabot bumping the pin, are the proof items in stage 0 and below, ticked with their run URLs when they happen.

Copilot AI review requested due to automatic review settings August 16, 2026 02:35
@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on 1fb529c: docs/reusable-workflows.md:122, "PhotoCleaner's proofs are the two Proof: items immediately below in Stage 1". Fixed in 22e46d6: the item points at the two proof items directly below it.

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Copilot AI review requested due to automatic review settings August 16, 2026 02:51

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

TODO.md:535

  • The wording here implies there are only 15 repos “carrying the file”, but reports/workflow-reuse.md still reports 16 copies of merge-bot-pull-request.yml (with 1 of those being a caller). If this line is tracking remaining repos still carrying job bodies (not total copies of the file), please say that explicitly so it stays consistent with the report’s definitions.
  - **Outstanding** - Every repo carrying the file, 15 after PhotoCleaner adopted in ptr727/PhotoCleaner#53 and promoted it in ptr727/PhotoCleaner#54 on 2026-08-15, then HomeAutomation-Config for the operational path and homeassistant-purpleair for the `rules` input.

@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on 63ce16e: TODO.md:535, "If this line is tracking remaining repos still carrying job bodies (not total copies of the file), please say that explicitly". Fixed in 45b61e6: the entry counts repos still carrying the job bodies rather than the stub, 15 of the 16 copies, matching the report's definitions.

Copilot AI review requested due to automatic review settings August 16, 2026 02:53

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/reusable-workflows.md:108

  • This line hard-codes the fleet workflow line-count as 10,964, but the regenerated reports/workflow-reuse.md in this PR reports 10,914 lines. To avoid this tracker text drifting every time the report is regenerated, refer to the report's fleet total instead of embedding a specific number here.
A stage carries three kinds of item, plus a proof item where a claim needs a live run. **Hub** is the hub pull request that ships the task and its stub, and the catalog snippet that follows the release. **Release** is the promotion and release that gives the task a pinnable `main` commit, since a downstream stub pins a released tag and nothing can adopt before one exists. **Adoption** is one checkbox per repo, ticked when that repo's ground-truth branch carries the stub and the audit reports no `interface` finding on the file. **Proof** is a checkbox for a behavior only a live run demonstrates, ticked with the run URL. Stage 0 is the merge-bot's hub and release items plus its two proofs, and stage 1 is its adoption, split so the adoption list is a stage of its own. The exit metric per stage comes from [reports/workflow-reuse.md][workflow-reuse-report]: every downstream copy of the stage's files becomes a caller, so the callers column equals the copies column, and downstream workflow lines fall from 10,964 toward the stubs plus the genuinely repo-specific hooks. Regenerate that report in the pull request that ticks a stage's last adoption, so the number and the tick land together.

@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on 45b61e6: docs/reusable-workflows.md:108, "This line hard-codes the fleet workflow line-count as 10,964, but the regenerated report reports 10,914". Fixed in 29ea1f5: the sentence names 10,964 as the first run's figure and points at the report's live total for the rest, so it does not drift with regeneration.

Copilot AI review requested due to automatic review settings August 16, 2026 02:56

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/reusable-workflows.md:120

  • This prose uses an inline anchor link ([Adopting the Merge-Bot](#adopting-the-merge-bot)). Repo convention requires reference-style links for all Markdown files except AGENTS.md, GOVERNANCE.md, OPERATIONS.md, and .github/copilot-instructions.md; inline links in prose outside a ToC violate that rule.
Adoptable since `2.0.338`. Each repo replaces the whole of its `.github/workflows/merge-bot-pull-request.yml` with the stub in [Adopting the Merge-Bot](#adopting-the-merge-bot), on its own feature branch, and the audit's `missing required job 'merge-bot'` finding on that file is the work list. The pilot goes first and records what the hub cannot prove, cross-repository resolution of the pin, the `rules` input where the repo has a tracker, and the first Dependabot bump of the pin, as proof items here.

@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on 29ea1f5: docs/reusable-workflows.md:120, "This prose uses an inline anchor link ... Repo convention requires reference-style links". Fixed in d0418e3: every in-prose section link in the doc is reference-style, defined under a Sections group at the bottom as README.md does, and only the table of contents keeps inline anchors.

Copilot AI review requested due to automatic review settings August 16, 2026 03:00

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/reusable-workflows.md:259

  • In the link-definition block, the <!-- Repo --> reference definitions are not alphabetized by reference name (e.g. [todo] is after several workflow* entries). The repo's reference-style link rule asks that definitions within each group be alphabetized to keep lookups predictable.
[the-docker-family]: #the-docker-family

<!-- Repo -->

[governance-hub-hosted-tooling]: ../GOVERNANCE.md#hub-hosted-tooling

@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on d0418e3: docs/reusable-workflows.md:259, "the Repo reference definitions are not alphabetized by reference name". Fixed in 982b03d: [todo] sits between [secrets] and [workflow].

Copilot AI review requested due to automatic review settings August 16, 2026 03:04

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

…cleaner-merge-bot

# Conflicts:
#	TODO.md
#	docs/reusable-workflows.md
#	reports/workflow-reuse.md
Copilot AI review requested due to automatic review settings August 16, 2026 13:14

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

Suppressed comments (1)

docs/reusable-workflows.md:158

  • This checklist item uses "0 copies carrying job bodies", but reports/workflow-reuse.md does not distinguish job-bodies vs stub copies; it tracks Copies and Callers. Given the rollout metrics above (every copy should become a caller), make the criterion checkable from the report by expressing it as callers == copies for these workflows.
- [ ] `reports/workflow-reuse.md` regenerated with `validate-task.yml` and `test-pull-request.yml` at 0 copies carrying job bodies.

Copilot AI review requested due to automatic review settings August 16, 2026 13:18
@ptr727

ptr727 commented Aug 16, 2026

Copy link
Copy Markdown
Owner Author

Answering the suppressed finding, "Suppressed comments (1)", from the round on ce07a42: docs/reusable-workflows.md:158, "make the criterion checkable from the report by expressing it as callers == copies". Fixed in 0e786d2: every stage's report criterion reads as callers equal to copies for a stub file, or 0 copies for a hub-only file no repo carries.

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

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@ptr727
ptr727 merged commit 24ee53f into develop Aug 16, 2026
6 checks passed
@ptr727
ptr727 deleted the feature/tick-photocleaner-merge-bot branch August 16, 2026 13:20
ptr727 added a commit that referenced this pull request Aug 16, 2026
Resolves the merge with #752's rollout-tracker edits (PhotoCleaner as the
sole pilot, split adoption checkboxes) and converts this stage's two new
inline anchor links to the reference style the file's #756 sweep already
uses elsewhere.
ptr727 added a commit that referenced this pull request Aug 16, 2026
Resolves the merge with #752's rollout-tracker edits (PhotoCleaner as the
sole pilot, split adoption checkboxes) and converts this stage's two new
inline anchor links to the reference style the file's #756 sweep already
uses elsewhere.
ptr727 added a commit that referenced this pull request Aug 16, 2026
… Default (#768)

Promote `develop` to `main`, carrying the remaining stages of the
hub-hosted reusable-workflow rollout and the changes that landed beside
them:

- #759 Host Get-Version and Publish-Plan as Hub Reusable Tasks
- #760 Host the Validate Task and Reshape the Test Pull Request Stub
(settles #729 by design: the hub's validate task runs `uvx
<tool>@latest`, since Dependabot tracks the action pins and not a uvx
version)
- #761 Host the Type-Specific Tasks and Retire the Date Badge
- #762 Host the Release Chain and the Docker Core in the Hub
- #748 and #752, the staged rollout tracker and the PhotoCleaner
merge-bot pilot record
- #758 Flip the Fleet Line-Ending Default from CRLF to LF
- #753, #755, #756, #764, host-setup and test-collection changes

The release that follows this promotion is the first tag carrying every
hub task, so it is the pin the stage 2 to 5 adoptions and their catalog
snippets use. It is also the first run of the hub's own
`publish-release.yml` through `build-release-task.yml` with every target
disabled, which is the live proof that `github-release` runs when its
build needs are skipped.

Closes #729.
Refs #521 (hub half shipped, the merge-bot adoption sweep is what
remains).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants