feat(#5959): consolidate GitLab poll into single auto-promoting schedule - #6074
Conversation
|
🤖 Finished Review · ✅ Success · Started 9:39 PM UTC · Completed 9:51 PM UTC Commit: |
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
ReviewFindingsLow
Previous runReviewFindingsMedium
Low
Labels: PR modifies GitLab poll dispatch scheduling and install-time schedule setup in Go. Previous run (2)ReviewFindingsMedium
Low
|
c4f9cce to
2706641
Compare
|
🤖 Review · ❌ Terminated · Started 9:59 PM UTC · Ended 10:17 PM UTC Commit: |
Site previewPreview: https://a48ea2f4-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 9:59 PM UTC · Completed 10:17 PM UTC Commit: |
Replace the dual fast/full poll schedules with a single schedule that
runs every 5 minutes and auto-promotes to a full poll when 15+ minutes
have elapsed since the last full poll.
Changes:
- setupGitLabPipelineSchedules now creates one schedule ("fullsend poll"
at */5) for all tiers, removing the enterprise/free distinction and
the FULLSEND_POLL_MODE variable.
- Poller.Run auto-selects poll mode at the start of each cycle by
reading FULLSEND_LAST_POLL_AT_FULL: if the watermark is absent or
15+ minutes old, a full poll runs; otherwise a fast (slash-commands-
only) poll runs.
- Options.SlashCommandsOnly removed; replaced by runtime auto-promotion
logic in shouldFullPoll. Options.FullPollInterval added for
configurability (defaults to 15 min).
- CLI --poll-mode flag and FULLSEND_POLL_MODE env var removed.
Closes #5959
Signed-off-by: Claude <noreply@anthropic.com>
Signed-off-by: Greg Allen <gallen@redhat.com>
2706641 to
353a8ac
Compare
|
🤖 Finished Review · ✅ Success · Started 10:21 PM UTC · Completed 10:37 PM UTC Commit: |
|
🤖 Finished Retro · ✅ Success · Started 11:43 PM UTC · Completed 11:57 PM UTC Commit: |
Retro: PR #6074 — Consolidate GitLab poll into single auto-promoting scheduleVerdict: Well-functioning workflow with minimal rework. No new proposals warranted — all improvement opportunities are covered by existing issues. Timeline
Total: 6 agent runs (1 triage, 1 code, 3 reviews, 1 retro). Agents repo: Review quality assessmentPositive signals:
One false positive: The struct-field-alignment finding on Rework rateTwo force-pushes to address genuine review findings — reasonable for a 12-file architectural change. The first push addressed the inline comment cosmetic; the second added Free tier documentation in the ADR. Both were substantive changes, not rebase-only pushes, so existing re-review dedup proposals (#4401, #1390) would not have applied. Token costThree review runs totaled ~48 minutes of compute. Each was substantively needed (different commit SHAs with different code). No redundant work identified. Status reporting anomalyReview 2 (run 31436299308) was initially reported as "Terminated" at 21:59 UTC, then updated to "Success" at 22:17 UTC. This is additional evidence for existing issue #2572 (review status comment shows Terminated then posts a second Success comment for the same run). Autonomy readinessThe review agent's performance on this PR supports its growing track record on Go infrastructure changes. It caught the most significant issue (Free tier impact) that the code agent missed, and correctly approved after resolution. The human's unique contributions were: (1) domain knowledge to dismiss the gofmt false positive, (2) the architectural decision to document rather than restore tier detection, and (3) final approval. The false positive on struct alignment is a gap that #2387 would close. Existing issues with new evidence from this retro |
Summary
Consolidates the dual fast/full GitLab poll schedules into a single
*/5 * * * *schedule with automatic full-poll promotion. The poller now decides at runtime whether to run a fast poll (slash commands only) or a full poll (all events) based on how long it's been since the last full poll.Changes
internal/cli/repos_gitlab.go:setupGitLabPipelineSchedulesnow creates a single "fullsend poll" schedule at*/5 * * * *with noFULLSEND_POLL_MODEvariable. Removed the enterprise/free tier distinction and theglClientparameter.internal/poll/poll.go: AddedshouldFullPollmethod that readsFULLSEND_LAST_POLL_AT_FULLto decide mode. If 15+ minutes have elapsed (or first run), a full poll runs; otherwise a fast poll.internal/poll/types.go: RemovedSlashCommandsOnlyfromOptions, addedFullPollIntervalfor configurability.internal/poll/state.go: ChangedwatermarkVarName,dispatchedKeysVarName,failedKeysVarNameto use the runtimeslashCommandsOnlyfield instead of the removed option.internal/cli/poll.go: Removed--poll-modeflag andFULLSEND_POLL_MODEenv var handling.Testing
internal/poll/...tests pass with race detectioninternal/cli/...tests passgo vetpasses on changed packagesCloses #5959
Post-script verification
agent/5959-consolidate-poll-schedule)cff7d7e11d65d7dc90533f06ec2cd472a3a2a3c2..HEAD)