Skip to content

Let faculty report a student - #75

Merged
sammehbleh merged 1 commit into
devfrom
feat/faculty-reports-student
Nov 12, 2026
Merged

sammehbleh merged 1 commit into
devfrom
feat/faculty-reports-student

Conversation

@sammehbleh

Copy link
Copy Markdown
Contributor

Closes #74. Decided 12 November 2026. Frontend: MeetingAt10/accs-frontend#36.

Decisions applied

  • Route: the report starts with the student's Program Chair, then follows the usual flow (Dean, Guidance, OSAS). When the Chair reports a student of their own program, it starts with the Dean (the Chair can't handle their own report).
  • The student: not notified at filing; they hear from an office when it calls them in or records a decision.
  • The reporter's name: shown to the offices, never to the student.
  • Categories: the concern categories and sub-categories (categoryProblem).

What changes

  • reportStudent on P21 (student.report: professor, Program Chair): { studentId, narrative, category, subcategory?, categoryDetail?, severity, location?, occurredOn? } about any active student.
  • Stored as a report with source: 'faculty'. The faculty member is the owner; the student is reportedStudentId and in involvedUserIds, so they are kept out of it like anyone named in a concern. There is no consent or talk mode (consent is now optional on the type; stored concerns are unchanged).
  • The receiving office is notified and emailed, using the new-concern email from Email the adviser when a new concern arrives  #37. On P22 it sees source, reporter and reportedStudent, with the usual actions.
  • The reporter sees their reports in the queue (P21) and a status view on P22 (statement, reported student, status, timeline; no notes or messages, no actions). Case updates notify them on P22, not P20.
  • Strikes: the Dean can recommend one against the reported student, as with any case.
  • P21 gives faculty canReportStudent, categoryOptions and reportableStudents (the students of their class spaces).
  • README: new "Faculty reports about a student" section.

Tests

  • New tests/faculty-report.test.ts: a professor's report reaching the Chair (notified, emailed, audited, reporter and student shown); a Chair's report going to the Dean; the student not notified and unable to see it; the reporter following the status without notes and notified on P22; other faculty and another program's Chair kept out; a strike recommended on it; who may file; categories; an unknown or non-student ID; and the P21 form data.
  • Mutant checks: always routing to the Chair, leaving the student out of involvedUserIds, hiding the report from its reporter (queue or status view), notifying on P20, accepting any user as the student, or skipping the category check each fails a test.
  • Full suite on Node 22: 1115 passed.

A professor or Program Chair reports a student on the case queue, with
the concern categories. The report starts with the student's Program
Chair (the Dean when the Chair reports a student of their own program)
and follows the usual flow. The offices see who reported and whom; the
student is not notified and cannot see it. The reporter follows the
status without notes and is told when it moves, and the Dean can
recommend a strike against the reported student.

Closes #74
Copilot AI balanced review requested due to automatic review settings November 12, 2026 03:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@sammehbleh
sammehbleh merged commit 48fa369 into dev Nov 12, 2026
3 checks passed
@sammehbleh sammehbleh linked an issue Nov 12, 2026 that may be closed by this pull request
6 tasks
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.

Let faculty report a student

2 participants