Add an Interviewer-only course role while retaining Mentor interview access
Context
The redesigned JS/TS Web Dev course will use several one-to-one ownership interviews. Interviews may be conducted by:
- active course Mentors, as they are today; or
- separately approved Interviewer-only volunteers who do not mentor a permanent student group.
Target readiness: September–October 2026, before the first regular ownership-interview cycle of the 2026–2027 course run.
Required capability model
An active Mentor automatically has Interviewer capability for the same course. A Mentor does not need separate Interviewer approval or a second role assignment.
Conceptually:
Mentor capabilities
├── Interviewer capabilities
├── permanent mentor group
├── mentor task/review access
└── other existing mentor responsibilities
Interviewer-only capabilities
└── Interviewer capabilitiesThis describes the authorization relationship; it does not require literal database or class inheritance.
The eligible interviewer pool for a course is the union of:
- active, non-expelled Mentors; and
- active, separately approved Interviewer-only members.
A Mentor may interview students outside their own mentor group. They must not interview their own mentees.
Current behavior
Regular task-interview infrastructure is coupled to Mentor records and the course Mentor role:
- automatic distribution selects mentors;
- regular interview endpoints authorize mentors;
- waitlist claiming and manual interview-pair creation identify the interviewer through a mentor record.
This behavior should remain valid for Mentors. The change should extend the same interview capability to Interviewer-only volunteers without giving them mentor responsibilities.
The existing registration, distribution, waitlist, manual-pair, interview-list, and result flows should be reused where practical.
Proposed behavior
Add a course-scoped Interviewer-only role, permission, or equivalent membership model.
Course administrators should be able to:
- approve and revoke Interviewer-only members separately for each course;
- see one eligible interviewer pool containing Mentors and Interviewer-only members;
- include both categories in regular task-interview distribution;
- assign or reassign an interview manually;
- resolve no-shows, unavailable Interviewers, and conflicts.
Every person with Interviewer capability should be able to:
- receive several distributed interviewees;
- view their current interview assignments;
- claim a student from a waitlist when that interview enables claiming;
- start and complete an assigned interview;
- access only the student/project/interview data needed for the assignment.
The Interviewer-only role must not:
- create a permanent mentor group;
- assign permanent mentees;
- grant mentor task-review responsibilities;
- grant access to unrelated students or mentor-only course data.
Mentor-group conflicts
For regular ownership interviews:
- automatic distribution must exclude each Mentor's own mentees;
- manual assignment must prevent or clearly flag the same conflict;
- administrators must be able to reassign conflicts;
- Interviewer-only members have no mentor-group conflict because they have no permanent mentees;
- existing Mentor workflows must continue to work unchanged.
Existing implementation to reuse
Relevant existing areas include:
- regular interview registration;
- automatic interview distribution;
- administrator-created interview pairs;
- interview waitlist and claiming;
- regular interview assignment lists;
- current Mentor/Manager/Admin guards.
The goal is to introduce a shared “can conduct interviews in this course” capability over the existing interview system, not build a second interview system.
Acceptance criteria
- Every active course Mentor can conduct regular task interviews without separate Interviewer approval.
- Course administrators can approve and revoke Interviewer-only members without creating mentor groups.
- The eligible interviewer pool contains active Mentors and active Interviewer-only members.
- Both categories can participate in regular interview distribution and manual assignment.
- A person with Interviewer capability can see only their assigned interviewees and enabled waitlist actions, except for their separate Mentor permissions where applicable.
- A person with Interviewer capability can start and complete assigned regular interviews.
- Automatic distribution never assigns a Mentor to their own mentee.
- Manual own-mentee conflicts are prevented or clearly surfaced for administrator reassignment.
- Assignment and reassignment remain attributable and auditable.
- Existing Mentor, Manager, Supervisor, and Admin interview workflows remain compatible.
- Revoking Interviewer-only membership removes interview access without affecting unrelated course roles.
- Removing or expelling a Mentor removes their default interview eligibility according to existing Mentor lifecycle rules.
Source: rolling-scopes/rsschool-app