---
id: JNY-CMT-MTG-005
title: Staff fill a coming vacancy from the forecast to an elected nominee
feature: FEAT-CMT-MTG-05
product_area: committees
module: meetings
revision: 1
status: draft
product_intent: proposed
implementation_evidence: observed
supersedes:
- react-console acceptance journeys CMT-ACC-0391, 0396, 0408
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-CMT-002
goal: Find the board seat falling vacant, advertise it, take nominations and have the board elect a nominee who takes the seat.
capabilities:
- CAP-CMT-MTG-017
- CAP-CMT-MTG-016
- CAP-CMT-MTG-018
- CAP-CMT-MTG-010
- CAP-CMT-MTG-012
screens: []
steps:
- n: 1
  surface: getVacancyForecast
  action: Read the forecast for the coming year
  capability: CAP-CMT-MTG-017
  expected: The director whose term ends in 60 days is listed
  provenance: test
  source: services-committees:modules/recruitment/tests/e2e/openings.e2e.spec.ts#forecasts Lee’s director appointment ending in 60 days
- n: 2
  surface: createOpeningsFromForecast
  action: Draft an opening for that seat from the forecast
  capability: CAP-CMT-MTG-017
  expected: A draft opening for the seat
  provenance: test
  source: services-committees:modules/recruitment/tests/e2e/openings.e2e.spec.ts#makes a draft opening for Lee’s seat from the forecast (201)
- n: 3
  surface: publishCommitteeOpening
  action: Publish the opening
  capability: CAP-CMT-MTG-016
  expected: It is open and advertised as the directory listing allows
  provenance: test
  source: services-committees:modules/recruitment/tests/e2e/openings.e2e.spec.ts#publishes it (200), open
- n: 4
  surface: expressOpeningInterest
  action: A member says they are interested
  capability: CAP-CMT-MTG-016
  expected: The interest is recorded with its note
  provenance: test
  source: services-committees:modules/recruitment/tests/e2e/openings.e2e.spec.ts#records the member’s interest (201)
- n: 5
  surface: createCommitteeNomination
  action: Record the nomination of a candidate
  capability: CAP-CMT-MTG-018
  expected: The nomination is submitted
  provenance: test
  source: services-committees:modules/recruitment/tests/e2e/submissions.e2e.spec.ts#creates the nomination, submitted
- n: 6
  surface: slateCommitteeNomination
  action: Slate the nominee into the board’s appointment decision
  capability: CAP-CMT-MTG-018
  expected: A decision of kind appointment proposes the nominee
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/nominations.integration.spec.ts#opens a decision of kind appointment proposing the nominee in the nomination’s position
- n: 7
  surface: closeDecision
  action: The board carries the slate at its meeting
  capability: CAP-CMT-MTG-012
  expected: The nominee is appointed, naming the decision
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/nominations.integration.spec.ts#links the appointment the decision made, made by the decision
- n: 8
  surface: getCommitteeNomination
  action: See the nomination elected
  capability: CAP-CMT-MTG-018
  expected: It reads elected with its appointment
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/nominations.integration.spec.ts#marks the nomination elected when the decision carries
- n: 9
  surface: getCommitteeOpening
  action: See the opening filled when the appointment starts
  capability: CAP-CMT-MTG-016
  expected: The opening reads filled and leaves the website
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#closes the seat’s opening as filled, by Sam’s appointment
alternates:
- from_step: 6
  condition: The nominee is declined after slating
  path: The decision proposing only that nominee is withdrawn
  outcome: The nominee is never appointed
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/declined-nominees.integration.spec.ts#withdraws the decision that proposed Robin alone
failures:
- from_step: 2
  condition: The seat already has an opening
  path: The holder is skipped and named
  outcome: No second opening is made
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#skips a holder whose seat already has an opening, making none twice
- from_step: 6
  condition: The nominee is only a name and an e-mail address
  path: Slating into a decision is refused
  outcome: Staff link the nominee to a contact first
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/nominations.integration.spec.ts#refuses to slate into a decision a nominee who is no contact
rules_in_play:
- BR-CAP-CMT-MTG-017-01
- BR-CAP-CMT-MTG-017-05
- BR-CAP-CMT-MTG-016-04
- BR-CAP-CMT-MTG-016-05
- BR-CAP-CMT-MTG-016-07
- BR-CAP-CMT-MTG-018-04
- BR-CAP-CMT-MTG-018-05
- BR-CAP-CMT-MTG-012-02
assertions:
- id: AS-JNY-CMT-MTG-005-01
  statement: The elected nomination links the appointment the board’s decision made.
  provenance: test
  source: services-committees:modules/recruitment/tests/integration/services/nominations.integration.spec.ts#links the appointment the decision made, made by the decision
- id: AS-JNY-CMT-MTG-005-02
  statement: The opening fills once, however often the appointment’s start is reported.
  provenance: test
  source: 'services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#changes neither opening when the same start is delivered again (premise: the replay was delivered)'
- id: AS-JNY-CMT-MTG-005-03
  statement: A filled opening no longer shows on the website or in the portal.
  provenance: test
  source: react-console:acceptance/committees/playwright/journeys/recruitment/CMT-ACC-0391.spec.ts#CMT-ACC-0391
e2e_policy: required
e2e_reason: Recruitment crosses openings, nominations, decisions and the appointments roster of another module; the acceptance journeys already drive it end to end against the API.
---

# Staff fill a coming vacancy from the forecast to an elected nominee

## Story

In October the governance manager reads the vacancy forecast and sees that a director’s term ends at year end. She drafts an opening for that seat straight from the forecast and publishes it; the board’s chair and staff liaison are told, and the opening appears on the website. A member says they are interested, and a nomination is recorded for a candidate. The manager slates the nominee, which opens the board’s decision to appoint them. At its meeting the board carries the decision; the nominee is appointed and the nomination reads elected. When the new director’s appointment starts, the opening fills itself and leaves the website.
