Skip to content

CAP-CMT-MTG-002Maintain a committee’s recurring meeting schedule

Markdown

CAP-CMT-MTG-002

Maintain a committee’s recurring meeting schedule

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
Regular meeting dates are generated from a shared scheduleRepeating calendar generation creates no duplicate occurrencesSchedule changes affect eligible future meetings
Surfaces
apijob
Preconditions
The owning committee is recorded and has not been dissolved.
Intent sources
services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D3services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D12

Controls

28 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-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

Permissions

KeyChecked atScope
committees.meetings.readapitenant
committees.meetings.manageapitenant

Business Rules

11 rules, 9 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 recurrence supports daily, weekly or monthly frequency, an interval, applicable weekdays or month days, a start hour with optional minutes, either a count or an end date, and excluded dates; unsupported combinations are rejected with an explanation.
✓ Meet at 19:00 on the second Tuesday each month.✗ Request annual recurrence or omit the start hour.
no proof recorded yet
validationapi, servicetest
02must prove
Proposed
A series requires a recognised time zone, a duration from 1 through 1,440 minutes, and an end date on or after its first day when an end is supplied.
no proof recorded yet
validationapi, service, databaseobserved
03must prove
Proposed
An active series generates at most one meeting for each occurrence from the later of today and its first day through eighteen months from today, subject to its end date.
no proof recorded yet
calculationservice, databasetest
services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#creates one meeting per occurrence of the window, on the second Tuesdays
04must prove
Proposed
The daily process generates occurrences for active series in active workspaces and reports failed series while continuing with the others.
no proof recorded yet
lifecycleservicetest
05must prove
Proposed
Changing a series updates the title, time, time zone and duration of its future draft or scheduled occurrences, cancels dates removed from the schedule, and preserves held or cancelled occurrences.
no proof recorded yet
lifecycleservicetest
06must prove
Proposed
The product should create series occurrences as drafts and call them at the committee’s lead time, initially thirty days before, with an option for staff to call them earlier.
origin: CMTE-M3 D3 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
no proof recorded yet
policydocumented
07must prove
Proposed
The product should restore eligible occurrences when a paused series resumes or its end date is extended, after cancelling future occurrences on pause.
origin: CMTE-M3 D12 item 1 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
no proof recorded yet
lifecycledocumented
services-committees:docs/milestones/plans/CMTE-M3-plan.md#D12. Smaller rules to approve as a group
08must prove
Proposed
The product should preserve meetings that staff rescheduled individually when their series changes.
origin: CMTE-M3 D12 item 2 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
no proof recorded yet
policydocumented
services-committees:docs/milestones/plans/CMTE-M3-plan.md#D12. Smaller rules to approve as a group
09must prove
Proposed
Creating a series for a dissolved committee is refused.
no proof recorded yet
validationserviceobserved
10
Proposed
A generated occurrence receives the series’ default physical and video meeting details.
policyserviceobserved
11
Proposed
Staff can generate any missing occurrences in the current window without waiting for the daily process.
policyapiobserved

Scenarios

IdGivenWhenThenProvenance
01A board has a monthly second-Tuesday schedule at 19:00 New York time, lasting ninety minutesStaff save the recurring scheduleOccurrences through the rolling eighteen-month window are created in scheduled statustest
02Occurrences already exist for the current generation windowThe same series is generated againNo additional occurrence is createdtest

Edge Cases

IdGivenWhenThenProvenance
03A Pacific-time Sunday series starts at 02:30 across the spring clock changeThe calendar occurrences are generatedThe missing local hour shifts forward to 03:30; other Sundays start at 02:30test

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.