Skip to content

JNY-CMT-MTG-003A board votes on motions that change its roster, and later rescinds one

Markdown

JNY-CMT-MTG-003

A board votes on motions that change its roster, and later rescinds one

Markdown
  • DocumentDraft
  • Product intentProposed
  • ImplementationObserved

KindJourneyProduct areaCommitteesModuleMeetings, Decisions and RecruitmentRevision1End-to-endRequired

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
Record the board’s roll call to appoint a treasurer, let the result take effect, and undo it later by a rescission.

Steps

#SurfaceActionCapabilityExpectedProvenance
1createDecisionDraft an appointment motion naming the new treasurerCAP-CMT-MTG-010A draft with no numbertest
2openDecisionOpen it when it is movedCAP-CMT-MTG-010It takes the committee’s first number of the year and freezes its voterstest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#opens the roll call with the committee’s first number
3recordDecisionVoteRecord the seven roll-call votesCAP-CMT-MTG-010Each vote is recorded oncetest
4closeDecisionClose the motionCAP-CMT-MTG-011It carries six to one with its arithmetictest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#carries the roll call 6 to 1, with its arithmetic
5closeDecisionSee the appointment madeCAP-CMT-MTG-012The treasurer’s appointment exists, naming the decisiontest
6listDecisionsFind the meeting’s decisions in the registerCAP-CMT-MTG-013The September meeting’s carried decisions are listedtest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#lists the three carried decisions of the September meeting
7rescindDecisionRescind the appointment months later and carry the rescissionCAP-CMT-MTG-012The appointment ends as rescinded and the original is supersededtest
services-committees:modules/decisions/tests/integration/services/rescission.integration.spec.ts#ends the appointment the original made that day, naming the rescission

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate4The vote is tied under rules where the chair votes only to break tiesThe close waits until the chair votesThe motion carries or fails on the chair’s votetest
failure3A member’s vote is recorded twiceThe second vote is refusedOne vote per membertest
services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#refuses a second vote by the same member with 409, already_voted
failure5The motion would remove a member who has already resignedThe close is refused and the decision stays openThe resignation stands as recordedtest

Assertions

IdStatementProvenance
01The carried decision records the appointment it made and the appointment names the decision.test
02After the rescission carries the original is superseded, keeping its number and text.test
03The rescinded appointment is ended once and never duplicated.test

End-to-end policy: required: A carried decision changes another module’s roster in the same step, so the path must be proved end to end; the decisions suites and acceptance journeys already do so 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.