Dissolve an Unsuccessful or Inactive Mentor-Mentee Pairing
Coordinators can dissolve a pairing directly from the Pairing Detail Screen using the coordinator intervention controls. When dissolution is initiated, the coordinator is prompted to select a reason (e.g., no contact established, compatibility issues, mentee withdrawal, programme completed early). The MentorProgramService transitions the pairing status to 'dissolved', records the reason and the coordinator's user ID, and timestamps the event. Dissolved pairings are archived and accessible in programme history but removed from the active pairings list. Row-level security ensures only users with the coordinator role can perform this state transition.
User Story
Acceptance Criteria
- Given I am a coordinator on the pairing detail screen, when I select the dissolve pairing action, then a confirmation dialog appears requiring selection of a dissolution reason before proceeding
- Given I confirm dissolution with a reason, when the action is submitted, then the pairing status transitions to 'dissolved' and the record is archived with the reason and timestamp
- Given a pairing is dissolved, when I view the active programme overview, then the dissolved pairing no longer appears in the active list
- Given a pairing is dissolved, when I access the programme history or archived pairings, then the dissolved pairing is visible with its dissolution reason, dissolving coordinator, and timestamp
- Given I am a peer mentor, when I view the pairing detail screen, then the dissolve action control is not rendered and dissolution is not possible
Business Value
Enables coordinators to maintain programme quality by removing non-functioning pairings from the active roster. Without the ability to dissolve pairings, stalled records accumulate and corrupt programme health metrics, making it impossible to reliably assess how many mentees are actively receiving support. A clean programme roster is a prerequisite for accurate reporting and for ensuring that available peer mentor capacity is not locked by inactive pairings.
Components
- Pairing Detail Screen ui
- Mentor Program Service service
- Mentor Program Repository data