Commit 95c9657
committed
Address non-inline PR comments in the watcher loop
Previously the PR lifecycle only fetched inline review comments
(pulls/{n}/comments). General issue-level PR comments and the free-text
body of review submissions were either ignored or stored but never
surfaced to Claude, so whole classes of reviewer feedback went
unanswered.
The pr_comments table now carries a `kind` column (inline | issue |
review_summary) with a composite unique index on (kind,
github_comment_id) since those IDs come from different server-side
tables and can collide. Migration 22 also stamps a
pr_comments_rollout_cutoff timestamp so existing active PRs don't get
retroactively reworked — any source comment older than the cutoff is
inserted as already-addressed.
The service now pulls all three sources in each tick:
- listPrComments → kind=inline (existing behavior)
- listIssueComments → kind=issue (new)
- synthesized per review with non-empty body → kind=review_summary
Bot-authored issue-comment replies carry a hidden `<!-- sustn:task=... -->`
marker so they're filtered out on the next fetch without needing to
resolve the gh user's login (robust against auth swaps).
Each item sent to Claude is tagged [KIND: ...] in addition to the
existing COMMENT_ID tag; the reply JSON requires `kind` echoed back so
we can route inline replies to the pull-comment replies endpoint and
issue / review-summary replies to a new top-level issue comment. The
resolved-threads filter is now scoped to kind=inline to avoid dropping
issue rows whose ID coincidentally equals a resolved inline thread's
root ID.1 parent 729cf73 commit 95c9657
7 files changed
Lines changed: 319 additions & 52 deletions
File tree
- src-tauri/src
- src
- core
- db
- services
- types
- ui/components/tasks
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
855 | 855 | | |
856 | 856 | | |
857 | 857 | | |
858 | | - | |
| 858 | + | |
859 | 859 | | |
860 | 860 | | |
861 | 861 | | |
862 | 862 | | |
863 | | - | |
864 | | - | |
| 863 | + | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
865 | 870 | | |
866 | 871 | | |
867 | 872 | | |
868 | 873 | | |
869 | 874 | | |
870 | | - | |
| 875 | + | |
871 | 876 | | |
872 | | - | |
| 877 | + | |
873 | 878 | | |
874 | 879 | | |
875 | 880 | | |
876 | | - | |
| 881 | + | |
877 | 882 | | |
878 | | - | |
| 883 | + | |
879 | 884 | | |
880 | 885 | | |
881 | 886 | | |
882 | 887 | | |
883 | 888 | | |
884 | 889 | | |
885 | | - | |
| 890 | + | |
| 891 | + | |
886 | 892 | | |
887 | 893 | | |
888 | 894 | | |
889 | 895 | | |
890 | 896 | | |
891 | 897 | | |
892 | 898 | | |
893 | | - | |
| 899 | + | |
894 | 900 | | |
895 | 901 | | |
896 | 902 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
411 | 411 | | |
412 | 412 | | |
413 | 413 | | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
414 | 431 | | |
415 | 432 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
| 117 | + | |
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
| |||
133 | 134 | | |
134 | 135 | | |
135 | 136 | | |
| 137 | + | |
136 | 138 | | |
137 | 139 | | |
138 | 140 | | |
| |||
153 | 155 | | |
154 | 156 | | |
155 | 157 | | |
| 158 | + | |
156 | 159 | | |
157 | 160 | | |
158 | 161 | | |
159 | 162 | | |
160 | 163 | | |
161 | 164 | | |
162 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
163 | 172 | | |
164 | 173 | | |
165 | 174 | | |
166 | 175 | | |
167 | | - | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
168 | 179 | | |
169 | | - | |
170 | | - | |
| 180 | + | |
| 181 | + | |
171 | 182 | | |
172 | 183 | | |
173 | 184 | | |
174 | | - | |
175 | 185 | | |
176 | 186 | | |
177 | | - | |
178 | | - | |
| 187 | + | |
| 188 | + | |
179 | 189 | | |
180 | 190 | | |
181 | 191 | | |
182 | | - | |
183 | | - | |
| 192 | + | |
| 193 | + | |
184 | 194 | | |
185 | 195 | | |
186 | 196 | | |
187 | 197 | | |
188 | 198 | | |
189 | 199 | | |
190 | | - | |
191 | | - | |
| 200 | + | |
| 201 | + | |
192 | 202 | | |
193 | 203 | | |
194 | 204 | | |
195 | 205 | | |
| 206 | + | |
196 | 207 | | |
197 | 208 | | |
198 | 209 | | |
199 | 210 | | |
200 | 211 | | |
201 | 212 | | |
202 | 213 | | |
| 214 | + | |
| 215 | + | |
203 | 216 | | |
204 | 217 | | |
205 | 218 | | |
| |||
245 | 258 | | |
246 | 259 | | |
247 | 260 | | |
| 261 | + | |
248 | 262 | | |
249 | 263 | | |
250 | 264 | | |
251 | 265 | | |
252 | 266 | | |
253 | | - | |
254 | | - | |
| 267 | + | |
| 268 | + | |
255 | 269 | | |
256 | 270 | | |
257 | 271 | | |
258 | 272 | | |
| 273 | + | |
259 | 274 | | |
260 | 275 | | |
261 | 276 | | |
262 | 277 | | |
263 | 278 | | |
264 | | - | |
265 | | - | |
| 279 | + | |
| 280 | + | |
266 | 281 | | |
267 | 282 | | |
268 | 283 | | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
269 | 299 | | |
270 | 300 | | |
271 | 301 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
34 | 43 | | |
35 | 44 | | |
| |||
185 | 194 | | |
186 | 195 | | |
187 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
188 | 248 | | |
189 | 249 | | |
190 | 250 | | |
| |||
0 commit comments