---
id: CAP-CMT-MTG-011
title: Judge quorum and outcome by the committee’s own rules
feature: FEAT-CMT-MTG-03
product_area: committees
module: meetings
revision: 1
status: draft
product_intent: proposed
implementation_evidence: inconsistent
supersedes:
- react-console acceptance inventory CAP-CMT-MTG-015
- react-console acceptance journeys CMT-ACC-0224, 0322, 0323, 0330, 0331, 0340, 0363
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
- services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D6
purpose: Every quorum and every result is worked out from the committee’s own bylaw rules, with arithmetic a member can check.
outcomes:
- Results that follow the association’s bylaws
- Arithmetic explained in plain sentences
- A meeting’s quorum recorded as people arrive
concepts:
- CON-CMT-MTG-003
actors:
- ACT-CMT-002
- ACT-CMT-009
- ACT-CMT-011
surfaces:
- api
preconditions: []
postconditions: []
permissions:
- key: committees.meetings.manage
  where_checked: api
  scope: tenant
rules:
- id: BR-CAP-CMT-MTG-011-01
  statement: The rules in force are the committee’s own document, else its type’s, else Robert’s Rules defaults, and a body whose document is empty is still judged under those defaults.
  kind: policy
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/rules-source.integration.spec.ts#opens the empty document’s decision under Robert’s Rules defaults (premise)
  origin: none
- id: BR-CAP-CMT-MTG-011-02
  statement: Under Robert’s Rules defaults a quorum is more than half the voting seats, a motion carries by more than half the votes cast, and a removal or a bylaw amendment needs two thirds of the voting seats.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: observed
  source: services-committees:lib/governance/decision-rules.ts:ROBERTS_RULES_DEFAULTS
  origin: none
- id: BR-CAP-CMT-MTG-011-03
  statement: A decision is judged by its named threshold, else the rules’ threshold for its kind, else the default, chosen when it opens; a named threshold the rules lack is refused at opening.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/removal-threshold.integration.spec.ts#snapshots the rules’ removal threshold when it opens
  origin: none
- id: BR-CAP-CMT-MTG-011-04
  statement: For a fraction of a number, “more than” needs the whole part of the product plus one and “at least” its round-up; for a count, “more than” needs one more than the count; nothing ever needs fewer than one.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: observed
  source: services-committees:lib/governance/decision-engine.ts
  origin: none
  examples:
    positive: More than half of nine is five; at least two thirds of nine is six.
    negative: 'No quorum of nobody: a rule never requires zero.'
- id: BR-CAP-CMT-MTG-011-05
  statement: At a meeting the voters present when the decision opened, in person or by proxy and recused members included, must reach the quorum; otherwise it ends without quorum whatever the votes.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: observed
  source: services-committees:lib/governance/decision-engine.ts
  origin: none
- id: BR-CAP-CMT-MTG-011-06
  statement: An e-mail vote has no quorum unless the rules name a basis for one, measured against those who voted.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#carries an asynchronous recorded vote of 3 to 0 cast in the portal, without a quorum
  origin: none
- id: BR-CAP-CMT-MTG-011-07
  statement: Abstentions are left out of the votes cast unless the rules count them as votes against, and a “present” vote is an abstention.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: observed
  source: services-committees:lib/governance/decision-engine.ts
  origin: none
- id: BR-CAP-CMT-MTG-011-08
  statement: Recused members leave every count when the rules treat them as not eligible, or stay in as non-voters when the rules count them absent.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#carries 6 of the 9 eligible when the recused are not eligible
  origin: none
- id: BR-CAP-CMT-MTG-011-09
  statement: The chair’s vote counts always, never, or only to break a tie, and a tie the chair must break cannot close until they vote.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#refuses to close a tie the chair has not broken, 409 chair_must_break_tie
  origin: none
- id: BR-CAP-CMT-MTG-011-10
  statement: A tally’s counts are judged as votes are, a chair’s declaration alone is the result, and unanimous consent carries when nobody objects.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#carries a consent item nobody objected to
  origin: none
- id: BR-CAP-CMT-MTG-011-11
  statement: The chair can determine a scheduled, in-progress or held meeting’s quorum from the voting roster on its date and the attendance now, recording the number required, whether it is met and the arithmetic on the meeting, and determine it again as people arrive.
  kind: calculation
  enforced_at:
  - api
  - service
  must_prove: true
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#finds more than half of the nine (5) met by the five present
  origin: none
- id: BR-CAP-CMT-MTG-011-12
  statement: In the meetings milestone attendance shows only live counts, with no quorum verdict; the quorum rule and the chair’s determination arrive with the decisions milestone.
  kind: policy
  enforced_at:
  - service
  must_prove: true
  provenance: documented
  source: services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions
  origin: CMTE-M3 D6 (Andrew 2026-10-21, services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
- id: BR-CAP-CMT-MTG-011-13
  statement: Today a member who is present and also holds another member’s proxy is counted only as the proxy, not as present themselves.
  kind: calculation
  enforced_at:
  - service
  must_prove: true
  provenance: observed
  source: services-committees:modules/decisions/services/persistence/voting-rosters.ts:attendanceAt
  origin: none
- id: BR-CAP-CMT-MTG-011-14
  statement: Every result is explained in plain sentences a member can check.
  kind: policy
  enforced_at:
  - service
  must_prove: false
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/decisions.integration.spec.ts#carries a roll call of 6 to 1 with its arithmetic
  origin: none
scenarios:
- id: SC-CAP-CMT-MTG-011-01
  given: A board of nine under Robert’s Rules with seven present
  when: The chair determines the quorum at the call to order
  then: More than half of nine is five, so the quorum is met
  provenance: test
  source: 'services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#determines the quorum at the call to order: more than half of nine is five, seven present'
edge_cases: []
constraints: []
depends_on:
- CAP-CMT-MTG-003
related:
- CAP-CMT-MTG-010
- CAP-CMT-MTG-015
journeys:
- JNY-CMT-MTG-002
- JNY-CMT-MTG-003
open_questions:
- OQ-CMT-MTG-005
evidence:
- 'services-committees at 36129c24: decision engine and rule document, quorum determination, voting rosters, decisions persistence, CMTE-M3 record and plan'
- 'react-console at baf6dae3: acceptance inventory CAP-CMT-MTG-015 and the quorum and threshold journeys cited'
controls:
  - 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-PI-001
  - TC-PI-003
  - TC-PI-005
  - TC-PRV-001
  - TC-PRV-002
---

# Judge quorum and outcome by the committee’s own rules

## Purpose

Every quorum and every result is worked out from the committee’s own bylaw rules, with arithmetic a member can check.

## How It Works

Each committee’s bylaws are held as a rule document on its committee type, which the committee may override: the quorum, the default threshold and thresholds for particular kinds of decision, how abstentions and recusals count, when the chair votes, whether proxies may vote, whether e-mail votes are allowed and how minutes are approved. A committee with no document of its own is judged under Robert’s Rules defaults. When a decision closes, the rules frozen with it decide whether a quorum was present, how many votes it needed and whether it carried, and the arithmetic is written out in sentences a member can check. A tie the rules leave to the chair waits for the chair’s vote. During a meeting the chair can also determine whether a quorum is present, from the roster on the meeting’s date and the attendance recorded so far, and determine it again as people arrive. Product decided that in the meetings milestone attendance shows only counts, with the verdict arriving with the decisions milestone. Today a present member who holds another’s proxy stops counting as themselves, which the product should correct.

## Relationships

- Relates to `CAP-CMT-MTG-003` because attendance and proxies are the basis of the quorum.
- Relates to `CAP-CMT-MTG-010` because every close is judged here.
- Relates to `CAP-CMT-MTG-015` because the rules decide how a recusal counts.
