---
id: JNY-CMT-MTG-002
title: The board approves last meeting’s minutes and later corrects them
feature: FEAT-CMT-MTG-02
product_area: committees
module: meetings
revision: 1
status: draft
product_intent: proposed
implementation_evidence: inconsistent
supersedes:
- react-console acceptance journeys CMT-ACC-0240, 0242, 0342
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
actor: ACT-CMT-002
goal: Have the board approve November’s circulated minutes at its December meeting, and fix a mistake found later without rewriting the record.
capabilities:
- CAP-CMT-MTG-011
- CAP-CMT-MTG-008
- CAP-CMT-MTG-010
screens: []
steps:
- n: 1
  surface: determineMeetingQuorum
  action: At December’s call to order, determine the quorum
  capability: CAP-CMT-MTG-011
  expected: More than half of nine is five; seven are present, 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'
- n: 2
  surface: approveMeetingMinutes
  action: Approve November’s minutes by a voice decision at the December meeting
  capability: CAP-CMT-MTG-008
  expected: An approval decision carries and the minutes become approved
  provenance: test
  source: services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#approves the circulated minutes at November’s meeting by a voice decision of kind approval
- n: 3
  surface: getMeetingMinutes
  action: Read the approved minutes
  capability: CAP-CMT-MTG-008
  expected: They keep the fingerprint they were circulated with
  provenance: test
  source: services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#keeps the circulated hash on the approved minutes
- n: 4
  surface: listDecisions
  action: Find the approval in the register
  capability: CAP-CMT-MTG-013
  expected: The approval decision is listed with its number and outcome
  provenance: test
  source: react-console:acceptance/committees/playwright/journeys/decisions/CMT-ACC-0342.spec.ts#CMT-ACC-0342
- n: 5
  surface: correctMeetingMinutes
  action: Start a correction when a misspelt name is found
  capability: CAP-CMT-MTG-008
  expected: A new draft revision supersedes the approved minutes
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#starts a correction as the next revision, superseding them
- n: 6
  surface: approveMeetingMinutes
  action: Circulate and approve the correction
  capability: CAP-CMT-MTG-008
  expected: The correction is approved and the original reads amended
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#approves the correction and marks the original amended
alternates:
- from_step: 2
  condition: The committee’s rules need no approval vote
  path: The chair approves the minutes directly
  outcome: The minutes are approved, recorded as the chair’s, with no decision
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#approves them with no decision, recorded as the chair’s
failures:
- from_step: 2
  condition: The staff member lacks the minutes-approval permission
  path: The approval is refused as forbidden
  outcome: The minutes stay circulated
  provenance: test
  source: services-committees:modules/decisions/tests/e2e/decisions.e2e.spec.ts#refuses minutes approval to a caller without committees.minutes.manage, 403
- from_step: 2
  condition: The minutes were never circulated
  path: The approval is refused
  outcome: The minutes stay a draft
  provenance: observed
  source: services-committees:modules/decisions/services/minutes/minutes-approval.ts:approveMeetingMinutes
rules_in_play:
- BR-CAP-CMT-MTG-011-11
- BR-CAP-CMT-MTG-008-01
- BR-CAP-CMT-MTG-008-02
- BR-CAP-CMT-MTG-008-04
- BR-CAP-CMT-MTG-008-05
- BR-CAP-CMT-MTG-008-06
- BR-CAP-CMT-MTG-008-08
assertions:
- id: AS-JNY-CMT-MTG-002-01
  statement: Approved minutes carry the fingerprint they were circulated with and refuse every later change.
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#refuses any change of approved minutes
- id: AS-JNY-CMT-MTG-002-02
  statement: The approval names the decision that approved it.
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#names the approving decision on the minutes
- id: AS-JNY-CMT-MTG-002-03
  statement: Every participant of the November meeting is told the minutes were approved.
  provenance: test
  source: services-committees:modules/decisions/tests/integration/services/consequences.integration.spec.ts#tells the meeting’s participants they were approved
e2e_policy: required
e2e_reason: It crosses meetings, decisions and minutes approval, and the decisions end-to-end suite already drives it against the API; Product decided that approval waits for the decisions milestone, so the journey proves today’s behaviour.
---

# The board approves last meeting’s minutes and later corrects them

## Story

At the December board meeting the chair calls the meeting to order and the secretary records that seven of nine directors are present, which makes a quorum. The board approves November’s circulated minutes by voice, and the approval becomes a numbered decision in the register; the minutes now keep the exact text the directors read. In February a director notices a misspelt name. The secretary starts a correction, which is a new revision of the minutes; she fixes the name, circulates it and the board approves it, after which the original minutes read amended but remain on record. Product decided that approval belongs to the decisions milestone; this journey records what the product already does.
