v2 Review — Stakeholder Summary
Admin Spec v2 — Stakeholder Summary
For: Lejla | Date: 2026-04-15 | Source: Apr 15 review + Framework v2 + 5 ADRs + 12 v2 spec files
Update 2026-04-21: Lejla has responded to this summary. Her answers — including the full End Checklist definition and confirmation of 11 of 13 defaults — are captured in
STAKEHOLDER-ANSWERS-2026-04-21.md. Spec edits applying those answers are tracked inIMPACT-MAP-2026-04-21.md. Read those two documents alongside this summary — the "Open Questions" and "Defaults I'm Making" sections below reflect what was sent to Lejla, not the current resolved state.
This is a 1-page summary of what changed in v2. The full v2 spec lives in docs/admin-spec-v2/. Every decision traces back to the Apr 15 meeting via Framework v2 and individual ADRs.
Per-Domain Summary
Dashboard
- Changed: Phase prompt and Semester Progress tile now reference "End Checklist" instead of "Close Workflow" (gated steps replaced with flat checklist). New Tile 7 "Communication Alerts" aggregates unread private messages, failed deliveries, pending announcements. "Send Notification" quick action now points to Communication > Push Notifications.
- Why: ADR-001 (Close Workflow removal); ADR-003 (Communication domain).
Student Management
- Added: Admin Notes tab on Student Detail (private admin-only notes). Gender + appointments columns on Students list. Late-response flag (48-hour working hours) on submissions. Activate Account action on Failed Sign-ups. Various submission actions (reject-under-review, copy/download/send recording link, bulk delete, per-week exceptions).
- Moved: Registration Tracker concept folded into Semester Hub > Enrollment as a filter preset + Level 0 bulk-promote action co-located there (no new screen needed).
- Why: Framework v2 Cat A/B refinements; ADR-005 (Registration Tracker integration).
Semester Management (biggest changes)
- Changed: Close Workflow tab completely rewritten as End Checklist — flat checklist paralleling the Setup Checklist, with automatic items (backend triggers) and manual items. Default items are TBD — you need to define what "automatic" means for each step.
- Moved: Email Management moved to Communication domain. Operations dropped Card 5 (Level 0 Promotion moved to Enrollment tab).
- Added: Onboarding Support tab (Telegram/WhatsApp links, welcome videos, countdown timer). Auto-clone on semester create (automatic content copy from previous semester). Custom items on Setup Checklist.
- Why: ADR-001 (End Checklist); ADR-003 (Communication); ADR-005 (Operations reshuffle).
Content
- Added: Multi-video UI inside lessons; description field. Multi-level tagging on Resources (single level → array). Resource types (file/link/video URL). Recording type column (Lesson Class vs QRC), time-of-day, Zoom sync status column + auto-upload UI affordance.
- Why: Framework v2 Cat A refinements.
Scheduling
- Added: Teacher field on Live Session creation; recurrence + date-range controls; bulk-add sessions; bulk-add TA slots; cancellation reason templates + send-message-on-cancel; "Needs Replacement" flag on sessions when TA is on break.
- New screens: One-to-One Appointment Usability dashboard (gender-split fill rates, underutilized slots, remove-slot). Cancellation Reason Templates (cross-cutting).
- Why: Framework v2 Cat A/B.
Teacher Management
- Changed: Assignment Criteria completely rewritten. Old generic rules engine replaced with per-TA matrix (capacity, level specialization, new-vs-returning routing) + three named rules (gender match auto, repeat-student auto-assign, distribution strategy) + read-only preview panel.
- Dropped: Timezone proximity rule (you explicitly said "no no").
- Added: Semester filter on Teachers list; live-sessions-per-week and slots-per-week metrics. Avg-grade-given and submissions-received-vs-reviewed disambiguation on Performance tab.
- Why: ADR-002 (Hybrid Matrix).
Billing & Payments
- Changed: Payment Plans use grouped presentation (Standard / Family / Scholarships / Discounts visible together). Verify Stripe Sync is a result modal, not a toast.
- Added: Family member per-member discount % and semester status (repeat/regular/mastery) fields.
- Updated refs: "Close Workflow Step 3" → "End Checklist Bulk Payment Setup" throughout cross-references.
- Why: Framework v2 Cat A; Decision #8 (plan grouping); ADR-001 (naming).
Reporting — no changes from v1 (Cat E deferred pending working session)
Admin & System
- Moved: Notifications moved to Communication > Push Notifications.
- Preserved: Admins, Settings, Support Links, Issue Queue (Issue Queue state machine + handle-it semantics still need working session).
- Why: ADR-003.
Communication — NEW 9th domain
6 screens total:
- Automation Emails (absorbed from Semester Management, enhanced with sequence view)
- Blast Emails (NEW — compose, template library, filter-by-criteria recipient selection)
- Push Notifications (absorbed from Admin & System, enhanced with recipient filtering)
- Announcement Board (NEW — replaces community board, one-way)
- Private Messages (NEW — bidirectional student↔teacher inbox)
- Communication Logs (NEW — unified audit of all outbound communication)
- Identity switching rejected → replaced with admin pre-drafting: admin writes a draft for a TA, TA sends it from their own account. No impersonation.
- Why: ADR-003, ADR-004.
Net-New Inventory
| Type | Count | Items |
|---|---|---|
| New domain | 1 | Communication |
| New screens | 6 | Blast Emails, Announcement Board, Private Messages, Communication Logs, One-to-One Usability, Cancellation Templates |
| New tabs | 2 | Student Detail > Admin Notes, Semester Hub > Onboarding Support |
| New workflows | 1 | WF7: Outbound Communication |
| Rewritten sections | 2 | Close Workflow → End Checklist (ADR-001); Assignment Criteria → Hybrid Matrix (ADR-002) |
| Screens v1 → v2 | 35 → 39 | +4 net |
Removed from v1 (with reason)
- Close Workflow (gated 5-step) → replaced with flat End Checklist (ADR-001). Load-bearing: if backend automation isn't ready at launch, flat checklist is strictly worse than v1. You need to define "automatic" per step.
- Timezone proximity rule in Assignment Criteria → explicitly dropped per your "no no".
- Generic rules engine in Assignment Criteria → replaced with matrix + small named rules (ADR-002). Loses flexibility to add arbitrary constraint types.
- Operations Card 5 (Level 0 Promotion) → moved to Enrollment tab (ADR-005). Same action, better placement.
Defaults I'm Making (flag if you disagree)
These came up as smaller open questions across the ADRs. I defaulted to sensible answers so we're not blocked on trivia. Push back on any of these if they feel wrong — if you don't flag them, I'll build with these defaults.
Status 2026-04-21: Lejla confirmed 11 of these 13 defaults and changed 2 (row 6 and row 13). See
STAKEHOLDER-ANSWERS-2026-04-21.mdfor the resolved state.
| # | Area | Question | My default | Why |
|---|---|---|---|---|
| 1 | End Checklist | Does it support custom items (like Setup Checklist)? | Yes | Parallel structure is cleaner than having Setup allow custom items but End not. |
| 2 | Assignment Matrix | Weighted distribution — deterministic from capacity, or tunable weights? | Deterministic | Your own example in the meeting ("one takes 10, other takes 100, split 1:5") is proportional fill by capacity. Tunable weights is a future enhancement if you find you need it. |
| 3 | Assignment Matrix | What happens when no TA matches all constraints? | Flag unassignable students for manual placement | Safer than force-assigning — you see exceptions upfront. |
| 4 | Communication | Unified template library across Automation + Blast, or separate? | Unified | One library, tagged by intended use (automation vs. ad-hoc). Easier to reuse. |
| 5 | Communication | Blast Emails — send now only, or future scheduling? | Send now in mockup; scheduling deferred to production | Keeps mockup simple; scheduling is an easy add later. |
| 6 | Communication | Announcement Board — who can post? | Admin-only | TAs can be added later if you want. Safer default. |
| 7 | Communication | Private Messages — in-app only, or email fallback? | In-app only | Matches the existing "use the app" direction; email fallback adds deliverability complexity. |
| 8 | Pre-drafting | Which screens support it? | Private Messages + Blast Emails | Push Notifications are system broadcasts — pre-drafting for a named TA doesn't fit. |
| 9 | Pre-drafting | Multi-TA drafting? | Single TA per draft | Multi-TA is a convenience feature, can be added later. |
| 10 | Pre-drafting | Draft expiry? | Indefinite persistence | Drafts are low-volume; no need for automatic expiry. |
| 11 | Registration preset | Level 0 only, or include returning students? | Both (with sub-filter for new Level 0) | You wanted a "live view of our student body" — includes everyone enrolling. |
| 12 | Registration preset | Bulk-promote button — registration window only, or year-round? | Always visible when Level 0 filter is active | Simpler; no extra window-gating logic needed. |
| 13 | Level 0 promote | Target level — your ramblings said Level 2, spec says Level 1 | Level 1 (per spec) | Likely a misstatement in the ramblings. Flag if actually Level 2. |
Open Questions for You (aggregated from ADRs)
Critical (block implementation of specific features)
ADR-001 — End Checklist:
- What are the default End Checklist items?
- Per item: what constitutes "complete"? Which are automatic vs. manual?
- What is the trigger/deadline for each automatic step?
- Does End Checklist support custom items (like Setup Checklist)?
- How is the W4 risk (payment before promotion) handled if backend automation is delayed?
ADR-002 — Assignment Criteria: 6. Weighted distribution: deterministic from capacity, or admin-adjustable weights? 7. Conflict resolution when constraints can't all be satisfied — manual assignment queue? 8. Semester binding: is Semester Hub entry point sufficient?
ADR-003 — Communication: 9. Sequence view data source: all students, sample, or searched student? 10. Template library: unified or separate (automation + blast)? 11. Scheduling: send-now only, or future scheduling? 12. Announcement board permissions: admin-only, or can TAs post? 13. Private Messages: in-app only, or email fallback?
ADR-004 — Pre-drafting: 14. Which screens support pre-drafting? Private Messages only, or also Blast Emails, Push? 15. Can admin pre-draft for multiple TAs at once? 16. Draft expiry policy?
ADR-005 — Registration Tracker: 17. Registration preset: include returning students re-enrolling, or only Level 0? 18. Bulk-promote button: only during registration window, or year-round?
Deferred areas (Category E, need working sessions)
- Reporting: financial reports (new), student reports, student composition — all need scoping.
- Issue Queue (Admin & System): action semantics, state machine, delete vs. resolve distinction.
- Auto enrollment/billing workflow: you asked to park until after app redesign.
- Repeat semester workflow: meeting ended before discussion.
Ambiguities from Framework v2
- Level 0 bulk-promote target level (spec says Level 1; ramblings said Level 2 — likely misstatement; default to Level 1).
- Appointment count column scope (all students vs. mastery only; scheduled vs. completed).
- Appointment time display (student vs. EST timezone).
- Resend Credentials on Failed Sign-ups (temp password vs. login credentials).
- Needs Replacement flag computation (manual, automatic from TA break, or both).
- Gender filter on calendar (TA gender vs. student gender).
- Submission Close Date scope (per-semester/per-level/per-assessment).
- Telegram/WhatsApp access control model.
- Welcome videos scope (tutorial vs. semester-specific).
What This Means for Build
- Start building: Cat A (refinements) and Cat B (additive features) can proceed against v2 spec.
- Need your decisions before building: End Checklist default items + automation definitions; open questions above.
- Production-only work: Backend triggers for End Checklist items; weighted distribution algorithm; pre-draft queue for TAs; 48-hour late-response job.
- v2 mockup: Non-destructive — v1 mockup at
src/pages/unchanged. v2 mockup would be a new build scaffolded from the v2 spec.