---
id: ADR-MBR-MEM-004
title: Derive Grants and Organizational Coverage During Writes
product_area: membership
module: memberships
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Source commitment writes eligible grants and child periods synchronously,
  while connected CRM delivery recalculates organizational eligibility from
  current records.
constrains:
  - DOM-MBR-MEM-001
  - DOM-MBR-MEM-002
  - WF-MBR-MEM-006
  - WF-MBR-MEM-007
origin: >-
  The package grants decision of 2026-10-17 recorded in the grant writer; the
  lifecycle chapter's flow-down section
alternatives:
  - option: Derive children in a background job
    why_not: >-
      Background derivation would delay coverage and need reconciliation after
      interrupted fan-out.
  - option: Treat children as views computed on read
    why_not: >-
      Read-time views would not provide the independent identifiers, lifecycle
      evidence and numbers required by these holdings.
consequences:
  - >-
    A supported source commitment and its generated dependent effects share
    durability.
  - >-
    CRM convergence requires a working subscription and does not repair the
    known former-parent gap automatically.
  - >-
    Withdrawn eligibility is dated using processing time under the current
    implementation.
supersedes: []
evidence:
  - >-
    services-membership at 5994c270:
    modules/memberships/services/grants/apply-grants.ts;
    services/flowdown/organization-children.ts, crm-change-events.ts
---

# Derive Grants and Organizational Coverage During Writes

## Context

Packages can provide additional programs, and organization coverage can extend to people. Stored children supply numbering and history that a transient calculation would not retain.

## Decision

Source commitment writes eligible grants and child periods synchronously, while connected CRM delivery recalculates organizational eligibility from current records.

## Alternatives Considered

Derive children in a background job: Background derivation would delay coverage and need reconciliation after interrupted fan-out.

Treat children as views computed on read: Read-time views would not provide the independent identifiers, lifecycle evidence and numbers required by these holdings.

## Consequences

A supported source commitment and its generated dependent effects share durability. CRM convergence requires a working subscription and does not repair the known former-parent gap automatically. Withdrawn eligibility is dated using processing time under the current implementation.
