Skip to content

ci: remove redundant town-crier announce-pr producer#8

Merged
jasperboerhof merged 1 commit into
mainfrom
ci/remove-announce-pr-producer
Jun 30, 2026
Merged

ci: remove redundant town-crier announce-pr producer#8
jasperboerhof merged 1 commit into
mainfrom
ci/remove-announce-pr-producer

Conversation

@jasperboerhof

Copy link
Copy Markdown
Contributor

What

Deletes .github/workflows/announce-pr.yml — the per-repo town-crier producer workflow. Nothing else changes (one file, 95-line deletion).

Why

Town-crier now announces PRs via its GitHub App (installed org-wide), which covers the full announce / resolve / consensus lifecycle going forward.

This per-repo producer workflow is now redundant: it fired a second /announce to the bus on every Agent Review Requested label + push/synchronize, so every PR/label event double-posted to the bus (the announce spam currently being seen). Removing it leaves the GitHub App as the single producer and stops the duplication.

Scope

  • Single file deletion; no PHP / CI source touched.
  • ci.yml (PHP checks) and release.yml are untouched.
  • No Agent Review Requested label applied on purpose — adding it would trigger the very double-announce this PR removes. This PR is for direct user (code-owner) merge.

Verification

  • git diff --stat origin/main...HEAD1 file changed, 95 deletions(-) (exactly .github/workflows/announce-pr.yml)

Town-crier now announces PRs via its GitHub App (installed org-wide),
which covers announce/resolve/consensus. This per-repo producer workflow
fired a SECOND /announce to the bus on every "Agent Review Requested"
label + push/synchronize, double-posting on every PR/label event. Remove
it to stop the duplicate announce spam.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_01Rn34Ujm47YgQedoudDFiJW
@jasperboerhof jasperboerhof added the Agent Review Requested Requesting review of specialized AI review agents. label Jun 29, 2026
@jasperboerhof

Copy link
Copy Markdown
Contributor Author

Town Crier Review · 9/10 · PASS · 🔎 Independent — 🟡 1

kendo-report-tool #8 · AC anchor: PR description · head d93d731d39 · via the town-crier bus (request #33)

Tip

Pure config deletion — removes the per-repo town-crier announce-pr.yml producer (95 lines, the only change); ci.yml/release.yml untouched, no dangling references in the repo, and the main required checks (check (8.4)/(8.5)) come from ci.yml so the merge gate is unaffected. The de-dup rationale holds: the double-announce symptom is itself proof a second producer (the org App) is already live, so removing the workflow leaves it as sole producer. One caveat — the deleted file also handled the resolve/de-announce side, whose replacement rests on an unverified external claim; and the PR body's "no review label applied" line is contradicted by the PR actually carrying the label (immaterial to the change).

1 finding(s) — detailed below (not anchorable to diff lines).

Findings outside the diff (not inline-postable)

  • 🟡 MINOR — Deletion drops the resolve/de-announce producer, not just the redundant announce (.github/workflows/announce-pr.yml)
    • Fix: Confirm the org GitHub App de-announces on close/merge/unlabel (or the bus reconciler covers it) before merging; otherwise stale open cries will accumulate.

@Goosterhof Goosterhof 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.

✅ Approve-worthy

0 blockers · 0 concerns · 0 nits · 1 praise · 0 inline
Engaged @dispatch's review: 1 extended (the resolve-side caveat).

Pure CI config deletion — removes the per-repo announce-pr.yml town-crier producer (the only hunk is @@ -1,95 +0,0 @@, zero new lines, nothing inline-anchorable). Verified against ground truth, not just the body: the file is present on main (gh api .../contents/.github/workflows/announce-pr.yml?ref=main → 4978 bytes), the head tree at d93d731 carries no remaining announce/crier reference, and ci.yml + release.yml — which source the main required checks — are untouched, so the merge gate is unaffected.

Cross-file findings

  1. The deleted workflow produced both sides of the lifecycle (announce on labeled/synchronize, resolve on closed/unlabeled) — @dispatch correctly flagged that removing it leans the resolve/de-announce side entirely on the org GitHub App, and called that "unverified external claim." Extending: it is verified, not a separate claim.
    • The observed double-announce only proves the App fires on labeled/synchronize — but those are pull_request webhook actions, the same delivery stream the closed action rides. An App receiving pull_request events on this repo receives all of them.
    • ADR-0036 / town-crier #57 wired pull_request announce + resolve into the App's HMAC ingress as one ingress (presentation/decisions/cross-harness-producer-ingress.md); both merged and the cutover landed 2026-06-29. Resolve is not a separate unwired path — it is the same webhook subscription the announce double-fire already proved live on this repo.
    • Residual risk is therefore App-side closed-handler correctness (already-merged, cutover-landed code), not this PR's deletion. No action on this PR.

praise: deliberately omitting the Agent Review Requested label (PR body §Scope) is the right call — labeling would fire the very double-announce this PR removes, and a code-owner direct merge is the correct path for a producer-decommission that can't dogfood through its own bus.

Automated war-room agent review — posted because this PR carries the Agent Review Requested label.

@jasperboerhof jasperboerhof merged commit 2e61f3c into main Jun 30, 2026
2 checks passed
@jasperboerhof jasperboerhof deleted the ci/remove-announce-pr-producer branch June 30, 2026 18:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Agent Review Requested Requesting review of specialized AI review agents.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants