fix: exclude skipped reviewer workers from notifications#109
Conversation
Self-reviewI reviewed this change for the reported reviewer notification inconsistency. Findings:
Verification:
Risk: low. This narrows notification metadata and target PR handling; it does not broaden reviewer selection. |
DiffGuard AI AnalysisAI Review Summary🏆 Overall Score: 88/100 This PR adds proper handling for edge cases where PRs merge between being listed and worker execution, ensuring notification metadata accurately reflects only successfully reviewed PRs. The implementation is solid with comprehensive test coverage. ✅ Key Strengths
|
| Issue Type | Issue Name | Affected Components | Description | Impact/Severity |
|---|---|---|---|---|
| Maintainability | Potentially Unused Variable | night-watch-pr-reviewer-cron.sh |
PRS_NEEDING_WORK_CSV is replaced by ACTUAL_REVIEWED_PRS in emit_final_status call but may still be computed in loop logic. |
Low |
🔚 Conclusion
Strong implementation with good test coverage for a subtle race condition. The change correctly ensures only successfully reviewed PRs appear in notification metadata. Consider a follow-up cleanup pass for PRS_NEEDING_WORK_CSV if it's no longer needed. Ready to merge with minor optional improvements.
Analyzed using z-ai/glm-5
4613cb7 to
0b05090
Compare
DiffGuard AI AnalysisAI Review Summary🏆 Overall Score: 85/100 This PR adds logic to exclude already-merged PRs from the reviewer's final notification metadata, with a new ✅ Key Strengths
|
| Issue Type | Issue Name | Affected Components | Description | Impact/Severity |
|---|---|---|---|---|
| Maintainability | Complex Inline Mock Scripts | core-flow-smoke.test.ts (new tests) |
The fake gh script in the first test is complex and modifies behavior based on argument patterns, making it hard to debug if tests fail. |
Low |
| Testing | Partial Mock Coverage | core-flow-smoke.test.ts (second test) |
The second test's mock only handles pr view --json state, returning exit 1 for all other gh commands, which could mask failures if the script makes unexpected calls. |
Low |
🔚 Conclusion
This is a solid implementation with good test coverage for the edge case of merged PRs. The main consideration is confirming the emit_final_status parameter semantics, but the passing tests suggest this is intentional. Ready to merge after verifying the parameter change is correct.
Analyzed using z-ai/glm-5
Summary
Verification