Skip to content

CAP-CMT-MTG-001Schedule a committee meeting and preserve its outcome

Markdown

CAP-CMT-MTG-001

Schedule a committee meeting and preserve its outcome

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationInconsistent

KindCapabilityProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision2

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
A committee has a dated meeting record with its location and current standingCompleted and cancelled meetings retain their meeting detailsDissolution stops later draft and scheduled gatherings
Surfaces
apijob
Preconditions
The owning committee is present and has not been dissolved.
Postconditions
Closing leaves a held meeting with a final agenda and a draft minutes record if one is needed.
Intent sources
services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D12services-committees:docs/milestones/plans/CMTE-M3-plan.md#4. Assumptionsservices-committees:docs/milestones/CMTE-M1-committees-seats-and-rosters.md#D5

Controls

29 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-DAT-004 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

16 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 draft meeting can be scheduled or cancelled, a scheduled meeting can return to draft, start or be cancelled, and an in-progress meeting can close or be cancelled; closing also accepts a scheduled meeting, while held and cancelled statuses have no successor.
✓ Staff return a scheduled gathering to draft.✗ Staff try to reschedule a gathering already recorded as held.
no proof recorded yet
lifecycleapi, serviceobserved
02must prove
Proposed
A meeting is refused without being saved unless its end follows its start and its time zone is recognised.
✓ Staff save a ninety-minute evening meeting in the New York time zone.✗ Staff submit a meeting whose start and end coincide.
no proof recorded yet
validationapi, serviceobserved
03must prove
Proposed
New meetings are refused for dissolved committees.
no proof recorded yet
validationserviceobserved
04must prove
Proposed
Held and cancelled meetings reject staff edits to their meeting details.
no proof recorded yet
invariantserviceobserved
05must prove
Proposed
A staff change is refused when it supplies a meeting version older than the saved version.
no proof recorded yet
policyapi, servicetest
06must prove
Proposed
Closing a scheduled or in-progress meeting leaves it held with a final agenda and ordinarily frozen participants and attendance, creating an empty minutes draft only when no minutes exist.
no proof recorded yet
lifecycleapi, serviceobserved
07must prove
Proposed
Cancellation of an unfinished meeting retains any supplied reason in its notes and requests cancellation of a video room already recorded for it.
no proof recorded yet
lifecycleapi, serviceobserved
08must prove
Proposed
Dissolving a committee ends its active and paused series and cancels its later draft and scheduled meetings without notices, using each meeting’s local date and retaining on-date, earlier, in-progress and ended meetings.
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
lifecycleserviceobserved
09must prove
Proposed
A meeting may link to its continuation but cannot select itself.
no proof recorded yet
validationservice, databaseobserved
10must prove
Proposed
The product should restrict a continuation to a later meeting of the original committee.
origin: CMTE-M3 D12 item 5 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
no proof recorded yet
validationdocumented
services-committees:docs/milestones/plans/CMTE-M3-plan.md#D12. Smaller rules to approve as a group
11
Proposed
The committee’s meeting list is paged in descending start order.
policyapi, serviceobserved
12must prove
Proposed
Bulk insert and upsert definitions call the same meeting and series persistence services as ordinary writes, so each newly created meeting receives a roster snapshot.
no proof recorded yet
policyserviceobserved
13
Proposed
Database version records retain each meeting change and its author, although staff have no history route or screen.
invariantdatabaseobserved
14
Proposed
Meeting records have no custom-field values.
origin: CMTE-M3 plan A10 (R2-ARCH-001, Andrew 2026-10-19)
policyapidocumented
15must prove
Proposed
Meeting requests reject blank titles, unsupported kinds or visibility, instants without offsets, disallowed statuses and fields outside the declared request shape.
no proof recorded yet
validationapiobserved
16must prove
Proposed
A continuation reference is refused unless it identifies an existing meeting in the current workspace.
no proof recorded yet
validationservice, databaseobserved

Scenarios

IdGivenWhenThenProvenance
01The Finance Committee has a November meeting in draftA meeting manager schedules itCalling the meeting initiates participant notices and requests a room if its video settings ask for oneobserved
02A meeting is already recorded as heldA staff member submits a different meeting titleThe meeting-detail edit is rejected because the meeting has endedobserved

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.