Skip to content

PE-8082 githubbot: immediate working reaction on owned-PR management turns - #17

Open
oponder wants to merge 2 commits into
mainfrom
feat/pe-8082-management-turn-ack
Open

PE-8082 githubbot: immediate working reaction on owned-PR management turns#17
oponder wants to merge 2 commits into
mainfrom
feat/pe-8082-management-turn-ack

Conversation

@oponder

@oponder oponder commented Aug 6, 2026

Copy link
Copy Markdown

Summary

PE-8082: when gerard is asked for a review it reacts immediately, but when it responds to review feedback on a PR it owns there is no activity until it pushes or replies.

Review-request (review.ts), issue-work (issue-manager.ts), and @-mention (index.ts) turns all ack instantly; owned-PR management turns (pr-manager.ts: address-review, CI-fix, conflict resolution) were the one silent path. This adds a 👀 → 🚀/😕 reaction lifecycle to review-triggered management turns, placed on the reviewer's own review so it's visible where they look for it. The REST reactions API has no endpoint for reviews, so the ack goes through the GraphQL addReaction mutation with the review's webhook node_id. The ack is fired without awaiting so it lands before the sandbox turn starts, and a failed reaction never blocks the turn.

Turns with no triggering review (CI-fix, conflicts) don't react — a reaction on the PR's top post isn't clearly tied to anything (tried in the first iteration of this PR, went unnoticed in live testing).

Testing

  • pnpm --filter githubbot test — 80 pass (3 new: eyes+settle on the review node for changes-requested; no reaction on approved/merge; graceful no-op without a node_id).
  • pnpm --filter githubbot run check:types — clean.
  • Live-tested on the box via deploy-centaur -f ref=<branch>: 👀 landed 2s after a changes-requested review on splits-teams#1799, 🚀 on completion (first iteration; GraphQL variant pending redeploy).

Deploy notes

  • Chart untouched; only the centaur-githubbot image changes — rebuild via gh workflow run deploy-centaur -f services="githubbot" after merge.
  • Fork main is currently tree-identical to upstream paradigmxyz/centaur; merging this diverges it. Recommend upstreaming this patch so a future fork sync doesn't drop it.

🤖 Generated with Claude Code

oponder and others added 2 commits August 6, 2026 21:52
…n (PE-8082)

Review-request and issue-work turns already ack instantly (eyes on the
subject, settled to rocket/confused when the turn finishes), but owned-PR
management turns — address-review, CI-fix, conflict resolution — gave no
signal until the agent pushed or replied. A reviewer leaving feedback on a
bot-owned PR saw silence while the turn ran.

Fire the same subject-reaction lifecycle from fireManagementTurn, the choke
point all management turns flow through: eyes before the turn starts (not
awaited, so the ack can't delay the turn), settled in the background chain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Live testing showed the PR-top-post ack goes unnoticed — reviewers look at
their own review, and a reaction on the PR description isn't clearly tied to
anything. The REST reactions API has no endpoint for reviews, so the ack now
goes through the GraphQL addReaction mutation with the review's node id:
eyes lands on the reviewer's review, settled to rocket/confused there.

Turns with no triggering review (CI-fix, conflict resolution) no longer
react at all.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@oponder
oponder marked this pull request as ready for review August 12, 2026 13:29
@oponder
oponder requested a review from 0xdiid August 12, 2026 13:30
@oponder

oponder commented Aug 12, 2026

Copy link
Copy Markdown
Author

@0xdiid

0xdiid commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

aww I forgot he doesn't watch this because it's open source, I wanted a spider man meme review

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