| 148 | |
| 149 | |
| 150 | def _is_resolved(comment: Comment, all_comments: list[Comment]) -> bool: |
| 151 | # Resolution heuristic: any non-CodeRabbit author has replied in-thread. |
| 152 | # CodeRabbit acknowledgement replies that arrive after a human reply |
| 153 | # (e.g. "thanks for the update") must not un-resolve the thread, so we |
| 154 | # cannot use "latest reply is human" — CodeRabbit consistently gets the |
| 155 | # last word a few seconds later. |
| 156 | for c in all_comments: |
| 157 | if c.in_reply_to == comment.id and c.author not in CODERABBIT_LOGINS: |
| 158 | return True |
| 159 | return False |
| 160 | |
| 161 | |
| 162 | def plan(pr: int) -> dict[str, Any]: |