feat: Slack now respond to threads - #704
Merged
Merged
Conversation
Davidferl
approved these changes
Aug 3, 2026
Greptile SummaryThe PR adds persistent per-PR notification state so Slack updates can reply to the original PR announcement across separate processes.
Confidence Score: 4/5The PR should not merge until PR-body state updates preserve concurrent edits and the breaking public GitSource changes are versioned or made backward compatible. Notification persistence can silently replace a newer PR body, and the patch release breaks existing implementations of the package’s documented GitSource extension interface. Files Needing Attention: overwatch/src/control-loop.ts, overwatch/src/github.ts
|
| Filename | Overview |
|---|---|
| overwatch/src/control-loop.ts | Adds notification-state loading and persistence, but its unconditional full-body update can overwrite concurrent PR-body changes. |
| overwatch/src/github.ts | Adds PR body access and updates while introducing breaking required changes to the public GitSource interface. |
| overwatch/src/notify-state.ts | Implements best-effort marker serialization and parsing while preserving claim markers in normal single-writer operation. |
| overwatch/src/notifications/slack.ts | Threads follow-up messages using channel-scoped persisted root timestamps. |
| overwatch/src/notifications/notification.ts | Extends notification delivery with opaque per-destination state while retaining existing failure isolation. |
| overwatch/src/actuators/agent-pr.ts | Propagates the newly opened PR number alongside its URL so notification state can be persisted. |
Sequence Diagram
sequenceDiagram
participant Run as Scheduled run
participant GitHub
participant Slack
participant Hook as Comment webhook
Run->>GitHub: Open PR
Run->>Slack: Post PR announcement
Slack-->>Run: Root message ts
Run->>GitHub: Store ts in PR body
Hook->>GitHub: Read PR and notify-state
Hook->>Slack: Post update with thread_ts
Hook->>GitHub: Persist updated state
Reviews (1): Last reviewed commit: "feat: Slack now respond to threads" | Re-trigger Greptile
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.