Skip to content

CAP-CMT-MTG-020Participate in committee work through the member portal

Markdown

CAP-CMT-MTG-020

Participate in committee work through the member portal

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
Participants can locate the gatherings and papers relevant to themPortal answers respect the applicable audienceEligible voters can submit their own asynchronous votes
Surfaces
portalapi
Preconditions
The caller has a portal session linked to a contact, unless using the anonymous public meeting operation.
Intent sources
services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D11services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#N1services-committees:docs/milestones/README.md

Controls

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

Permissions

KeyChecked atScope
committees.portal.participateapitenant

Business Rules

13 rules, 11 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 portal session linked to a contact can read non-draft public and members-visible meetings, while participants-visible meetings require a current committee appointment or meeting participant record; denied reads appear missing.
no proof recorded yet
permissionserviceobserved
02must prove
Proposed
Anonymous public meeting reads return the meeting identity, title, committee name, kind, schedule, time zone, approved textual location fields and status without staff notes or video information.
no proof recorded yet
permissionservicetest
services-committees:modules/meetings/tests/unit/services/public-meeting.spec.ts#shows the public page exactly the allow-listed fields
03must prove
Proposed
Portal meeting responses always omit staff notes and expose video information only to current committee participants or recorded meeting participants.
no proof recorded yet
permissionserviceobserved
04must prove
Proposed
The personal meeting list uses a window ending after it begins, defaulting from today to ninety days ahead.
no proof recorded yet
validationapi, serviceobserved
05must prove
Proposed
A meeting participant may answer their own invitation, while a chair or liaison recorded on that meeting may answer for others or record attendance; ended meetings reject these portal changes.
no proof recorded yet
permissionserviceobserved
06must prove
Proposed
Authenticated portal users see circulated, approved or amended minutes according to minutes visibility, defaulting to the committee’s current participants or the meeting’s recorded participants, and never see draft minutes.
no proof recorded yet
permissionserviceobserved
07must prove
Proposed
The readable decision page supplies the motion, plain-language rule, personal eligibility, recusal and vote, recorded asynchronous votes and the closed tally, while drafts and inaccessible decisions appear missing.
no proof recorded yet
permissionserviceobserved
08must prove
Proposed
Only eligible voters can read a confidential decision through the portal.
no proof recorded yet
permissionserviceobserved
09must prove
Proposed
Portal voting accepts an eligible person’s own appointment once on an open recorded asynchronous decision.
no proof recorded yet
validationserviceobserved
10
Proposed
The personal decision list returns decisions linked to the caller’s eligible appointments in descending creation order, with an optional open-only filter and a voted indicator.
policyserviceobserved
11must prove
Proposed
The product should keep public and portal meeting operations disabled until the portal milestone and review their availability then.
origin: CMTE-M3 D11 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
no proof recorded yet
policydocumented
12
Proposed
The product should reserve meeting, minutes and action-item work for the member portal stage.
origin: CMTE-M3 N1 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
policydocumented
13must prove
Proposed
An invitation response requires an invitation status or attendance value and rejects a target who has no participant record for that meeting.
no proof recorded yet
validationserviceobserved

Scenarios

IdGivenWhenThenProvenance
01A meeting has a voting director, a non-voting adviser and an unrelated portal callerEach requests its participants-visible portal pageThe voting participant can read confidential agenda items, the adviser cannot, and the unrelated caller cannot read the meetingobserved

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.