Skip to content

CAP-CMT-MTG-017Forecast who leaves and draft openings for their seats

Markdown

CAP-CMT-MTG-017

Forecast who leaves and draft openings for their seats

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

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
Vacancies known before they happenTerm limits visible before reappointmentOpenings drafted once per seat
Surfaces
api
Intent sources
services-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#D8

Controls

23 controls apply, from the corpus control catalogue.

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-PI-001 TC-PI-003 TC-PI-005 TC-PRV-001 TC-PRV-002

Permissions

KeyChecked atScope
committees.openings.readapitenant
committees.openings.manageapitenant

Business Rules

7 rules, 6 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
The forecast lists current seat-holders whose last day, the earlier of their own end and their term’s end unless extended, falls from today through the chosen number of months, 1 to 60 with 12 by default.
no proof recorded yet
calculationapi, servicetest
02must prove
Proposed
A holder is marked term-limited when their consecutive run, the current appointment included, already reaches the limit.
no proof recorded yet
calculationservicetest
services-committees:modules/recruitment/tests/unit/services/forecast-rule.spec.ts#forecasts Lee: ending 2026-12-31, term-limited after two consecutive terms, Sam to succeed him
03must prove
Proposed
A successor is planned when an appointment to the same seat, or to the same committee and position without a seat, starts within 31 days after the holder’s last day and is neither pending nor declined.
no proof recorded yet
calculationservicetest
04must prove
Proposed
Staff liaisons, pending appointments and open-ended appointments are never forecast.
no proof recorded yet
calculationservicetest
services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#forecasts neither the staff liaison, nor Riley’s pending appointment, nor the already vacant Eastern Region seat
05must prove
Proposed
Drafting from the forecast makes one draft opening per chosen holder whose seat has no draft or open opening, names those skipped, and needs at least one holder chosen.
no proof recorded yet
validationservicetest
services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#skips a holder whose seat already has an opening, making none twice
06must prove
Proposed
Today two holders of one position on a committee without seats get two draft openings for the same position in one request.
no proof recorded yet
calculationservicetest
07
Proposed
Reading the forecast tells nobody; no term-ending notice is sent.
origin: CMTE-M1 D8 (Andrew 2026-10-19 17:57 ET, services-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#Decisions)
policyservicetest
services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#sends no term-ending notice for the fixtures’ appointments (D8): the forecast is read, nobody is told

Scenarios

IdGivenWhenThenProvenance
01A director in a second term ending 31 December with a successor appointed from 1 JanuaryStaff read the forecastThe director is listed as term-limited with the successor planned and no opening yettest
services-committees:modules/recruitment/tests/integration/services/openings.integration.spec.ts#forecasts Lee’s second director term: ending 2026-12-31, term-limited, Sam to succeed him, no opening yet

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.