---
id: CAP-CMT-MTG-005
title: Release meeting papers as a packet
feature: FEAT-CMT-MTG-02
product_area: committees
module: meetings
revision: 1
status: draft
product_intent: proposed
implementation_evidence: partially-observed
supersedes:
  - react-console acceptance inventory CAP-CMT-MTG-010
  - 'react-console acceptance journeys CMT-ACC-0229, 0230'
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
intent_sources:
  - 'services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#D10'
  - 'services-committees:docs/milestones/plans/CMTE-M3-plan.md#4. Assumptions'
purpose: Staff collect supporting papers and control when the meeting’s permitted readers receive them.
outcomes:
  - Meeting papers retain managed file references
  - Publication releases the prepared packet together
concepts:
  - CON-CMT-MTG-001
actors:
  - ACT-CMT-002
  - ACT-CMT-008
surfaces:
  - api
preconditions:
  - The meeting is available and has not been cancelled.
postconditions: []
permissions:
  - key: committees.meetings.read
    where_checked: api
    scope: tenant
  - key: committees.meetings.manage
    where_checked: api
    scope: tenant
rules:
  - id: BR-CAP-CMT-MTG-005-01
    proved_by: [ATS-CMT-MTG-004-11, ATS-CMT-MTG-005-01, ATS-CMT-MTG-005-09, ATS-CMT-MTG-005-11]
    statement: >-
      A material identifies its meeting, optionally an agenda item of that meeting, and exactly one
      managed file or document reference.
    kind: validation
    enforced_at:
      - service
      - database
    must_prove: true
    provenance: observed
    source: >-
      services-committees:modules/meetings/db/meeting-materials.table.ts:meeting_materials_one_file_check
    origin: none
  - id: BR-CAP-CMT-MTG-005-02
    proved_by: [ATS-CMT-MTG-005-02, TST-CMT-MTG-109, TST-CMT-MTG-211, TST-CMT-MTG-215]
    statement: >-
      File preparation produces a permanent reference in the meeting-materials storage area and
      rejects foreign-workspace references or unsafe files.
    kind: validation
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-committees:modules/meetings/tests/integration/services/meetings.integration.spec.ts#refuses
      a file of another tenant and writes nothing
    origin: none
  - id: BR-CAP-CMT-MTG-005-03
    proved_by: [ATS-CMT-MTG-005-08]
    statement: Adding material to a cancelled meeting is refused.
    kind: validation
    enforced_at:
      - service
    must_prove: true
    provenance: observed
    source: 'services-committees:modules/meetings/services/persistence/meeting-materials.ts:addMaterial'
    origin: none
  - id: BR-CAP-CMT-MTG-005-04
    proved_by: [ATS-CMT-MTG-005-03, ATS-CMT-MTG-005-10, ATS-CMT-MTG-006-14, TST-CMT-MTG-108, TST-CMT-MTG-211, TST-CMT-MTG-222]
    statement: >-
      Packet publication is allowed once before a meeting ends, stamps unreleased materials as
      published, and causes later additions to receive a publication timestamp immediately.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: test
    source: >-
      services-committees:modules/meetings/tests/unit/services/meeting-lifecycle.spec.ts#publishes
      the packet once, of a meeting that has not ended
    origin: none
  - id: BR-CAP-CMT-MTG-005-05
    proved_by: [ATS-CMT-MTG-005-04]
    statement: >-
      Portal material disclosure requires both its audience permission and either a publication
      timestamp or a non-draft agenda viewed by someone participating in the meeting or committee.
    kind: permission
    enforced_at:
      - service
    must_prove: true
    provenance: observed
    source: 'services-committees:modules/meetings/services/portal/portal-meetings.ts:pageFor'
    origin: none
  - id: BR-CAP-CMT-MTG-005-06
    proved_by: [ATS-CMT-MTG-005-05]
    statement: >-
      Material deletion detaches its managed asset in the same transaction, leaving subsequent
      cleanup to retire eligible files.
    kind: lifecycle
    enforced_at:
      - service
    must_prove: true
    provenance: observed
    source: 'services-committees:modules/meetings/services/persistence/meeting-materials.ts:deleteMaterial'
    origin: none
  - id: BR-CAP-CMT-MTG-005-07
    proved_by: [ATS-CMT-MTG-005-06]
    statement: >-
      The product should accept a packet item containing only a title and web address while the
      shared upload control is unavailable.
    kind: policy
    enforced_at: []
    must_prove: true
    provenance: documented
    source: 'services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions'
    origin: >-
      CMTE-M3 D10 (Andrew 2026-10-21,
      services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
  - id: BR-CAP-CMT-MTG-005-08
    proved_by: [ATS-CMT-MTG-005-07]
    statement: >-
      The product should support renaming and reordering packet entries, while replacing a file
      requires removing the old entry and adding another.
    kind: policy
    enforced_at: []
    must_prove: true
    provenance: documented
    source: >-
      services-committees:docs/milestones/plans/CMTE-M3-plan.md#D12. Smaller rules to approve as a
      group
    origin: >-
      CMTE-M3 D12 item 7 (Andrew 2026-10-21,
      services-committees:docs/milestones/CMTE-M3-meetings-and-minutes.md#Decisions)
  - id: BR-CAP-CMT-MTG-005-09
    proved_by: []
    statement: >-
      The proposed storage direction uses managed files until a Documents library is available, with
      the stored material shape reserving either kind of reference.
    kind: policy
    enforced_at:
      - database
    must_prove: false
    provenance: documented
    source: 'services-committees:docs/milestones/plans/CMTE-M3-plan.md#4. Assumptions'
    origin: none
scenarios:
  - id: SC-CAP-CMT-MTG-005-01
    given: A scheduled meeting has prepared supporting papers
    when: Staff publish its packet
    then: The meeting receives a packet publication timestamp
    provenance: test
    source: 'services-committees:modules/meetings/tests/e2e/meetings.e2e.spec.ts#publishes the packet'
edge_cases: []
constraints: []
depends_on:
  - CAP-CMT-MTG-001
related:
  - CAP-CMT-MTG-004
  - CAP-CMT-MTG-006
journeys:
  - JNY-CMT-MTG-001
open_questions: []
evidence:
  - >-
    services-committees at 36129c24: Material attachment, managed file preparation, detachment and
    asynchronous retirement.
  - >-
    react-console at baf6dae3: the meeting acceptance specifications cited by this capability and
    its acceptance set.
controls:
  - TC-IAM-006
  - 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-CRY-004
  - TC-DAT-001
  - TC-DAT-002
  - TC-DAT-003
  - TC-DAT-004
  - TC-LOG-002
  - TC-LOG-003
  - TC-LOG-004
  - TC-LOG-005
  - TC-AVL-004
  - TC-MON-001
  - TC-MON-002
  - TC-PI-001
  - TC-PI-002
  - TC-PI-003
  - TC-PI-004
  - TC-PI-005
  - TC-PRV-001
  - TC-PRV-002
exercised_by: [FAS-CMT-MTG-02-01, FAS-CMT-MTG-02-04]
suites: [TST-CMT-MTG-108, TST-CMT-MTG-109, TST-CMT-MTG-211, TST-CMT-MTG-215, TST-CMT-MTG-222]
---

# Release meeting papers as a packet

## Purpose

A packet brings together the papers supporting a meeting. Staff prepare the entries and publish them when the collection is ready to share.

## How It Works

Staff add papers to the meeting as a whole or connect them to individual agenda topics. A title and classification identify each entry without embedding the file in the meeting record. File preparation runs before the material write, and the saved reference is attached transactionally. Publication releases the existing collection, while subsequent additions inherit immediate release. Audience settings still govern what a signed-in reader receives. Current committee participation can matter alongside an explicit meeting participant record. Held meetings can still receive supporting papers, although a cancelled meeting cannot. Deleting an entry records detachment rather than promising immediate file removal. The cleanup consumer handles later retirement. Link-only entries and editable labels and ordering remain approved directions whose complete behaviour is not established here.

## Relationships

Agenda preparation supplies optional topic links. Participant communications handle publication notices, and the shared file pipeline supplies preparation and retirement.
