---
id: ADR-PFM-DJE-018
title: Domain saves own history and change events
product_area: platform
module: data-job-engine
revision: 1
status: proposed
design_intent: confirmed
source_sha:
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
decision: >-
  The engine emits no business lifecycle event; domain saves create record
  history and change events under the job and batch context, including
  initial-load revisions.
constrains:
  - DOM-PFM-DJE-001
  - WF-PFM-DJE-002
  - SVC-PFM-DJE-crm-data-jobs
  - RESP-PFM
origin: >-
  PLAT-M19 D3 and D4
  (services-platform:docs/milestones/PLAT-M19-data-job-engine-foundations.md#Decisions,
  Product Accepted 2026-10-22)
alternatives:
  - option: Emit started and finished events for every job
    why_not: >-
      Job lifecycle publication is not implemented; completion notification
      remains an open product choice.
  - option: Replace individual history with one bulk history entry
    why_not: A bulk summary cannot provide each record’s own revision history.
consequences:
  - History can attribute changed records to their job context.
  - Clients poll for execution progress.
supersedes: []
evidence:
  - 'services-crm at a8d1364f: services/queue/data-job-worker.ts (module comment)'
  - >-
    services-platform at ad3f6a65:
    docs/milestones/PLAT-M19-data-job-engine-foundations.md#Decisions
---

# Domain Saves Own History And Change Events

## Context

A job records requested work while each domain owns the evidence of its saved records.

## Decision and Origin

The engine emits no business lifecycle event; domain saves create record history and change events under the job and batch context, including initial-load revisions. The origin recorded above supplies the authority for this choice; implementation evidence supplies the limits described here.

## Alternative Comparison

Emit started and finished events for every job: Job lifecycle publication is not implemented; completion notification remains an open product choice.

Replace individual history with one bulk history entry: A bulk summary cannot provide each record’s own revision history.

## Consequences

History can attribute changed records to their job context.

Clients poll for execution progress.
