Conversation
|
🤖 Finished Review · ✅ Success · Started 11:25 AM UTC · Completed 11:38 AM UTC |
PR Summary by QodoAdd Phase 2 cron poller to dispatch GitLab events into child pipelines
AI Description
Diagram
High-Level Assessment
Files changed (16)
|
Code Review by Qodo
1.
|
ReviewVerdict: Comment — two medium-severity API contract findings worth addressing; none blocking. This is a re-review (prior SHA:
The implementation is well-structured: watermark-based polling with at-least-once delivery, label state diffing, deny-by-default fork detection, and fail-closed authorization ( FindingsMedium
Low
Reviewed dimensions: correctness (opus), security (opus), intent & coherence, style & conventions, docs currency. Findings adjudicated by challenger pass. Prior review provenance: app-verified. Labels: PR adds GitLab polling infrastructure under Previous runReviewVerdict: Approve — all prior findings resolved; remaining findings are low severity. This is a re-review (prior SHA:
The implementation is well-structured: watermark-based polling with at-least-once delivery, label state diffing, deny-by-default fork detection via FindingsLow
Reviewed dimensions: correctness (opus), security (opus), intent & coherence, style & conventions, docs currency. Findings adjudicated by challenger pass. Prior review provenance: app-verified. Labels: PR adds GitLab polling infrastructure under Previous runReviewVerdict: Approve — all prior findings resolved; remaining findings are low severity. This is a re-review (prior SHA:
The implementation is well-structured: watermark-based polling with at-least-once delivery, label state diffing, deny-by-default fork detection via FindingsLow
Reviewed dimensions: correctness (opus), security (opus), intent & coherence, style & conventions, docs currency. Findings adjudicated by challenger pass. Prior review provenance: app-verified. Labels: PR adds GitLab polling infrastructure under Previous run (2)ReviewVerdict: Comment — medium-severity findings worth noting; none blocking. This PR implements the Phase 2 cron poller for GitLab event dispatch per ADR 0067. The design is sound: watermark-based polling with at-least-once delivery, label state diffing, deny-by-default fork detection, and fail-closed authorization. The test suite is thorough (83 tests, 91.8% coverage). Three medium-severity findings are worth addressing. FindingsMedium
Low
Reviewed dimensions: correctness (opus), security (opus), intent & coherence, style & conventions, docs currency. Findings adjudicated by challenger pass. Labels: PR adds GitLab polling infrastructure under internal/poll/ and dispatch event types under internal/dispatch/ |
|
🤖 Review · ❌ Terminated · Started 3:43 PM UTC · Ended 3:58 PM UTC |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ✅ Success · Started 3:43 PM UTC · Completed 3:58 PM UTC |
|
🤖 Finished Review · ✅ Success · Started 7:51 PM UTC · Completed 8:05 PM UTC |
Implements the cron-based poller (ADR 0067 Phase 2) that discovers GitLab events via API polling, converts them to NormalizedEvents, routes through the dispatch core, and triggers child pipelines. New packages and files: - internal/dispatch/event.go: NormalizedEvent type and EventRouter interface - internal/poll/: complete poller with event discovery, bot filtering, deduplication, label state diffing, watermark management, and child pipeline YAML generation - internal/cli/poll.go: `fullsend poll` CLI command Test coverage: 89.8% on internal/poll/. Signed-off-by: Greg Allen <gallen@fullsend.ai> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Greg Allen <gallen@redhat.com>
Summary
internal/poll/package with event discovery, bot filtering, deduplication, label state diffing, watermark management, and child pipeline YAML generationinternal/dispatch/event.gowith NormalizedEvent type and EventRouter interfacefullsend pollCLI command (internal/cli/poll.go)Test plan
go test ./internal/poll/ -count=1)internal/poll/(target >85%)go build ./...cleango vetclean🤖 Generated with Claude Code