---
id: ADR-PFM-MTD-016
title: Incremental data-job loading through standard writes
product_area: platform
module: metadata
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
decision: Bulk custom-record and link loading uses the Data Job Engine, preflight impact validation and ordinary
  persistence writes, retaining committed batches after later failure.
constrains:
- WF-PFM-MTD-012
- SVC-PFM-MTD-associations
- SVC-PFM-MTD-custom-objects
origin: services-platform:docs/data-jobs/platform-data-operations.md (the engine is the one import engine; there
  is no /rollback); PLAT-M7, which carries loads, is proposed
alternatives:
- option: Direct-table import adapters
  why_not: A separate write path could bypass naming, validation, attachments, audit and events.
- option: Automatic job rollback
  why_not: Outcomes do not retain the full prior values needed for faithful reversal; reset and reload is the documented
    recovery route.
consequences:
- Reloaded matching lines produce unchanged outcomes where their content still agrees.
- Partial link correction files can clear attributes.
- The pinned adapters run engine batches in process rather than through a separate queue consumer.
supersedes: []
evidence:
- 'services-platform at ad3f6a65: modules/associations/aws/api/association-data-jobs.routes.ts; modules/data-jobs/services/**;
  docs/data-jobs/platform-data-operations.md'
---

# Incremental data-job loading through standard writes

## Context

Imports must retain ordinary record safeguards and make partial outcomes inspectable.

## Decision

Bulk custom-record and link loading uses the Data Job Engine, preflight impact validation and ordinary persistence writes, retaining committed batches after later failure.

## Alternatives Considered

Direct-table import adapters: A separate write path could bypass naming, validation, attachments, audit and events. Automatic job rollback: Outcomes do not retain the full prior values needed for faithful reversal; reset and reload is the documented recovery route.

## Consequences

Reloaded matching lines produce unchanged outcomes where their content still agrees. Partial link correction files can clear attributes. The pinned adapters run engine batches in process rather than through a separate queue consumer.
