---
id: ADR-MBR-MEM-018
title: Read Neighbour Facts and Delegate Writes
product_area: membership
module: memberships
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Membership reads the needed CRM, Accounting and Platform facts directly and
  delegates partner record changes through their ports.
constrains:
  - SVC-MBR-MEM-memberships
  - SVC-MBR-MEM-billing
  - SVC-MBR-MEM-commerce-participant
  - RESP-MBR
origin: >-
  none: observed in the code; the platform's persistence standard was not
  readable by this job
alternatives:
  - option: Read through the owners' APIs
    why_not: >-
      API reads would add many round trips to child derivation and batch
      planning.
  - option: Replicate the neighbours' facts by events
    why_not: Replicated facts would introduce another copy and a freshness contract.
consequences:
  - >-
    Unverified fixture copies can miss schema drift in neighbouring
    repositories.
  - Partner writes remain under the owning service’s operation contract.
supersedes: []
evidence:
  - >-
    services-membership at 5994c270:
    modules/memberships/services/persistence/crm-people.ts;
    modules/commerce-participant/services/prepare/pricing-policy.ts;
    modules/memberships/services/persistence/operational-tenants.ts
---

# Read Neighbour Facts and Delegate Writes

## Context

Current Membership paths read other modules’ facts in the shared database. The persistence standard itself was unavailable to the drafting job, so this remains an observed boundary.

## Decision

Membership reads the needed CRM, Accounting and Platform facts directly and delegates partner record changes through their ports.

## Alternatives Considered

Read through the owners' APIs: API reads would add many round trips to child derivation and batch planning.

Replicate the neighbours' facts by events: Replicated facts would introduce another copy and a freshness contract.

## Consequences

Unverified fixture copies can miss schema drift in neighbouring repositories. Partner writes remain under the owning service’s operation contract.
