---
id: TST-PFM-OPS-119
title: Reconciled job failure
kind: integration
product_area: platform
module: operations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js
implements:
  - ATS-PFM-OPS-003-05
  - ATS-PFM-OPS-003-07
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
estimate_basis: Scheduling estimate only; no duration is measured during this documentation pass.
isolation: >-
  The prepared local test database and suite-owned identifiers; existing hooks control rollback or
  cleanup.
evidence:
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js
    at ad3f6a6582843008ed0f5a17b131878d15829af1: existing suite body, setup, assertions and cleanup.
binding_note: Bindings apply only to the listed specification scenarios.
assertion_sources:
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#is
    reconciling a tenant left provisioning behind a job with no execution handle
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#halts
    the job rather than applying a reported outcome
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#settles
    the job failed, saying it never started
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#moves
    the tenant to provisioning_failed, which is what makes it retryable and deletable again
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#tells
    the staff member who asked for the tenant that it failed, though no task of the job ever ran
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#gives
    that notice the reconciler’s own summary, so the requester reads why it never started
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#changes
    nothing about the tenant when the same consequence is applied a second time
  - >-
    services-platform:modules/tenants/tests/integration/lifecycle/reconciled-job-failure.integration.spec.js#sends
    the requester nothing a second time either
---

# Reconciled job failure

## Verification Boundary

This suite exercises application licensing through production operations against the local database. Its implementation is present at the pinned source revision, and this register records no execution result.

## What This Suite Proves

The checks exercise reconciled job failure within the file’s declared setup and assertion boundary. The structured assertion anchors distinguish these checks from the surrounding feature flows. The scenario bindings name the attributed outcomes.

## What It Does Not Prove

Local execution does not establish deployed infrastructure, live commercial-provider configuration or authorization-cache completion. Registration and an implemented suite do not establish a passing result.

## Real Dependencies and Test Doubles

The prepared PostgreSQL database and production operations under test are real. Execution startup or probing uses a test channel where the suite declares one. The suite controls time where boundary checks require it.

## Must Not Be Doubled

The persistence operations, database constraints and reads under assertion remain real.
