---
id: FAS-MBR-STR-01
title: 'Association Hierarchy: Feature Acceptance Suite'
feature: FEAT-MBR-STR-01
product_area: membership
module: structure
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-MBR-STR-001
  - CAP-MBR-STR-002
  - CAP-MBR-STR-003
  - CAP-MBR-STR-004
  - CAP-MBR-STR-005
scenarios:
  - id: FAS-MBR-STR-01-01
    title: Build and inspect an association branch
    kind: behaviour
    exercises:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-005
    relies_on:
      - ATS-MBR-STR-001-01
      - ATS-MBR-STR-002-01
      - ATS-MBR-STR-005-01
    preconditions: Start with an empty workspace and an administrator.
    steps:
      - do: >-
          Define root and chapter kinds, create a root with two chapters and compare tree and flat-list
          answers.
        expect: The created identities appear in both views and their parentage satisfies the selected kinds.
        provenance: proposed
        source:
          - CAP-MBR-STR-001
          - CAP-MBR-STR-002
          - CAP-MBR-STR-005
    expected: The created identities appear in both views and their parentage satisfies the selected kinds.
    negative: false
    data_needs: >-
      Dedicated workspace fixtures, current record versions and distinct callers for the accepted and
      refused actions.
    bound_to: []
    provenance: proposed
    source:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-005
  - id: FAS-MBR-STR-01-02
    title: Restructuring preserves current and earlier reporting context
    kind: interaction
    exercises:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-005
    relies_on:
      - ATS-MBR-STR-001-05
      - ATS-MBR-STR-002-11
      - ATS-MBR-STR-005-02
    preconditions: A chapter has existing member affiliations and a recorded earlier reporting date.
    steps:
      - do: >-
          Move the chapter to another region, compare current and period-end visibility and try
          withdrawing a parent choice still used elsewhere.
        expect: >-
          The chapter moves without rewriting its member affiliation, earlier reporting retains the
          former branch and the dependent parent choice cannot be withdrawn.
        provenance: proposed
        source:
          - CAP-MBR-STR-001
          - CAP-MBR-STR-002
          - CAP-MBR-STR-005
    expected: >-
      The chapter moves without rewriting its member affiliation, earlier reporting retains the former
      branch and the dependent parent choice cannot be withdrawn.
    negative: false
    data_needs: >-
      Dedicated workspace fixtures, current record versions and distinct callers for the accepted and
      refused actions.
    bound_to: []
    provenance: proposed
    source:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-005
  - id: FAS-MBR-STR-01-03
    title: A merger continues memberships and protects retained history
    kind: lifecycle
    exercises:
      - CAP-MBR-STR-002
      - CAP-MBR-STR-003
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
    relies_on:
      - ATS-MBR-STR-003-03
      - ATS-MBR-STR-003-04
      - ATS-MBR-STR-004-02
    preconditions: 'A source and survivor have members, with one member already affiliated to both.'
    steps:
      - do: 'Merge the source, inspect its survivor and both rosters, then try deleting the source.'
        expect: >-
          Eligible members continue under the survivor without a duplicate tie; retained source history
          prevents deletion.
        provenance: proposed
        source:
          - CAP-MBR-STR-002
          - CAP-MBR-STR-003
          - CAP-MBR-STR-004
          - CAP-MBR-STR-005
    expected: >-
      Eligible members continue under the survivor without a duplicate tie; retained source history
      prevents deletion.
    negative: false
    data_needs: >-
      Dedicated workspace fixtures, current record versions and distinct callers for the accepted and
      refused actions.
    bound_to: []
    provenance: proposed
    source:
      - CAP-MBR-STR-002
      - CAP-MBR-STR-003
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
  - id: FAS-MBR-STR-01-04
    title: Read-only staff inspect structure without changing it
    kind: permission
    exercises:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
    relies_on:
      - ATS-MBR-STR-019-01
      - ATS-MBR-STR-005-05
    preconditions: Administrator and read-only staff contexts address the same isolated structure.
    steps:
      - do: >-
          Compare kind and tree reads, attempt a move and closure as the reader and attempt a
          foreign-workspace read.
        expect: >-
          Own-workspace inspection succeeds; changes and foreign record access fail without altering the
          branch.
        provenance: proposed
        source:
          - CAP-MBR-STR-001
          - CAP-MBR-STR-002
          - CAP-MBR-STR-004
          - CAP-MBR-STR-005
    expected: >-
      Own-workspace inspection succeeds; changes and foreign record access fail without altering the
      branch.
    negative: true
    data_needs: >-
      Dedicated workspace fixtures, current record versions and distinct callers for the accepted and
      refused actions.
    bound_to: []
    provenance: proposed
    source:
      - CAP-MBR-STR-001
      - CAP-MBR-STR-002
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
  - id: FAS-MBR-STR-01-05
    title: A failed merger leaves the whole branch unchanged
    kind: regression
    exercises:
      - CAP-MBR-STR-002
      - CAP-MBR-STR-003
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
    relies_on:
      - ATS-MBR-STR-003-02
      - ATS-MBR-STR-003-05
    preconditions: A source contains a movable child and an affiliation that cannot meet the survivor’s requirements.
    steps:
      - do: >-
          Capture tree and membership state, attempt the merge and compare both records and branch reads
          afterward.
        expect: >-
          The refusal identifies the conflict and leaves the source, children, histories and memberships
          as captured.
        provenance: proposed
        source:
          - CAP-MBR-STR-002
          - CAP-MBR-STR-003
          - CAP-MBR-STR-004
          - CAP-MBR-STR-005
    expected: >-
      The refusal identifies the conflict and leaves the source, children, histories and memberships as
      captured.
    negative: true
    data_needs: >-
      Dedicated workspace fixtures, current record versions and distinct callers for the accepted and
      refused actions.
    bound_to: []
    provenance: proposed
    source:
      - CAP-MBR-STR-002
      - CAP-MBR-STR-003
      - CAP-MBR-STR-004
      - CAP-MBR-STR-005
evidence:
  - CAP-MBR-STR-001
  - CAP-MBR-STR-002
  - CAP-MBR-STR-005
  - CAP-MBR-STR-001
  - CAP-MBR-STR-002
  - CAP-MBR-STR-005
  - CAP-MBR-STR-002
  - CAP-MBR-STR-003
  - CAP-MBR-STR-004
  - CAP-MBR-STR-005
  - CAP-MBR-STR-001
  - CAP-MBR-STR-002
  - CAP-MBR-STR-004
  - CAP-MBR-STR-005
  - CAP-MBR-STR-002
  - CAP-MBR-STR-003
  - CAP-MBR-STR-004
  - CAP-MBR-STR-005
regression_record:
  - revision: 1
    change: initial
    scenarios:
      - FAS-MBR-STR-01-01
      - FAS-MBR-STR-01-02
      - FAS-MBR-STR-01-03
      - FAS-MBR-STR-01-04
      - FAS-MBR-STR-01-05
    reason: Initial cumulative feature coverage from the landed planning and design contracts.
    provenance: documented
    source: specs/CONVENTIONS.md#5.3 Feature Acceptance Suite (FAS)
narrative_sources:
  - section: What the Feature Must Do as a Whole
    provenance: proposed
    source: FEAT-MBR-STR-01
  - section: Interactions Between Capabilities
    provenance: proposed
    source:
      - FAS-MBR-STR-01-02
  - section: Regression Record
    provenance: documented
    source: specs/CONVENTIONS.md#5.3 Feature Acceptance Suite (FAS)
---

# Association Hierarchy: Feature Acceptance Suite

## What the Feature Must Do as a Whole

The suite follows the association’s arrangement from setup through restructuring and consolidation. Each scenario combines outcomes that staff need to trust together and identifies the capability examples it relies on.

## Interactions Between Capabilities

Move the chapter to another region, compare current and period-end visibility and try withdrawing a parent choice still used elsewhere. The chapter moves without rewriting its member affiliation, earlier reporting retains the former branch and the dependent parent choice cannot be withdrawn.

A complete feature run also revisits the accepted and refused outcomes when referenced configuration changes. Proposed cases require executable proof before they establish delivery qualification.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative feature coverage from the landed planning and design contracts. |
