Add an Interviewer-only course role while retaining Mentor interview access

Author: stardustmegCreated Aug 8, 2026Updated Aug 8, 2026

Context

The redesigned JS/TS Web Dev course will use several one-to-one ownership interviews. Interviews may be conducted by:

  1. active course Mentors, as they are today; or
  2. 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 capabilities

This 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