---
id: ADR-PFM-OPS-001
title: 'Execution, record and meaning of a job have three owners'
product_area: platform
module: operations
revision: 1
status: proposed
design_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
decision: >-
  Separate execution, recording and business ownership: orchestration runs the tasks, the shared engine
  maintains their account, and the owning module defines each kind’s work.
constrains:
  - DOM-PFM-OPS-001
  - SVC-PFM-OPS-jobs
  - WF-PFM-OPS-001
  - WF-PFM-OPS-002
  - WF-PFM-OPS-003
origin: 'services-platform:docs/jobs.md#1. Who does what (the convention; ported from Tribal DESIGN-JOB-001)'
alternatives:
  - option: Central ownership of all job families
    why_not: A central owner would need every domain’s persistence and force a Platform release for each kind.
  - option: Separate job engines in each service
    why_not: Independent engines would produce incompatible histories and recovery behavior.
consequences:
  - Step and history changes use the common engine.
  - Publishing a new kind does not require a central monitoring migration.
  - 'The kind owner supplies tasks, submission authority and failure effects.'
supersedes: []
evidence:
  - 'services-platform at ad3f6a6: docs/jobs.md §1, §4.'
  - 'macroservice-libraries at 54536a4: packages/jobs architecture.spec.ts, README.'
  - >-
    codex examination 2026-10-23: checked the pinned source anchors, planning references and enforcement
    boundaries; unresolved limits are recorded in module findings.
---

# Execution, record and meaning of a job have three owners

## Context

Background work belongs to many domains, while operators need comparable records across them.

## Decision

Assign retries, sequencing and timeouts to orchestration. Keep identity, progress and history in the shared engine. Let each domain define its own tables and tasks; Platform combines the published views and reconciles its own jobs.

## Alternatives Considered

Centralizing business tasks would couple unrelated modules. Independent reporting would undermine cross-service monitoring.

## Consequences

Owners share the recording protocol while retaining control of business behavior.
