---
id: RESP-CMT
title: Committees Responsibilities
product_area: committees
revision: 1
status: draft
design_intent: proposed
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
modules:
  - module: MOD-CMT-CMT
    owns:
      - DOM-CMT-CMT-001
      - DOM-CMT-CMT-002
      - DOM-CMT-CMT-003
      - DOM-CMT-CMT-004
      - DOM-CMT-CMT-005
    exposes:
      operations:
        - getCommitteesHealth
        - listCommitteeTypes
        - createCommitteeType
        - getCommitteeType
        - updateCommitteeType
        - deleteCommitteeType
        - listPositions
        - createPosition
        - getPosition
        - updatePosition
        - deletePosition
        - getCommitteeSettings
        - updateCommitteeSettings
        - listCommittees
        - createCommittee
        - getCommittee
        - updateCommittee
        - deleteCommittee
        - getCommitteeHistory
        - getCommitteeVacancies
        - getCommitteeEffectiveProfile
        - getCommitteeHierarchy
        - getCommitteeAuditRoster
        - dissolveCommittee
        - listCommitteeRecordLinks
        - createCommitteeRecordLink
        - deleteCommitteeRecordLink
        - listRecordLinkedCommittees
        - listCommitteeTerms
        - createCommitteeTerm
        - getCommitteeTerm
        - updateCommitteeTerm
        - deleteCommitteeTerm
        - getSeatsHealth
        - listCommitteeSeats
        - createCommitteeSeat
        - defineSeatsFromRoster
        - getCommitteeSeat
        - getCommitteeSeatHistory
        - updateCommitteeSeat
        - deleteCommitteeSeat
        - retireCommitteeSeat
        - suspendCommitteeSeat
        - reactivateCommitteeSeat
        - getAppointmentsHealth
        - listCommitteeAppointments
        - appointToCommittee
        - bulkAppointments
        - getBulkAppointmentsJob
        - getAppointment
        - getAppointmentHistory
        - updateAppointment
        - endAppointment
        - extendAppointment
        - vacateAppointment
        - acceptAppointment
        - declineAppointment
        - listContactAppointments
        - listMyAppointments
        - acceptMyAppointment
        - declineMyAppointment
        - getPortalCommittee
        - getPortalRoster
        - getAuthorityHealth
        - listAuthorityRules
        - createAuthorityRule
        - getAuthorityRule
        - updateAuthorityRule
        - deleteAuthorityRule
        - getContactAuthority
        - reconcileAuthority
      events:
        - committees.committee.created
        - committees.committee.dissolved
        - committees.seat.changed
        - committees.appointment.created
        - committees.appointment.accepted
        - committees.appointment.declined
        - committees.appointment.started
        - committees.appointment.ended
        - committees.appointment.changed
        - committees.term.served
    delegates:
      - concern: >-
          Permission decisions, role descriptions and grants; derived access
          changes use Platform’s owning function.
        to: MOD-PFM-SEC
      - concern: >-
          Shared custom-field definitions, form configuration and record layouts
          for committee records.
        to: MOD-PFM-MTD
      - concern: >-
          Staff attention publication, audience responsibility and placement on
          Home.
        to: MOD-PFM-ELG
      - concern: 'Report definitions, reusable query recipes and datasets.'
        to: MOD-PFM-QRY
      - concern: Durable background execution and stalled-job reconciliation.
        to: MOD-PFM-OPS
      - concern: >-
          Data-loading infrastructure; governance operations are declared but
          its engine is not adopted.
        to: MOD-PFM-DJE
      - concern: Communication delivery; offer email is disabled.
        to: MOD-PFM-NOT
      - concern: 'Console navigation, shared application shell and Home.'
        to: MOD-PFM-CSH
      - concern: Provisioning the initial governance records for a workspace.
        to: MOD-PFM-TNL
      - concern: Shared persistence and database-maintained temporal record history.
        to: Platform standard (persistence and record history)
      - concern: >-
          Person, organization and affiliation facts, with CRM coordinating
          contact consolidation.
        to: MOD-CRM-ENT and MOD-CRM-DQ
      - concern: >-
          Unit structure, membership qualification and the upstream
          membership-termination event.
        to: MOD-MBR-STR and MOD-MBR-MEM
      - concern: >-
          Meetings, decisions and recruitment records affected by committee
          closure.
        to: MOD-CMT-MTG
    guarantees:
      - INV-DOM-CMT-CMT-001-01
      - INV-DOM-CMT-CMT-001-02
      - INV-DOM-CMT-CMT-001-03
      - INV-DOM-CMT-CMT-001-04
      - INV-DOM-CMT-CMT-001-05
      - INV-DOM-CMT-CMT-001-06
      - INV-DOM-CMT-CMT-001-07
      - INV-DOM-CMT-CMT-001-08
      - INV-DOM-CMT-CMT-001-09
      - INV-DOM-CMT-CMT-001-10
      - INV-DOM-CMT-CMT-001-11
      - INV-DOM-CMT-CMT-002-01
      - INV-DOM-CMT-CMT-002-02
      - INV-DOM-CMT-CMT-002-03
      - INV-DOM-CMT-CMT-002-04
      - INV-DOM-CMT-CMT-002-05
      - INV-DOM-CMT-CMT-002-06
      - INV-DOM-CMT-CMT-002-07
      - INV-DOM-CMT-CMT-002-08
      - INV-DOM-CMT-CMT-003-01
      - INV-DOM-CMT-CMT-003-02
      - INV-DOM-CMT-CMT-003-03
      - INV-DOM-CMT-CMT-003-04
      - INV-DOM-CMT-CMT-003-05
      - INV-DOM-CMT-CMT-003-06
      - INV-DOM-CMT-CMT-003-07
      - INV-DOM-CMT-CMT-003-08
      - INV-DOM-CMT-CMT-003-09
      - INV-DOM-CMT-CMT-003-10
      - INV-DOM-CMT-CMT-003-11
      - INV-DOM-CMT-CMT-004-01
      - INV-DOM-CMT-CMT-004-02
      - INV-DOM-CMT-CMT-004-03
      - INV-DOM-CMT-CMT-004-04
      - INV-DOM-CMT-CMT-004-05
      - INV-DOM-CMT-CMT-004-06
      - INV-DOM-CMT-CMT-004-07
      - INV-DOM-CMT-CMT-004-08
      - INV-DOM-CMT-CMT-005-01
      - INV-DOM-CMT-CMT-005-02
      - INV-DOM-CMT-CMT-005-03
      - INV-DOM-CMT-CMT-005-04
      - INV-DOM-CMT-CMT-005-05
      - INV-DOM-CMT-CMT-005-06
      - INV-DOM-CMT-CMT-005-07
      - INV-DOM-CMT-CMT-005-08
  - module: MOD-CMT-MTG
    owns:
      - DOM-CMT-MTG-001
      - DOM-CMT-MTG-002
      - DOM-CMT-MTG-003
      - DOM-CMT-MTG-004
      - DOM-CMT-MTG-005
      - DOM-CMT-MTG-006
    exposes:
      operations:
        - getMeetingsHealth
        - listCommitteeMeetings
        - createMeeting
        - getMeeting
        - updateMeeting
        - listMeetingParticipants
        - addMeetingParticipant
        - updateMeetingParticipant
        - recordMeetingAttendance
        - getMeetingAgenda
        - replaceMeetingAgendaOrder
        - addAgendaItem
        - updateAgendaItem
        - deleteAgendaItem
        - deferAgendaItem
        - listMeetingMaterials
        - addMeetingMaterial
        - deleteMeetingMaterial
        - publishMeetingAgenda
        - publishMeetingPacket
        - closeMeeting
        - cancelMeeting
        - getMeetingCalendar
        - getMeetingMinutes
        - saveMeetingMinutes
        - assembleMeetingMinutes
        - circulateMeetingMinutes
        - revertMeetingMinutes
        - listMeetingItemNotes
        - addMeetingItemNote
        - listMeetingActionItems
        - proposeMeetingActionItem
        - acceptMeetingActionItem
        - dismissMeetingActionItem
        - determineMeetingQuorum
        - approveMeetingMinutes
        - correctMeetingMinutes
        - listCommitteeSeries
        - createMeetingSeries
        - getMeetingSeries
        - updateMeetingSeries
        - materializeMeetingSeries
        - listMyMeetings
        - getPortalMeeting
        - answerMeetingInvitation
        - getPortalMeetingMinutes
        - issueCalendarFeedToken
        - getPersonalCalendarFeed
        - getDirectoryMeeting
        - getDecisionsHealth
        - listDecisions
        - createDecision
        - getDecision
        - openDecision
        - tableDecision
        - withdrawDecision
        - recordDecisionVote
        - recordDecisionTally
        - closeDecision
        - amendDecision
        - rescindDecision
        - listDecisionRecusals
        - recordDecisionRecusal
        - getPortalDecision
        - castPortalVote
        - recordPortalRecusal
        - listMyDecisions
        - applyCertifiedElection
        - listConflictDisclosures
        - getConflictDisclosure
        - requestConflictDisclosure
        - listMyDisclosures
        - getRecruitmentHealth
        - listCommitteeOpenings
        - createCommitteeOpening
        - createOpeningsFromForecast
        - getCommitteeOpening
        - updateCommitteeOpening
        - publishCommitteeOpening
        - closeCommitteeOpening
        - cancelCommitteeOpening
        - listCommitteeOpeningInterests
        - getVacancyForecast
        - listCommitteeNominations
        - createCommitteeNomination
        - getCommitteeNomination
        - updateCommitteeNomination
        - slateCommitteeNomination
        - declineCommitteeNomination
        - withdrawCommitteeNomination
        - listCommitteeOpeningAlternates
        - listPortalOpenings
        - expressOpeningInterest
        - portalNominate
        - listPublicOpenings
        - getPublicOpening
        - >-
          query datasets committees.meetings, committees.attendance,
          committees.minutes, committees.action_items, committees.decisions,
          committees.votes, committees.openings, committees.nominations and
          committees.disclosures
        - >-
          data operations insert and upsert of committees.meeting_series and
          committees.meetings
        - >-
          database function committees.submission_reviewer_conflicts (for
          Submissions)
      events:
        - committees.meeting.scheduled
        - committees.meeting.updated
        - committees.meeting.cancelled
        - committees.meeting.agenda_published
        - committees.meeting.packet_published
        - committees.meeting.closed
        - committees.minutes.circulated
        - committees.minutes.approved
        - committees.decision.opened
        - committees.decision.closed
        - committees.opening.published
        - committees.opening.closed
    delegates:
      - concern: >-
          Committee definitions and types, effective rules and settings, seats,
          terms, appointments and dated rosters.
        to: MOD-CMT-CMT
      - concern: >-
          Staff Home conditions for core committee data and the standard
          committee reports.
        to: MOD-CMT-CMT
      - concern: >-
          People and organizations, contact addresses and contact identity
          merges.
        to: MOD-CRM-ENT
      - concern: >-
          The future CRM task created from accepted meeting follow-up; the
          production task port is unavailable.
        to: MOD-CRM-ACT
      - concern: >-
          Forms and review decisions for declarations, nominations, seat
          applications and appointment proposals.
        to: MOD-SUB-SUB
      - concern: 'Shared communication submission, template selection and delivery.'
        to: MOD-PFM-NOT
      - concern: >-
          Managed packet and minutes content, plus the declared configurable
          nomination-field capability.
        to: MOD-PFM-MTD
      - concern: >-
          Shared attention delivery and responsibility audiences; the three
          governance definitions are withheld.
        to: MOD-PFM-ELG
      - concern: 'Query execution, recipes and exported dataset results.'
        to: MOD-PFM-QRY
      - concern: The video capability gateway and event subscriber registration.
        to: MOD-PFM-INT
      - concern: >-
          Permission evaluation, signed caller context and member
          authentication.
        to: MOD-PFM-SEC
      - concern: Execution of declared meeting and series bulk data operations.
        to: MOD-PFM-DJE
      - concern: >-
          Workspace lifecycle orchestration for provisioning, reset and
          deletion.
        to: MOD-PFM-TNL
      - concern: The future secret-election process and certified results.
        to: Surveys & Voting (no product area registered)
      - concern: The future volunteer opportunity referenced by recruitment.
        to: Volunteers (no product area registered)
      - concern: The member-facing portal runtime and public website.
        to: MOD-WEB-WEB
      - concern: >-
          The shared record-history standard; this module currently declares its
          own core version records.
        to: 'Platform record history, when adopted'
      - concern: 'No inference responsibility: the inspected module makes no model call.'
        to: none
    guarantees:
      - INV-DOM-CMT-MTG-001-02
      - INV-DOM-CMT-MTG-001-03
      - INV-DOM-CMT-MTG-001-07
      - INV-DOM-CMT-MTG-001-11
      - INV-DOM-CMT-MTG-002-05
      - INV-DOM-CMT-MTG-002-06
      - INV-DOM-CMT-MTG-003-01
      - INV-DOM-CMT-MTG-003-05
      - INV-DOM-CMT-MTG-003-09
      - INV-DOM-CMT-MTG-003-11
      - INV-DOM-CMT-MTG-004-01
      - INV-DOM-CMT-MTG-004-05
      - INV-DOM-CMT-MTG-005-03
      - INV-DOM-CMT-MTG-005-04
      - INV-DOM-CMT-MTG-006-03
      - INV-DOM-CMT-MTG-006-05
evidence:
  - >-
    services-committees at 36129c24: aws/committees.service.ts,
    committees.events.ts, committees.attention.ts,
    committees.responsibilities.ts, committees.metadata.ts;
    modules/{committees,seats,appointments,authority}; lib/record-merge;
    docs/cross-service-functions.md
  - 'react-console at baf6dae3: components/committees; lib/committees'
  - >-
    services-committees at 36129c24: modules/meetings, modules/decisions,
    modules/recruitment; aws/committees.*.ts;
    modules/tenant-lifecycle/participants.ts;
    lib/record-merge/committees-references.ts
  - >-
    react-console at baf6dae3: app/(console)/console/[tenantId]/committees (no
    page for this module's records)
---

# Committees Responsibilities

## How the Product Area Is Divided

The governing-body module keeps committees, their places, dated participation and resulting authority. The adjacent meetings and recruitment module owns the work those bodies conduct. Committee closure coordinates the neighboring module’s changes through its owning functions within the closure transaction.

## Committees, Seats, Appointments and Authority

Four service modules share responsibility for this module’s five domain objects. Committees owns bodies, configuration, terms and links; Seats owns persistent places and their reservation rules; Appointments owns recorded participation, computed service, published roster functions and date-driven processing; Authority owns mappings, derived-assignment records and repair. The exposed surface includes their declared HTTP operations and business events, while published roster and contact-merge functions remain separate integrations.

The structured guarantees cite the domain invariants and their actual enforcement boundaries. Ordinary service changes commit with selected access, event and enabled attention consequences, while lapse publication and SQL contact merge follow explicit exceptions. Individual staff writes normally serialize on the body, but scheduled and batch work uses the locks described in its own contracts. Seat conversion also performs direct internal writes, an ownership exception still awaiting architectural review.

## Meetings, Decisions and Recruitment

Six concepts define this module: meetings, minutes, decisions, conflict disclosures, openings and nominations. Each has an owning service, while related facets such as participants, papers, votes, interests and review delivery work remain within those concepts. Three source services share a database boundary where one business step changes several of them.

The service contracts expose staff administration, member participation and filtered public reads, plus query datasets and bulk meeting operations. The module owns four Submissions subject kinds and a review receiver, but no inspected route declares an operation binding. Whether that alternative satisfies the publication standard remains a proposed assessment.

The listed guarantees identify the verified service or declared constraint boundaries. Locks, supplied versions, unique occurrence and recipient keys, reopening checks and deterministic decision evaluation protect their respective writes. Carried database consequences commit with the result; actual message delivery remains eventual and can be skipped. Database immutability and deletion grants are declared but unverified, so they are excluded from the guarantee list where the claim depends on that evidence.

No page in the permitted console sources administers these records. Product still needs to choose the staff surface, and portal pages outside that source scope remain unverified. The inspected services and workflows perform no inference.

## What Is Delegated to Platform and Other Areas

Platform owns security decisions and grants, shared extensibility, attention, reporting, background execution, delivery, console infrastructure and workspace provisioning. Committees computes desired access and calls Platform’s owning function rather than writing grants directly. CRM supplies people and organization facts and coordinates contact consolidation; Membership supplies units and eligibility, with live termination-event delivery still unproved. The adjacent governance module owns the meeting and recruitment records closed by dissolution.
