---
id: WF-CMT-MTG-019
title: Purge Meeting and Governance Records
trigger: >-
  Platform resets or deletes a workspace through Committees lifecycle
  participants.
product_area: committees
module: meetings
revision: 2
status: draft
design_intent: proposed
implementation_evidence: observed
inference: []
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
implements:
  - CAP-CMT-MTG-001
  - CAP-CMT-MTG-010
  - CAP-CMT-MTG-016
crosses:
  - SVC-PFM-TNL-committees-tenant-lifecycle
  - SVC-CMT-MTG-meetings
  - SVC-CMT-MTG-decisions
  - SVC-CMT-MTG-recruitment
idempotency: >-
  Each purge call removes one table batch and reports whether more remains.
  Repeated calls continue the remaining work.
concurrency: >-
  The manifests declare dependencies from decisions to minutes, meetings and
  committees. Purge must traverse them in reverse to remove children before
  parents; the remote coordinator is outside the examined sources.
hops:
  - 'n': 1
    actor_or_service: Committees lifecycle participants
    action: >-
      Purge meetings-owned working tables in their declared local order,
      including event delivery, room and notice work, materials, links, agenda,
      participants, meetings, series and asset lifecycle rows.
    anchor: >-
      services-committees:modules/tenant-lifecycle/participants.ts:MEETINGS_PURGED_TABLES
    seam: sync
    on_failure: Roll back a failed batch and retry it.
    left_inconsistent: The workspace remains partially purged until completion.
    observer: The Platform lifecycle job result.
    provenance: observed
    source: >-
      services-committees:modules/tenant-lifecycle/participants.ts:MEETINGS_PURGED_TABLES
  - 'n': 2
    actor_or_service: Committees lifecycle participants
    action: >-
      Purge decisions-owned and minutes-owned participants before their meeting
      parents; protected governance records and versions use the declared
      definer purge function.
    anchor: >-
      services-committees:modules/tenant-lifecycle/participants.ts:describeParticipant
    seam: sync
    on_failure: Retry a failed table batch.
    left_inconsistent: Earlier successful batches remain deleted.
    observer: The Platform lifecycle job result.
    provenance: observed
    source: >-
      services-committees:modules/tenant-lifecycle/participants.ts:describeParticipant
  - 'n': 3
    actor_or_service: Committees lifecycle participants
    action: >-
      Purge openings and interests through the committees participant that
      declares them.
    anchor: 'services-committees:modules/tenant-lifecycle/participants.ts:PURGED_TABLES'
    seam: sync
    on_failure: Retry the failed batch.
    left_inconsistent: Recruitment data can remain until that participant completes.
    observer: The Platform lifecycle job result.
    provenance: observed
    source: 'services-committees:modules/tenant-lifecycle/participants.ts:PURGED_TABLES'
branches: []
waits: []
evidence:
  - >-
    services-committees at 36129c24: modules/tenant-lifecycle/participants.ts;
    services/persistence/tenant-purges.ts
controls:
  - TC-IAM-006
  - TC-AZ-001
  - TC-AZ-002
  - TC-AZ-003
  - TC-AZ-004
  - TC-AZ-005
  - TC-AZ-006
  - TC-TEN-001
  - TC-TEN-002
  - TC-TEN-003
  - TC-TEN-004
  - TC-SEC-001
  - TC-SEC-004
  - TC-DAT-001
  - TC-DAT-002
  - TC-DAT-003
  - TC-DAT-004
  - TC-DAT-007
  - TC-LOG-001
  - TC-LOG-002
  - TC-LOG-003
  - TC-LOG-004
  - TC-LOG-005
  - TC-AVL-004
  - TC-AVL-005
  - 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
---
# Purge Meeting and Governance Records

## What It Does

Platform resets or deletes a workspace through Committees lifecycle participants. The participant boundary differs from design ownership: openings are declared under committees, and the shared event ledger under meetings. Database rows are purged in batches; this source does not establish remote coordinator behavior or removal of stored file objects.

## The Flow

```mermaid
flowchart TD
  H1["Purge meetings-owned working tables in their declared local order, including event delivery, room and notice w"]

  H2["Purge decisions-owned and minutes-owned participants before their meeting parents"]
  H3["Purge openings and interests through the committees participant that declares them."]
  H1 --> H2
  H2 --> H3
```

Purge meetings-owned working tables in their declared local order, including event delivery, room and notice work, materials, links, agenda, participants, meetings, series and asset lifecycle rows. Purge decisions-owned and minutes-owned participants before their meeting parents; protected governance records and versions use the declared definer purge function. Purge openings and interests through the committees participant that declares them.

## When Something Fails

Roll back a failed batch and retry it. The workspace remains partially purged until completion. Retry a failed table batch. Earlier successful batches remain deleted. Retry the failed batch. Recruitment data can remain until that participant completes.

## Open Design Questions

The participant boundary differs from design ownership: openings are declared under committees, and the shared event ledger under meetings. Database rows are purged in batches; this source does not establish remote coordinator behavior or removal of stored file objects.
