Skip to content

PM-4801: preserve F2F manual review types on launch#1700

Merged
jmgasper merged 2 commits intodevfrom
PM-4801
Apr 9, 2026
Merged

PM-4801: preserve F2F manual review types on launch#1700
jmgasper merged 2 commits intodevfrom
PM-4801

Conversation

@jmgasper
Copy link
Copy Markdown
Collaborator

@jmgasper jmgasper commented Apr 8, 2026

What was broken
F2F draft challenges could reach the launch flow with manual reviewer rows that no longer had a persisted review opportunity type, which left the work app depending on a visual-only dropdown default and could block launch validation until the user reselected Iterative Review manually.

Root cause
The recent manual reviewer review-type restoration only covered the form model and UI rendering. The work challenge service still stripped reviewer type values from patch payloads, and legacy reviewer rows missing the field were never backfilled into real form state.

What was changed
Manual reviewer rows now backfill a concrete review type from the matching default reviewer configuration, with an Iterative Review fallback for iterative-review phases and Regular Review for other legacy rows.
The work challenge serializer now preserves reviewer type values when patching manual reviewer configurations so saved drafts and launch requests stay aligned with work-manager behavior.
Updated the challenge editor README to document the legacy review-type backfill behavior.

Any added/updated tests
Added a HumanReviewTab regression that verifies iterative-review rows missing a stored type are backfilled into form state.
Added a challenges.service regression that verifies patchChallenge keeps reviewer type in the serialized payload.
Ran the full platform-ui test suite plus the repo-required lint and build validation.


Open with Devin

What was broken
F2F draft challenges could reach the launch flow with manual reviewer rows that no longer had a persisted review opportunity type, which left the work app depending on a visual-only dropdown default and could block launch validation until the user reselected Iterative Review manually.

Root cause
The recent manual reviewer review-type restoration only covered the form model and UI rendering. The work challenge service still stripped reviewer type values from patch payloads, and legacy reviewer rows missing the field were never backfilled into real form state.

What was changed
Manual reviewer rows now backfill a concrete review type from the matching default reviewer configuration, with an Iterative Review fallback for iterative-review phases and Regular Review for other legacy rows.
The work challenge serializer now preserves reviewer type values when patching manual reviewer configurations so saved drafts and launch requests stay aligned with work-manager behavior.
Updated the challenge editor README to document the legacy review-type backfill behavior.

Any added/updated tests
Added a HumanReviewTab regression that verifies iterative-review rows missing a stored type are backfilled into form state.
Added a challenges.service regression that verifies patchChallenge keeps reviewer type in the serialized payload.
Ran the full platform-ui test suite plus the repo-required lint and build validation.
@jmgasper jmgasper requested a review from kkartunov as a code owner April 8, 2026 07:36
devin-ai-integration[bot]

This comment was marked as resolved.

@jmgasper jmgasper merged commit 56de85b into dev Apr 9, 2026
9 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.

1 participant