---
id: TST-MBR-MEM-040
title: Monthly membership reconstruction and publication
kind: integration
product_area: membership
module: memberships
revision: 1
status: draft
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
repository: services-membership
files:
  - modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts
implements:
  - ATS-MBR-MEM-019-03
  - ATS-MBR-MEM-019-05
  - ATS-MBR-MEM-019-06
  - ATS-MBR-MEM-019-09
  - ATS-MBR-MEM-019-11
  - FAS-MBR-MEM-07-05
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 3
isolation: >-
  A suite-owned workspace and test identifiers; suites that use shared seed data
  require the source’s serial execution and cleanup policy.
verification_notes: >-
  Bindings describe the assertions reviewed at the pinned commit; the suite is
  not executed by this documentation job.
coverage_gap: null
evidence:
  - >-
    services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts
assertion_anchors:
  - scenario: ATS-MBR-MEM-019-03
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#describes
      each member row by its term: the covering one, else the latest before,
      else the first after
  - scenario: ATS-MBR-MEM-019-03
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#files
      each affiliation with its unit and every ancestor the unit had at the
      period end, nearest first
  - scenario: ATS-MBR-MEM-019-03
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#files
      Jo’s two chapters with the Eastern Region among their ancestors
  - scenario: ATS-MBR-MEM-019-05
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#fails
      the run on the counts check, publishes nothing, and leaves the current
      version current
  - scenario: ATS-MBR-MEM-019-06
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#writes
      identical member, affiliation and count rows with the original known_at
  - scenario: ATS-MBR-MEM-019-06
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#differs,
      with a later known_at, by exactly the corrected membership
  - scenario: ATS-MBR-MEM-019-06
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#publishes
      each rerun as the next version and keeps the earlier ones readable
  - scenario: ATS-MBR-MEM-019-09
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#reads
      the current published version alone through the published view, in the
      tenant
  - scenario: ATS-MBR-MEM-019-11
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#refuses
      to purge the tenant while Platform holds it active, before any row is
      removed (DEF-MBR-0010)
  - scenario: ATS-MBR-MEM-019-11
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts#removes
      the tenant’s snapshot rows through membership.snapshots, in batches
  - scenario: FAS-MBR-MEM-07-05
    source: >-
      services-membership:modules/snapshots/tests/integration/membership-snapshot.integration.spec.ts
---

# Monthly membership reconstruction and publication

## Verification Boundary

Monthly reconstruction, validation and publication run against the prepared database.

## What This Suite Proves

The structured bindings identify the capability and feature cases whose reviewed assertions this suite executes. Source anchors preserve the evidence for each binding.

## What It Does Not Prove

A local pass does not qualify deployed snapshot dispatch, alarm delivery or every migration reconciliation case. Registration records existing code and leaves execution and conformance unverified.

## Real Dependencies and Test Doubles

Temporal membership rows, grouping checks and publication persistence remain real. Supplied clocks, seeded neighbor facts and local execution replace deployed scheduling.

## Must Not Be Doubled

Keep the prepared database, workspace boundary, exercised owner constraints and the business operation under test real. A partner double cannot substitute for the Membership write this suite claims to exercise.
