---
id: TST-MBR-MEM-018
title: Attributed membership revision capture and reads
kind: integration
product_area: membership
module: memberships
revision: 1
status: draft
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
repository: services-membership
files:
  - modules/history/tests/integration/membership-history.integration.spec.ts
implements:
  - ATS-MBR-MEM-018-01
  - ATS-MBR-MEM-018-02
  - ATS-MBR-MEM-018-03
  - ATS-MBR-MEM-018-04
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/history/tests/integration/membership-history.integration.spec.ts
assertion_anchors:
  - scenario: ATS-MBR-MEM-018-01
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#records
      the creation as one revision of the membership, its term and affiliation
      as collections
  - scenario: ATS-MBR-MEM-018-01
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#names
      who made each change by the name they had then, and where it came from
  - scenario: ATS-MBR-MEM-018-01
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#records
      nothing for a change of the cached status alone, nor for a change undone
      in the same save
  - scenario: ATS-MBR-MEM-018-02
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#refuses
      at commit a write that names no source and no actor, and the write with it
      (a program, which has no versions)
  - scenario: ATS-MBR-MEM-018-03
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#pages
      the timeline newest first by its sequence, the cursor continuing where a
      page ended
  - scenario: ATS-MBR-MEM-018-03
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#filters
      the timeline by operation and by actor
  - scenario: ATS-MBR-MEM-018-03
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#finds
      one revision of this record, and not another record’s revision by its id
  - scenario: ATS-MBR-MEM-018-03
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#lists
      everyone who changed the record, once each, by their names
  - scenario: ATS-MBR-MEM-018-04
    source: >-
      services-membership:modules/history/tests/integration/membership-history.integration.spec.ts#records
      the same correction on the term’s own history
---

# Attributed membership revision capture and reads

## Verification Boundary

Attributed revisions and dated reconstruction 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 prove live Committees history or history for every undeclared owner stream. Registration records existing code and leaves execution and conformance unverified.

## Real Dependencies and Test Doubles

Version capture, revision settlement and membership persistence remain real. Neighbor records, supplied callers and any appointment reader are controlled fixtures.

## 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.
