Glamies v2 · use-case walkthrough

Nomination lifecycle

Submission → approval of nominee names during the season, feeding voting-day's top-5 slates and winners. Built today: award-category authoring, adjudicator and chapter-admin nomination review/edit/approve/reject, and an admin-toggleable (but not yet enforced) nomination window. Missing: the director/teacher submission side the design actually calls for, slot auto-creation, canonical accepted-names capture, nominee notification, and everything downstream in awards computation.

15 steps 9 built & screenshotted 6 not yet built
01

Chapter admin authors award categories

Chapter admin (Casey Marsh) Built & verified

Step 1 — Before any nomination can happen, the chapter admin defines the season's award categories (performance/technical/reviewer type, PLAY/MUSICAL/BOTH, max nominees) and the rubric behind each. This is the same Categories & rubrics screen used in the season-setup walkthrough — nominations can't exist without it.

02

Nomination slots auto-created per performance × category

System / chapter admin Not yet built
Not yet built — no UI exists for this step today

Step 2 — Nothing creates performance_categories rows at runtime today; the only insert is in the seed script. There's no service that auto-creates a show's nomination slots (honoring appliesTo + maxNominees) when a performance is created or approved.

03

Show director / primary teacher submits nominee names

Show director / primary teacher Not yet built
Not yet built — no UI exists for this step today

Step 3 — The intended flow has the director/teacher submit their own show's nominee names first. Nothing exists for this today: director.ts is read-only aggregates by design, there's no RLS write policy for either role on performance_categories, and no UI. In the current build, names are only ever entered by an adjudicator or chapter admin (Steps 4/5) — the submission direction is inverted from the intended design.

04

Adjudicator reviews nominations per category

Adjudicator (Jordan Pierce) Built & verified

Step 4 — On the performance-day console's Nominations section, the adjudicator can Save an edited nominee list, Approve, or Reject each category's nomination (including wildcard categories). The seed pre-populates a placeholder nominee per category, which the adjudicator corrects here after talking with the team.

05

Nomination corrected and approved

Adjudicator (Jordan Pierce) Built & verified

Editing the nominee name and hitting Approve writes submittedNames and flips nomineeState to approved in one action.

06

A different category's nomination rejected

Adjudicator (Jordan Pierce) Built & verified

Reject flips nomineeState to rejected — but note Step 11 below: there's no resubmission path back to the director/teacher, so a rejected nomination can currently only be fixed by an adjudicator or admin re-editing it directly.

07

Chapter admin console — Categories tab

Chapter admin (Casey Marsh) Built & verified

Step 5 — The chapter admin has the same edit/approve power over nominations as an adjudicator, from the performance's admin console — including after scoring has already started. A "missing nominees" badge flags any category still without a name.

08

Admin edits a nomination directly

Chapter admin (Casey Marsh) Built & verified

Editing nominees from the admin console writes submittedNames the same way the adjudicator's card does — this is the chapter admin's override path, usable at any point in the season.

09

Nomination-window policy toggle

Chapter admin (Casey Marsh) Built & verified

Step 6 — A season-wide "nominations open" policy toggle exists and is admin-controlled from the Policies screen. It's real state, but nothing reads it yet: neither the adjudicator's nor the admin's nomination-save endpoints check it, so toggling it off would not actually block anyone from editing a nomination today.

10

Nominations closed (toggle off)

Chapter admin (Casey Marsh) Built & verified

The toggle itself works and persists — but since no service checks it (per the doc's code audit), this is a control with no effect yet, not a real gate.

11

Canonical accepted names recorded on approval

Adjudicator / chapter admin Not yet built
Not yet built — no UI exists for this step today

Step 7 — performance_categories.acceptedNames is a dead column: it defaults to an empty array, is read once for passthrough display, and is never written anywhere. Approving a nomination only ever updates submittedNames — the canonical "accepted" spelling that voting-day's performer-conflict matching is supposed to key off doesn't exist yet.

12

Nominee (student) + teacher told "you're nominated"

System / primary teacher Not yet built
Not yet built — no UI exists for this step today

Step 8 — A known v1 pain point carried forward: nothing surfaces a nomination to the student or their teacher anywhere in the product. No dashboard card, no notification, nothing.

13

Approved slate feeds awards computation

System Not yet built
Not yet built — no UI exists for this step today

Step 9 — No awards service, tables, or routes exist at all yet. Approved nominations don't feed anything downstream — that's the voting-day Part B work (standings → top-5 → winners), not built.

14

Nomination changes appear in the audit log — but not distinctly

Chapter admin (Casey Marsh) Built & verified

Step 10 — Every nomination write does call recordAudit, so the category edits above are all here. The gap: the write path always logs action "updated" — the AuditAction enum has approved/rejected values, but nomination writes never pass them, so you can't filter this log for "nominations that were rejected" the way you can for scores.

15

Withdraw / resubmit a rejected nomination

Show director / chapter admin Not yet built
Not yet built — no UI exists for this step today

Step 11 — There's no withdraw concept, and nomineeState is unconstrained free text (no DB enum or check constraint) rather than a real state machine. A rejected nomination (like the one in Step 4 above) has no resubmission path back to the director/teacher — only an adjudicator or admin re-editing it directly can move it forward again.