---
id: STATE-CMT-MTG-005
title: Follow-Up Acceptance Status
object: DOM-CMT-MTG-002
product_area: committees
module: meetings
revision: 2
status: draft
design_intent: proposed
implementation_evidence: partially-observed
source_sha:
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
states:
  - name: proposed
    meaning: A suggested piece of work recorded by staff or from minutes.
  - name: accepted
    meaning: The suggestion is accepted and has a task-link placeholder.
  - name: dismissed
    meaning: Staff choose not to pursue the suggestion.
transitions:
  - from: proposed
    to: accepted
    trigger: Staff accept the follow-up.
    guard: The item is still proposed and its expected version matches.
    side_effects:
      - >-
        Create one task-link record without a CRM task reference and attach it
        to the accepted item.
    who: Staff holding meeting management permission
    provenance: observed
    source: >-
      services-committees:modules/meetings/services/persistence/proposed-action-items.ts:acceptActionItem
  - from: proposed
    to: dismissed
    trigger: Staff dismiss the follow-up.
    guard: The item is still proposed and its expected version matches.
    side_effects:
      - Keep the suggestion as dismissed without creating a task link.
    who: Staff holding meeting management permission
    provenance: observed
    source: >-
      services-committees:modules/meetings/services/persistence/proposed-action-items.ts:dismissActionItem
invalid:
  - from: accepted
    to: dismissed
    why: An accepted suggestion has already been decided.
  - from: dismissed
    to: accepted
    why: A dismissed suggestion has already been decided.
concurrency: >-
  Acceptance and dismissal take the meeting and item locks and compare the item
  version, refusing a stale competing decision.
invariants:
  - INV-DOM-CMT-MTG-002-08
evidence:
  - >-
    services-committees at 36129c24:
    modules/meetings/db/proposed-action-items.table.ts,
    meeting-task-links.table.ts; services/persistence/proposed-action-items.ts;
    ports/task-creator.ts
---
# Follow-Up Acceptance Status

## The Lifecycle

```mermaid
stateDiagram-v2
  [*] --> proposed
  proposed --> accepted
  proposed --> dismissed
```

proposed: A suggested piece of work recorded by staff or from minutes.

accepted: The suggestion is accepted and has a task-link placeholder.

dismissed: Staff choose not to pursue the suggestion.

## Transitions Explained

Staff accept the follow-up. The item is still proposed and its expected version matches. Create one task-link record without a CRM task reference and attach it to the accepted item.

Staff dismiss the follow-up. The item is still proposed and its expected version matches. Keep the suggestion as dismissed without creating a task link.

## What Cannot Happen

An accepted suggestion has already been decided. A dismissed suggestion has already been decided. Acceptance records the meeting’s decision to follow up. It creates neither a CRM task nor assignment, reminder or completion tracking.

## Concurrency and Timing

Acceptance and dismissal take the meeting and item locks and compare the item version, refusing a stale competing decision.
