---
id: ADR-CRM-DQ-017
title: Declare Data Quality operations unpublished to Submissions
product_area: crm
module: data-quality
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
decision: >-
  All thirty-two module operations are unpublished to Submissions, with a reason
  recorded for each read, review, configuration, merge or health operation.
constrains:
  - SVC-CRM-DQ-duplicates
  - SVC-CRM-DQ-merges
  - RESP-CRM
origin: 'R2-ARCH-002 v2.0 (Andrew, 2026-10-22) rule 1, publish or say why not'
alternatives:
  - option: Publish draft matching as an intake capture
    why_not: >-
      Matching captures no business request; an intake can consult it within its
      own contract.
consequences:
  - Future record intake can reuse Entities creation and its block guard.
supersedes: []
evidence:
  - >-
    services-crm at a8d1364f: modules/duplicates/aws/api/duplicates.routes.ts;
    modules/merges/aws/api/merges.routes.ts (no Submissions binding).
---

# Declare Data Quality operations unpublished to Submissions

## Context

Operation contracts must state whether intake processes can publish them.

## Decision

All thirty-two module operations are unpublished to Submissions, with a reason recorded for each read, review, configuration, merge or health operation.

## Alternatives Considered

Publish draft matching as an intake capture. Matching captures no business request; an intake can consult it within its own contract.

## Consequences

Future record intake can reuse Entities creation and its block guard.
