Seat every attendee before the first login

Everything above is what an attendee does in class. This section is for the person running it — the environment operator who seats everyone before anyone signs in. The attendee arc is arrive as a client → get promoted → work an existing matter → then open your own, and it only holds if the room is prepared first. Five steps, once per class:

  1. Start a development environment. Deploy the Neon Law Navigator stands up a disposable dev instance — local KIND for a dry run, or a cloud staging lane for the room itself. It is throwaway by design, so deleting and recreating it between classes is cheap.
  2. Confirm the stock dry run before seating a cohort. A dev environment applies the disposable development portfolio automatically on boot — there is no seed command to run. Sign in as staff / staff, then open /staff/projects and confirm Henderson Bungalow Purchase. Sign in separately as virgo / virgo and confirm the same matter in /portal. The Staff portal is empty by design; the Virgo detail's client files are empty until an exercise creates them. If both lists behave that way, the local room is stocked.
  3. Seat each attendee — a Keycloak identity and a Navigator person on the same email. The two stock accounts are for a local dry run only. A class cohort still needs its own identities and matching People: sign-in is operator-mediated: an authenticated email with no pre-seeded person is refused, so pre-provisioning is the only door in. For each attendee, create a Keycloak user and a Navigator person (/admin/people/new) that share the same email address — email is the join key. Seed them as client; the promotion comes next. Attendee emails are real contact data, so they live in the running environment only and never in the repository.
  4. Promote and disclose membership through the people surfaces. Promote each attendee to staff from the people console, then add them to the Henderson matter through the project's people surface. The participation ledger is the access grant: record a firm-side participation for every lawyer or Clerk before they open the matter; the accountable lawyer is the one whose participation row carries the is_staff_dri marker, so naming the staff DRI and recording their participation are one act. Do not treat role promotion or a disclosure/conflict record as a substitute for Project participation. Assignment is deliberate: a staff user with no project participation sees an empty workbench — only an admin sees every matter unassigned. Assigning the attendee to the seeded matter is what turns "work an existing matter" from a slogan into a populated screen.
  5. Verify before the doors open. Have each staff attendee sign in once and confirm the staff workbench lists the Henderson matter. Verify the Virgo client lens separately: it lists the matter, while empty client-file sections are expected until an exercise creates approved client-facing artifacts. A green login and the scoped staff workbench are the signal that the room is ready.