---
id: ADR-CRM-ACT-005
title: Replacement carries the complete payload; partial edits are patches
product_area: crm
module: activities-tasks
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: >-
  Retain the planning requirement for complete replacements and named-property patches,
  with task and configuration omission behavior recorded as implementation differences.
constrains:
  - DOM-CRM-ACT-001
  - DOM-CRM-ACT-003
  - SVC-CRM-ACT-activities
  - SVC-CRM-ACT-tasks
  - WF-CRM-ACT-002
  - WF-CRM-ACT-003
origin: >-
  The recorded update contract as applied by ruling E-09 (CRM-M8, 2026-10-19,
  DEF-CRM-0700, answer B) and the Entities decision on complete payloads; FND-CRM-ACT-003
  records that tasks and configuration still differ.
alternatives:
  - option: Clear every omitted replacement value.
    why_not: >-
      An incomplete client payload could silently remove data; several current task and
      configuration mappings still use this behavior.
  - option: Preserve every omitted replacement value.
    why_not: >-
      This would give replacement the omission semantics of a patch rather than a complete
      record payload.
consequences:
  - Interaction replacement rejects missing required mapped properties before writing.
  - >-
    Task replacement preserves selected omitted fields while clearing others, and
    configuration replacement can clear descriptions; existing findings retain these
    differences.
  - >-
    Clients that rely on clearing by omission need preparation before the planned
    replacement contract is implemented.
supersedes: []
evidence:
  - >-
    services-crm at a8d1364f: modules/activities/aws/api/activity-api-mapper.ts
    (mapReplaceActivityRequest); modules/tasks/aws/api/task-api-mapper.ts
    (mapReplaceTaskRequest); task-configuration-api-mapper.ts;
    docs/milestones/CRM-M8-activities-and-tasks.md (E-09).
---

# Replacement carries the complete payload; partial edits are patches

## Context

Replacement and partial editing need distinguishable contracts. Silent treatment of omissions makes integration behavior difficult to predict.

## Decision

The existing planning ruling remains the source of the complete-payload requirement. Interaction replacement implements it, while task and configuration mappings retain different omission behavior. This examination does not change their planning rules.

## Alternatives Considered

The structured alternatives describe concrete competing designs and their tradeoffs. Where the origin records an existing ruling, it remains the authority; an observed implementation does not establish Product’s rejection of every alternative.

## Consequences

Alignment would change behavior for clients using omission to clear values. Console task and interaction field edits use patches, while configuration screens also use replacement saves.
