---
id: ADR-MBR-MEM-016
title: Describe Both Configuration Update Models
product_area: membership
module: memberships
revision: 1
status: proposed
design_intent: open
source_sha:
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Process and template changes merge at a checked version, while scope and
  characteristic settings replace the complete document at their checked
  version.
constrains:
  - DOM-MBR-MEM-004
  - DOM-MBR-MEM-005
  - SVC-MBR-MEM-applications
  - SVC-MBR-MEM-billing
  - SVC-MBR-MEM-memberships
  - SVC-MBR-MEM-snapshots
origin: >-
  The complete-payload rule named for this design, and the design open question
  it raises
alternatives:
  - option: Complete-record replacement for every configuration record
    why_not: >-
      Uniform replacement is the pending recommended alternative but would
      change the shared resource routes.
  - option: Merge for every record
    why_not: Uniform merging would need an explicit way to remove settings entries.
consequences:
  - >-
    Omission retains a process or template field but removes an omitted settings
    entry.
  - Both forms reject stale versions.
  - >-
    Product still needs to decide which update convention should govern this
    module.
supersedes: []
evidence:
  - >-
    services-membership at 5994c270:
    modules/configuration/services/configuration/configuration-records.ts:updateConfiguration
    (partial schema);
    modules/applications/services/configuration/application-process-records.ts:columnsOf;
    modules/billing/services/configuration/billing-template-records.ts:columnsOf;
    modules/memberships/services/access/scope-settings.ts;
    modules/snapshots/services/settings/dimension-settings.ts
---

# Describe Both Configuration Update Models

## Context

Current resource updates merge supplied fields, while settings updates replace complete documents. This record describes the observed difference without deciding the pending product question.

## Decision

Process and template changes merge at a checked version, while scope and characteristic settings replace the complete document at their checked version.

## Alternatives Considered

Complete-record replacement for every configuration record: Uniform replacement is the pending recommended alternative but would change the shared resource routes.

Merge for every record: Uniform merging would need an explicit way to remove settings entries.

## Consequences

Omission retains a process or template field but removes an omitted settings entry. Both forms reject stale versions. Product still needs to decide which update convention should govern this module.
