Skip to content

CAP-CMT-MTG-018Take nominations to a committee and carry a slate to a decision

Markdown

CAP-CMT-MTG-018

Take nominations to a committee and carry a slate to a decision

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationInconsistent

KindCapabilityProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision1

Read atservices-committees 36129c24react-console baf6dae3

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
Every candidate recorded with who nominated themA slate carried by the committee’s own voteA declined nominee never appointed
Surfaces
apiportal
Preconditions
The committee takes nominations and is not dissolved.
Postconditions
An elected nomination names the appointment it produced.
Intent sources
services-committees:docs/milestones/CMTE-M5-openings-and-nominations.md#Objectiveservices-committees:docs/debt/README.md#DEBT-05services-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#D1services-committees:docs/milestones/CMTE-M7-governance-oversight.md#D1

Controls

30 controls apply, from the corpus control catalogue.

TC-IAM-006 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-006 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-TEN-004 TC-SEC-001 TC-SEC-004 TC-DAT-001 TC-DAT-002 TC-DAT-003 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-AVL-004 TC-MON-001 TC-MON-002 TC-PI-001 TC-PI-002 TC-PI-003 TC-PI-004 TC-PI-005 TC-PRV-001 TC-PRV-002 TC-PRV-004

Permissions

KeyChecked atScope
committees.nominations.readapitenant
committees.nominations.manageapitenant
committees.portal.participateapirecord

Business Rules

14 rules, 13 to be proved before approval. A rule's product intent is derived from its origin: 0 confirmed by a product decision, the rest inheriting this capability's proposed.

IdRuleKindEnforced atProvenance
01must prove
Proposed
A nomination names its nominee, as a contact or as a name with an e-mail address, and a target of its own live committee: an opening, a seat or a position.
no proof recorded yet
validationapi, service, databasetest
02must prove
Proposed
A committee that takes no nominations refuses them from staff and from members.
no proof recorded yet
validationservicetest
03must prove
Proposed
A nomination goes from submitted to under review to slated to elected, or to declined or withdrawn from any status but elected; a declined one comes back only through a later Submissions decision.
no proof recorded yet
lifecycleservicetest
services-committees:modules/recruitment/tests/unit/services/nomination-lifecycle.spec.ts#moves and refuses exactly as the table says, from every status by every action
04must prove
Proposed
Slating opens a decision of kind appointment proposing the nominee when the committee’s rules require one or staff ask, linked to the nomination, the nominee and the submission; it needs a nominee who is a contact.
no proof recorded yet
lifecycleservicetest
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
05must prove
Proposed
When the slate decision carries, the nomination becomes elected with the appointment made; a nominee declined or withdrawn meanwhile is skipped.
no proof recorded yet
lifecycleservicetest
06must prove
Proposed
Withdrawing a nomination withdraws its slate decision while that is a draft or open.
no proof recorded yet
lifecycleservicetest
07must prove
Proposed
Declining a slated nomination withdraws a decision proposing only that nominee, removes the nominee from a draft proposing others, and leaves an open one to skip the nominee when it closes.
no proof recorded yet
lifecycleservicetest
services-committees:modules/recruitment/tests/unit/services/slate-after-decline.spec.ts#withdraws a draft or open decision that proposes the nominee alone, and touches no other status
08must prove
Proposed
A member nominates in the portal and is recorded as the nominator; a nominee who is another contact is asked to consent once.
no proof recorded yet
policyservicetest
09must prove
Proposed
An edit saves what it carries and keeps what it does not, and every staff change is made at the version read.
origin: CMTE-M1 D1 (Andrew 2026-10-19 17:45 ET, services-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#Decisions)
no proof recorded yet
policyapi, servicetest
services-committees:modules/recruitment/tests/integration/services/edits.integration.spec.ts#keeps the opening, seat, position, contact link and e-mail the edit did not carry
10must prove
Proposed
Dissolving a committee withdraws its pending nominations and their slate decisions.
origin: CMTE-M1 D5 (Andrew 2026-10-19 17:53 ET, services-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#Decisions)
no proof recorded yet
lifecycleservicetest
11must prove
Proposed
A nomination carries the custom fields of its nomination form.
origin: R2-ARCH-001 (Andrew 2026-10-19 about 18:24 ET)
no proof recorded yet
policyapi, servicedocumented
12must prove
Proposed
Today a nominee whose contact is merged in CRM stays on the merged-away contact.
no proof recorded yet
policydatabaseobserved
13
Proposed
A nomination submitted or under review is a governance attention line, written but withheld from Home until the portal phase.
origin: CMTE-M7 D1 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M7-governance-oversight.md#Decisions)
policyservice, jobdocumented
14must prove
Proposed
Nominations of one association are invisible to another, and only nomination managers make or move one.
no proof recorded yet
permissionapi, databasetest

Scenarios

IdGivenWhenThenProvenance
01A nominee slated for an open board seatThe board carries the slate decision at its meetingThe nominee is elected, takes the seat and the opening fillstest

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.