Skip to content

JNY-CMT-MTG-004A member weighs a conflict and votes on an e-mail motion from the portal

Markdown

JNY-CMT-MTG-004

A member weighs a conflict and votes on an e-mail motion from the portal

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationPartially observed

KindJourneyProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision1End-to-endOptional

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.

Goal
Vote on the board’s e-mail motion about a supplier contract, standing aside where a disclosed interest makes that right.

Steps

#SurfaceActionCapabilityExpectedProvenance
1runDecisionsDailyThe year’s disclosure is opened and the member told it is dueCAP-CMT-MTG-014One disclosure per voting member for the yeartest
2listMyDisclosuresThe member sees the disclosure due and by whenCAP-CMT-MTG-014The disclosure shows its due datetest
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#shows the member their disclosure due, and by when, in the portal
3committees_submission_decisionsSubmissions accepts the member’s disclosure naming their firmCAP-CMT-MTG-014The disclosure is accepted with the firm among its intereststest
4listDecisionRecusalsStaff see the member suggested for recusal on the contract voteCAP-CMT-MTG-015The suggestion names the firmtest
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#suggests the voter whose accepted disclosure names the decision’s linked organization, and why
5recordPortalRecusalThe member recuses from the contract vote in the portalCAP-CMT-MTG-015The recusal is recorded and the member can no longer vote on ittest
6castPortalVoteA colleague votes on the e-mail motion in the portalCAP-CMT-MTG-020The vote is recorded oncetest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#records the voter’s own vote through the portal
7runDecisionsHourlyThe motion closes itself after its closing timeCAP-CMT-MTG-010It is closed with its result, the job as recordertest
8getPortalDecisionThe members read the result and its arithmeticCAP-CMT-MTG-020The tally and explanation are showntest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#shows the tally and its explanation after the close

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4The member’s disclosure is not yet acceptedNo suggestion is madeThe member may still recuse on their owntest
services-committees:modules/decisions/tests/integration/services/disclosures.integration.spec.ts#suggests nobody for a disclosure naming it that is not yet accepted
failure6The colleague votes a second timeThe second vote is refusedOne vote standstest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#refuses the voter a second vote with 409, already_voted
failure1Submissions cannot be reached when staff start the disclosure formThe request is refused saying soThe disclosure stays owedtest

Assertions

IdStatementProvenance
01A recused member’s vote is refused.test
02Only staff holding the disclosures permission see the suggestion.test
services-committees:modules/decisions/tests/integration/api/recusal-confidentiality.integration.spec.ts#shows the bookkeeper an open decision’s recusals without suggestions
03The hourly sweep closes the motion once and reminds nothing more on its next run.test

End-to-end policy: optional: The portal is not built and the Submissions intake is a stand-in, so a full browser journey cannot run; the service suites prove each hop against the API.

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.