Skip to content

Prod release - April 2026#40

Merged
jmgasper merged 41 commits into
masterfrom
develop
Apr 30, 2026
Merged

Prod release - April 2026#40
jmgasper merged 41 commits into
masterfrom
develop

Conversation

@jmgasper

Copy link
Copy Markdown
Contributor

No description provided.

vas3a and others added 30 commits March 25, 2026 15:52
…ir schedule. This would include: Registration, Submission, Checkpoint Submission,

   Appeals.  This should NOT include phases that only close when all deliverables have been received, including:  Screening, Review, Approval, Iterative Review,
   Checkpoint Screening, Checkpoint Review.

   2.  For Standard Review / Screening phase opened, we are running into issues with this flow:
   * Review phase opens
   * Pending reviews are created
   * Submission phase is REOPENED
   * New submissions come in
   * Extended submission phase closes
   * Review phase reopens and creates pending reviews for the new submissions that came in

   What happens is that we end up with pending reviews for submissions now that shouldn't have reviews because the submitter submitted an update during the extended
   submission phase.  We need to handle this case to ensure that any pending reviews that no longer should apply because they are associated with submissions that are
   no longer the latest submission, should be deleted.  This would apply to: Checkpoint Screening, Checkpoint Review, Screening, and Review phases.

   3. For the identified duplicate / race hotspots, let's make sure these are handled appropriately and have safeguards in place so that duplicate reviews aren't
   created and that only reviews for the latest submission from members (unless the challenge allows multiple submissions) are supported

4. Removed SchedulerService.ensureTopgearPostMortemReview since that's not a feature we need to support
What was broken
Public reviewer openings created from First2Finish iterative review configs could be created as regular review opportunities. When an application was approved, review-api assigned the member the Reviewer resource role, so the review app showed no iterative-review submissions for that reviewer.

Root cause
Autopilot defaulted missing reviewer opportunity types to REGULAR_REVIEW. Manual and legacy F2F reviewer configs can omit the explicit type even when they are attached to the Iterative Review phase.

What was changed
Autopilot now resolves the review opportunity type from the linked reviewer phase before falling back to REGULAR_REVIEW.
Iterative Review phase reviewers without an explicit type now create ITERATIVE_REVIEW opportunities, which keeps approved members aligned with the Iterative Reviewer role.
Added a regression test for the missing-type F2F iterative review path.

Any added/updated tests
Added PhaseScheduleManager coverage to assert that a reviewer on the Iterative Review phase with no explicit type creates an ITERATIVE_REVIEW opportunity.
What was broken
Public reviewer openings created from First2Finish iterative review configs could be created as regular review opportunities. When an application was approved, review-api assigned the member the Reviewer resource role, so the review app showed no iterative-review submissions for that reviewer.

Root cause
Autopilot defaulted missing reviewer opportunity types to REGULAR_REVIEW. Manual and legacy F2F reviewer configs can omit the explicit type even when they are attached to the Iterative Review phase.

What was changed
Autopilot now resolves the review opportunity type from the linked reviewer phase before falling back to REGULAR_REVIEW.
Iterative Review phase reviewers without an explicit type now create ITERATIVE_REVIEW opportunities, which keeps approved members aligned with the Iterative Reviewer role.
Added a regression test for the missing-type F2F iterative review path.

Any added/updated tests
Added PhaseScheduleManager coverage to assert that a reviewer on the Iterative Review phase with no explicit type creates an ITERATIVE_REVIEW opportunity.
PM-4691: infer iterative opportunity type from F2F review phase
PM-4691: infer iterative opportunity type from F2F review phase

@vas3a vas3a left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me

@jmgasper jmgasper merged commit 4cd6b92 into master Apr 30, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants