---
id: STATE-CMT-MTG-009
title: Nomination Status
object: DOM-CMT-MTG-006
product_area: committees
module: meetings
revision: 3
status: draft
design_intent: proposed
implementation_evidence: inconsistent
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
states:
  - name: submitted
    meaning: The candidate has been put forward by a staff member or portal user.
  - name: under_review
    meaning: >-
      Review is declared and reached in production by reopening a previously
      declined nomination.
  - name: slated
    meaning: >-
      The candidate is selected for a slate, optionally linked to an appointment
      decision.
  - name: elected
    meaning: >-
      A carried slate appointed the candidate and linked the resulting
      appointment.
  - name: declined
    meaning: The candidate is rejected but may return through a superseding review.
  - name: withdrawn
    meaning: The nomination is withdrawn and has no reopen operation.
transitions:
  - from: submitted
    to: slated
    trigger: Staff or a review outcome places the candidate on a slate.
    guard: >-
      Staff compares the nomination version; a requested decision needs a
      contact and, for a meeting method, a meeting.
    side_effects:
      - >-
        Optionally create a linked appointment decision as draft or explicitly
        open, naming the nominee and submission.
    who: Nomination staff or review-delivery processing
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:slateWithin
  - from: under_review
    to: slated
    trigger: Staff or a review outcome slates a reviewed candidate.
    guard: 'The same contact, decision-method and staff-version checks apply.'
    side_effects:
      - >-
        Optionally create the linked appointment decision under the same
        transaction.
    who: Nomination staff or review-delivery processing
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/rules/nomination-lifecycle.ts:MOVES
  - from: slated
    to: elected
    trigger: The linked slate carries and appoints this contact.
    guard: The nomination remains slated and an appointment was made for its nominee.
    side_effects:
      - >-
        Save the resulting appointment reference and mark the nomination
        elected.
    who: Closure of the linked slate
    provenance: observed
    source: >-
      services-committees:modules/decisions/services/persistence/slated-nominations.ts:electSlatedNominations
  - from: submitted
    to: declined
    trigger: Staff or a review outcome declines the submitted candidate.
    guard: The nomination is still pending and a supplied staff version matches.
    side_effects:
      - Record decline without a linked slate change when none exists.
    who: Nomination staff or review-delivery processing
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:declineWithin
  - from: slated
    to: declined
    trigger: Staff or a review outcome declines a slated candidate.
    guard: The nomination is still slated and a supplied staff version matches.
    side_effects:
      - >-
        Withdraw a sole-candidate draft or open decision, remove the candidate
        from a multi-candidate draft, or let an open close exclude them.
    who: Nomination staff or review-delivery processing
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/rules/slate-after-decline.ts:slateAfterDecline
  - from: submitted
    to: withdrawn
    trigger: Staff or dissolution withdraws a submitted candidate.
    guard: The nomination is still pending and a supplied staff version matches.
    side_effects:
      - Record withdrawal without a slate change when none exists.
    who: Nomination staff or dissolution
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:withdrawWithin
  - from: slated
    to: withdrawn
    trigger: 'Staff, dissolution or supersession withdraws a slated candidate.'
    guard: >-
      The nomination remains slated and a supplied staff version matches; the
      linked decision is changed only while draft or open.
    side_effects:
      - Withdraw the nomination and any pending linked slate decision together.
    who: 'Nomination staff, dissolution or review supersession'
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:withdrawWithin
  - from: declined
    to: under_review
    trigger: A superseding Submissions review reverses a decline.
    guard: The earlier applied review is eligible for reversal.
    side_effects:
      - Record reversal in the ledger and reopen the nomination under review.
    who: The owner review-delivery handler
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/submissions/handle-submission-decisions.ts:reverse
      (reopen_nomination)
  - from: under_review
    to: declined
    trigger: Staff or a review outcome declines a reviewed candidate.
    guard: The nomination is under review and a supplied staff version matches.
    side_effects:
      - Record decline and apply any linked pending decision adjustment.
    who: Nomination staff or review-delivery processing
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:declineWithin
  - from: under_review
    to: withdrawn
    trigger: Staff or dissolution withdraws a reviewed candidate.
    guard: The nomination is under review and a supplied staff version matches.
    side_effects:
      - Record withdrawal and withdraw any draft or open linked decision.
    who: Nomination staff or dissolution
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/nominations/nominations.ts:withdrawWithin
  - from: submitted
    to: under_review
    trigger: >-
      The pure lifecycle admits the review action, though no production caller
      takes it.
    guard: The nomination is submitted.
    side_effects:
      - >-
        The declared action advances to under_review without an additional side
        effect.
    who: Declared action without a production caller
    provenance: observed
    source: >-
      services-committees:modules/recruitment/services/rules/nomination-lifecycle.ts:MOVES
invalid:
  - from: elected
    to: withdrawn
    why: >-
      An elected record points at an appointment; end that appointment through
      its own lifecycle.
  - from: withdrawn
    to: submitted
    why: Withdrawal has no reopening action.
  - from: declined
    to: slated
    why: A decline must be reversed into review before slating is allowed.
concurrency: >-
  Nomination moves lock and compare supplied versions. Pending decision edits
  share that transaction, and decision closure separately locks and elects the
  nominations still slated.
invariants:
  - INV-DOM-CMT-MTG-006-03
  - INV-DOM-CMT-MTG-006-05
  - INV-DOM-CMT-MTG-006-06
evidence:
  - >-
    services-committees at 36129c24:
    modules/recruitment/services/rules/nomination-lifecycle.ts,
    slate-after-decline.ts, submission-consequences.ts;
    services/nominations/nominations.ts; services/persistence/nominations.ts;
    modules/decisions/services/persistence/slated-nominations.ts
---
# Nomination Status

## The Lifecycle

```mermaid
stateDiagram-v2
  [*] --> submitted
  submitted --> slated
  under_review --> slated
  slated --> elected
  submitted --> declined
  slated --> declined
  submitted --> withdrawn
  slated --> withdrawn
  declined --> under_review
  under_review --> declined
  under_review --> withdrawn
  submitted --> under_review
```

submitted: The candidate has been put forward by a staff member or portal user.

under_review: Review is declared and reached in production by reopening a previously declined nomination.

slated: The candidate is selected for a slate, optionally linked to an appointment decision.

elected: A carried slate appointed the candidate and linked the resulting appointment.

declined: The candidate is rejected but may return through a superseding review.

withdrawn: The nomination is withdrawn and has no reopen operation.

## Transitions Explained

Staff or a review outcome places the candidate on a slate. Staff compares the nomination version; a requested decision needs a contact and, for a meeting method, a meeting. Optionally create a linked appointment decision as draft or explicitly open, naming the nominee and submission.

Staff or a review outcome slates a reviewed candidate. The same contact, decision-method and staff-version checks apply. Optionally create the linked appointment decision under the same transaction.

The linked slate carries and appoints this contact. The nomination remains slated and an appointment was made for its nominee. Save the resulting appointment reference and mark the nomination elected.

Staff or a review outcome declines the submitted candidate. The nomination is still pending and a supplied staff version matches. Record decline without a linked slate change when none exists.

Staff or a review outcome declines a slated candidate. The nomination is still slated and a supplied staff version matches. Withdraw a sole-candidate draft or open decision, remove the candidate from a multi-candidate draft, or let an open close exclude them.

Staff or dissolution withdraws a submitted candidate. The nomination is still pending and a supplied staff version matches. Record withdrawal without a slate change when none exists.

Staff, dissolution or supersession withdraws a slated candidate. The nomination remains slated and a supplied staff version matches; the linked decision is changed only while draft or open. Withdraw the nomination and any pending linked slate decision together.

A superseding Submissions review reverses a decline. The earlier applied review is eligible for reversal. Record reversal in the ledger and reopen the nomination under review.

Staff or a review outcome declines a reviewed candidate. The nomination is under review and a supplied staff version matches. Record decline and apply any linked pending decision adjustment.

Staff or dissolution withdraws a reviewed candidate. The nomination is under review and a supplied staff version matches. Record withdrawal and withdraw any draft or open linked decision.

The pure lifecycle admits the review action, though no production caller takes it. The nomination is submitted. The declared action advances to under_review without an additional side effect.

## What Cannot Happen

An elected record points at an appointment; end that appointment through its own lifecycle. Withdrawal has no reopening action. A decline must be reversed into review before slating is allowed. The diagram includes a declared review edge with no production caller. Slating may leave only a nomination or a draft decision; it is not proof that voting has started.

## Concurrency and Timing

Nomination moves lock and compare supplied versions. Pending decision edits share that transaction, and decision closure separately locks and elects the nominations still slated.
