You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: log metadata overwrites in batched workflows and deduplicate copier PRs
#3: workflow_processor now logs when a subsequent workflow in the same
batch overwrites the commit message or PR title, showing both old and
new values so the "last wins" behavior is transparent.
#5: addFilesViaPR now checks for an existing open PR from a copier/*
branch before creating a new one. If found, pushes to the existing
branch and updates the PR title/body instead of creating a duplicate.
Co-authored-by: Cursor <cursoragent@cursor.com>
Copy file name to clipboardExpand all lines: docs/RECOMMENDATIONS.md
+8-10Lines changed: 8 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,15 +27,13 @@ When two instances process the same webhook (e.g., local + Cloud Run), the secon
27
27
28
28
**Files:**`services/github_write_to_target.go`
29
29
30
-
### 3. PR title/body "last wins" is opaque
30
+
### 3. ~~PR title/body "last wins" is opaque~~ (RESOLVED)
31
31
32
-
**Priority:** Low
33
-
34
-
When multiple workflows batch into one PR, the commit message, PR title, and body come from whichever workflow ran last. There's no logging indicating which workflow's metadata was used.
32
+
**Priority:** Low — **Status: Fixed**
35
33
36
-
**Fix:** Log which workflow's strategy was selected during the write phase.
34
+
~~When multiple workflows batch into one PR, the commit message, PR title, and body come from whichever workflow ran last. There's no logging indicating which workflow's metadata was used.~~
37
35
38
-
**Files:**`services/github_write_to_target.go`
36
+
**Resolution:**`workflow_processor.go` now logs when a subsequent workflow overwrites a batched commit message or PR title, including the previous and new values and the workflow name responsible.
39
37
40
38
## Reliability
41
39
@@ -47,13 +45,13 @@ The in-memory `DeliveryTracker` prevents duplicate processing within a single in
47
45
48
46
**Files:**`services/delivery_tracker.go`
49
47
50
-
### 5. PR deduplication in target repos
48
+
### 5. ~~PR deduplication in target repos~~ (RESOLVED)
51
49
52
-
**Priority:** Low
50
+
**Priority:** Low — **Status: Fixed**
53
51
54
-
If the app processes two source PRs in quick succession, it can create duplicate open PRs in the target repo. Before creating a new PR, check for an existing open PR from a `copier/*` branch and update it instead.
52
+
~~If the app processes two source PRs in quick succession, it can create duplicate open PRs in the target repo.~~
55
53
56
-
**Files:**`services/github_write_to_target.go`
54
+
**Resolution:**`addFilesViaPR` now calls `findExistingCopierPR` before creating a new branch. If an open PR from a `copier/*` branch targeting the same base branch exists, the app pushes new commits to that branch and updates the PR title/body instead of creating a duplicate.
0 commit comments