iS3 — who does what
Every module's real lifecycle, the role responsible at each step, and where work hands off. Written from the shipped code — permission lists, state machines and route guards — not from intent.
Verified against branch pilot-hardening · 19 July 2026
How roles work
Three rules explain nearly every “why can't I do this?” question.
1People hold more than one role
A counsellor who also teaches holds both roles. Permissions are the union — you can do anything any of your roles allows. Your most senior role decides what the app shows by default.
Testing tip. Multi-role accounts hide single-role bugs. If you are checking “can a teacher do X?”, use an account that is only a Teacher — otherwise the other role silently grants it.
2Two tiers per module: Staff and Manager
Each module defines a wide Staff list (can see and contribute) and a narrower Manager list (can decide — approve, assign, finalize, cancel). Teacher, Nurse, Psychologist and Staff sit in Staff but not Manager, in every module.
3You only ever see your own school
Data is scoped district → school → role. District-level roles can switch between All Schools and one school; school-level roles are pinned to theirs. Teachers are further narrowed to students actually enrolled with them.
The roles
Names exactly as the system stores them.
| Role | Scope | What they are for |
|---|---|---|
| District Admin | District | Everything, every school. Owns district-level settings and CALPADS submission. |
| District Staff | District | District-wide support; manager tier in MTSS modules. |
| School Admin | School | Runs one school end-to-end. |
| Principal | School | School leader; approves and signs off. Manager tier everywhere. |
| School Counselor | School | The usual owner of MTSS cases — triages alerts, runs SST. |
| Case Manager | School | Carries a caseload; manager tier in MTSS and IEP. |
| SPED Coordinator | School / District | Special-education lead; manager tier in IEP. |
| Psychologist | School | Assessment and evaluation. Contributor, not decision-maker. |
| Nurse | School | Health input. Contributor, not decision-maker. |
| Teacher | Own students | Raises concerns, supplies input, grades work. Does not triage. |
| Staff | School | General staff; read and contribute. |
| Parent / Guardian | Own children | Consents, signs, views their child only. |
| Student | Self | Views their own work and plan. |
1At-Risk
Spots students who need help — from attendance, grades and behaviour, or from a teacher noticing something.
- 1
A concern is raised
Automatically by nightly scoring, or manually by a Teacher (“flag a student”).
TeacherAny staff roleSystem - 2
Leadership reviews the flag
A manager-tier role opens the flag and either turns it into an alert or dismisses it. A teacher cannot do this step.
CounselorCase ManagerSPED CoordPrincipalAdmin - 3
The alert is owned and worked
It lands in the Alert Queue, is assigned an owner, and moves
new → assigned → in_progress. - 4
Resolve, or escalate
Ends as
resolved/dismissed, or is escalated into SST, Interventions or 504.
2Student Study Team
The school team meets about a struggling student and agrees a plan. The hub of MTSS.
- 1
Referral is created
Anyone on the SST staff list — including a Teacher — via SST → New Referral. Also raised by escalating an At-Risk alert.
TeacherCounselorCase ManagerNursePsychologistAdmin - 2
Reviewed and parent consent sought
pending_review → pending_consent. Consent is a manager-tier action. - 3
Meeting scheduled
Team members are invited with a role in the meeting (SST Coordinator, teacher, psychologist, parent…). Parents are invited here.
- 4
Meeting held, plan agreed
in_progress. Outcomes recorded; the team decides next steps. - 5
Monitor, then close or hand on
monitoring → completed, or route onward to Interventions, 504 or an IEP referral (manager-tier).
3Interventions
The actual support a student receives, and whether it is working.
- 1
Intervention planned
Chosen from the catalogue, usually out of an SST decision.
draft - 2
Consent where required
pending_consent— manager-tier. - 3
Staff assigned
Assignment roles are Lead, Support, Supervisor, Observer and Case Manager. Note: there is currently no Assign-Staff button on the case screen — see the detail below before planning around this step.
LeadSupportSupervisorObserverCase Manager - 4
Sessions delivered and logged
active. Whoever delivers a session logs attendance and progress — teachers included. Log Session and Record Progress are on the case screen for teachers and managers alike. - 5
Reviewed, then closed or escalated
on_hold/closed, or escalate to 504 / IEP if progress stalls. Escalate to SST and Close Intervention are manager-only.
4Section 504
A civil-rights plan for a student with a disability who does not need special education.
- 1
Referral received and reviewed
referral_received → referral_review. May end atreferral_deniedwith a reason. - 2
Parent consent to evaluate
pending_consent— the Parent acts here.Parent - 3
Evaluation
evaluation— Psychologist, Nurse and teachers contribute evidence. - 4
Eligibility meeting
eligibility_meeting → eligibleornot_eligible. The team decides; the 504 Coordinator leads. - 5
Plan written
plan_draft— accommodations chosen. - 6
Signed
plan_pending_signatures→ all required signatures collected.ParentCoordinator - 7
Active, then reviewed yearly
active → annual_review/re_evaluation, eventuallyclosed.
5IEP — the full lifecycle
Special education, start to finish. Six phases, each with its own forms and its own signatures. This is the longest flow in the system, so it is spelled out step by step.
referral→assessment→evaluation→eligibility→planning→active→under_review / amendment→closed
Phase 1 — Referral and consent to assess
- 1
Referral raised
From an SST decision, a parent request, or staff directly. Creates the case at
referral.CounselorSPED CoordCase ManagerTeacherParent request - 2
Assessment plan written
Lists every area to be assessed. Legal clock: the plan must reach the parent within 15 days.
- 3
Parent consents to assessment
Signed consent. Nothing may be assessed without it — this is a hard gate.
Parent
Phase 2 — Evaluation
- 1
Input gathered from everyone around the student
Teacher input, parent input and student input are separate forms, each filled by that person.
TeacherParentStudent - 2
Assessments carried out
Psychologist, specialists and nurse assess in the agreed areas.
assessment → evaluationPsychologistNurseSpecialists - 3
Present levels written (PLAAFP)
The single picture of where the student is now, per domain. Feeds every goal later.
- 4
Special factors considered
Behaviour, language, braille, communication, assistive technology.
Phase 3 — Eligibility and the plan
- 1
Eligibility decided
The team determines whether the student qualifies.
eligibility— a manager-tier decision.SPED CoordCase ManagerPrincipalAdmin - 2
Goals written
Measurable annual goals with baseline, target and how progress is measured.
planning - 3
Services decided
What support, how often, how long, where, who delivers it.
- 4
Placement and least-restrictive environment
Where the student is taught, with written justification.
- 5
State testing and transition
Assessment accommodations; from age 16, a transition plan with services and outside agencies.
Phase 4 — Notices and the meeting
- 1
Procedural safeguards sent
The parent’s rights. Legally required before the meeting.
- 2
Meeting notice issued
Invites the parent and every required team member.
ParentGen-ed teacherSPED teacherAdminPsychologist - 3
Any absence formally excused
If a required member cannot attend, the parent must agree in writing.
- 4
Meeting held, attendance recorded
Who actually attended is part of the legal record.
- 5
Prior written notice given
What the district proposes or refuses, and why.
Phase 5 — Signature and implementation
- 1
IEP finalized
A manager-tier role finalizes; the document locks.
activeSPED CoordCase ManagerPrincipalAdmin - 2
Parent consents to implement
Services cannot start until this is signed.
Parent - 3
Services delivered and progress reported
Providers log service delivery; progress against each goal is reported to parents on schedule.
TeacherProvidersCase Manager
Phase 6 — Keeping it current
- 1
Amendment
The way to change a finalized IEP.
amendment— proposed, then approved by a manager. - 2
Annual review and triennial re-evaluation
under_review. Reviewed yearly; fully re-evaluated every three years. - 3
Closed
On exit, graduation or a finding of no longer eligible.
closed
6Independent Study
A signed agreement for a student learning off-site — and the attendance credit that follows it.
- 1
Case created
By staff, or requested by a parent. Must be dated in the future.
ParentStaffAdmin - 2
Parent signs the agreement
Legally required before any credit can be earned. Signed online or on paper.
Parent - 3
Teachers assign work
Each subject teacher assigns for their own subject only. Notified automatically when the case opens.
Subject teacher - 4
Principal approves
Needs at least one assignment — it does not wait for all of them.
Principal - 5
Student works; teacher judges it
The teacher records how many minutes of work each day is worth. 240 = a full day, 120 = half.
Certificated teacher - 6
Attendance clerk forwards it
Needs the parent signature, a loaded school calendar, and at least one graded assignment.
Attendance Clerk - 7
Completed
Attendance credit is recorded. Ungraded subjects simply count as zero.
7Expanded Learning (ELO-P)
Before- and after-school programmes: who runs them, who may attend, and who is present.
- 1
Programme set up
Created and edited by whoever runs the programme.
draft → published. A Principal may look but not change it; a Teacher is refused outright.District AdminELOP AdminELOP Site CoordinatorSchool Admin - 2
Families offered places
Offers and the waitlist are handled by whoever runs the site. Note: places are allocated first-come — there is no unduplicated-pupil prioritisation yet. See the detail below.
- 3
Enrolment decided
pending → approved/waitlisted/rejected. A family that is offered a place and says no is recorded asdeclined— which is deliberately not the same as never being offered one. - 4
Daily attendance and pickup
Instructors take the register and verify pickups. Adult-to-student ratios are measured and reported against the statutory limit — they never block the register.
ELOP InstructorSite Coordinator - 5
Reporting
CALPADS extracts are produced at district level.
completed
8Meetings
SST, 504 and IEP meetings all schedule, invite and record the same way.
- 1
Scheduled from inside the case
Always start in the case — that is what links the meeting to the student.
- 2
Attendees invited with a meeting role
Staff, parents and outside providers each get a role for that meeting only.
- 3
Held — in person or by video
Recording requires every participant to consent first.
- 4
Notes, outcomes, signatures
Written back to the case and the student’s record.
Known gotchas
Behaviours that look like bugs and aren't — plus the one that was.
| What you see | Why | What to do |
|---|---|---|
| Teacher cannot refer to SST from an alert | By design — teachers flag, they do not triage. The alert screen is manager-only. | Use SST → New Referral, which teachers can use. |
| Admin-flagged student missing from the Alert Queuefixed | Was a real bug. A leadership flag was auto-filed as a watch note with no alert, so it appeared nowhere. | Fixed 19 Jul 2026 — the alert switch now defaults on. Re-test. |
| “Case Manager” appears on an SST case | That is the Referral Source field (who referred the student), not a staff assignment. | Check the field label. SST meeting roles never include Case Manager. |
| No meeting transcript | Fail-closed: no AI key configured on that environment, no recording captured, or worker not running. | Expected off a configured environment. Confirm all three before raising. |
| A finalized IEP or 504 cannot be edited | Intentional legal lock. | Raise an amendment, or restore an earlier version if not yet finalized. |
| A role can do something in the API but not the UI | The UI is sometimes deliberately stricter than the permission list. | Report it — UI and API should agree. |
How this was checked
Built from the permission lists, model state machines and route guards in the shipped code, then re-checked by signing in as each role and driving the real application. Where behaviour could not be confirmed it has been left out rather than guessed, and two claims that the browser disproved were corrected here rather than defended.
- SST — a Teacher-only account created SST-2025-00016 (HTTP 201) and was redirected out of the alert queue. SST offers 25 meeting roles; neither
case_managernor a barecoordinatoris among them. - At-Risk — a leadership flag with the alert switch off produced no alert at all; with it on, the flag attached to the student's existing open alert rather than creating a second one.
- IEP — a Teacher and a District Staff member were both refused finalize (403, “Only an IEP manager… can finalize this form”), and the draft they targeted was still a draft afterwards. A manager could not reopen a finalized form (400, cites 34 CFR §300.324(a)(4)) and could not restore over it (422). A Teacher was refused restore (403).
- Section 504 — the team-role list returned exactly the ten roles documented above, no more and no fewer. A Teacher can list 504 cases; deciding actions stay with the manager tier.
- Interventions — a Teacher and a SPED Coordinator opened the same live case; only the manager was offered Escalate to SST and Close Intervention. Neither was offered any way to assign staff, which is why that step is flagged above.
- Independent Study — approval was refused on a case in the wrong status, and a Teacher was refused work assignment because the account is not marked certificated (CA Ed Code §51747.5).
- ELO-P — walked tier by tier. A Teacher was refused all eight ELO-P actions tried; a Site Coordinator could take and work the register but was refused the CALPADS export; an ELOP Admin got it. The register screen was opened and confirmed working. This is what corrected the “district-only” claim.
- Value lists — the two the metadata endpoint would not expose were cleared directly. Each Interventions assignment role was submitted on its own: all five were accepted as real choices, two invented ones (
coordinator,chief_interventionist) were rejected, and no row was written. The ELO-P statuses were read straight off the enrolment screen, which offers all seven. - Corrected by this pass: ELO-P programme setup is not district-only; ELO-P ratios are reported, not enforced; unduplicated-pupil priority is not built; and the Interventions assign-staff step has no screen yet.
- Fixed while validating: every ELO-P attendance read was open to any signed-in account, so a teacher with no ELO-P role could pull a named child's full attendance history. Reads are now restricted to the ELO-P tiers, re-checked in both directions.