---
id: TST-PFM-INT-545
title: reconciler
kind: integration
product_area: platform
module: integrations
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: services-platform
files:
  - modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js
implements:
  - ATS-PFM-INT-010-01
  - ATS-PFM-INT-010-02
  - ATS-PFM-INT-010-03
  - ATS-PFM-INT-010-04
  - ATS-PFM-INT-010-05
  - ATS-PFM-INT-011-05
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Use the suite-owned database fixtures and its declared cleanup; prepare the test database before
  integration or lifecycle execution.
evidence:
  - >-
    services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js
test_cases:
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks
      the execution up on the same connection with the contracts’ lookup shape, never repeating the
      authorize
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#settles
      a found operation succeeded, with the provider’s answer as the stored response
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#tells
      the application once that a sync execution left unknown was settled by the lookup, and not again by
      a later pass
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#settles
      a found failure failed, with the provider’s classified error
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#writes
      the settlement of a found operation to the execution’s audit trail, once, and writes nothing for a
      lookup that settles none
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#writes
      a found failure to the audit trail too, with the outcome and origin
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#writes
      no audit event when the lookup cannot tell
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#leaves
      the execution unknown after the first lookup, the provider’s search may lag behind a charge
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#keeps
      looking through the fourth lookup, never failing a payment the provider may still show
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#sends
      a payment to needs_attention at the last lookup, with one notice, never failing it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#settles
      an execution of a capability that moves no money failed, not_found.lookup, at the last lookup
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks
      nothing up before the execution’s wait has passed
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#backs
      off 2 min, 10 min, 1 h and 6 h while the lookup cannot tell
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#sends
      the execution to needs_attention after the fifth lookup that cannot tell, with one notice to the
      administrators
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#lets
      an operator resolve a needs_attention execution by hand, audited, with no call to the provider
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#refuses
      to resolve an execution that does not need attention
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#drives
      an unknown payment to needs_attention through five lookups in one test, by offsets alone
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#looks
      nothing up while the offset has not reached the wait
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#schedules
      the next wait from the offset now, and writes every timestamp from the wall clock
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#scopes
      the run to the tenants named, leaving another workspace’s due execution alone
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#leaves
      it running within its budget
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#moves
      it to unknown past started_at plus 24 hours, unknown.async_timeout, counted by the run
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#makes
      it due a lookup at once
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#keeps
      the attempt the adapter accepted as it was
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#is
      looked up by the next pass
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#times
      out by offset: within 24 hours it keeps running, past them unknown.async_timeout, nothing waited
      for
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#lets
      the adapter complete a timed-out execution before any lookup settles it
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#leaves
      it running within the sync budget and its grace minute
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#moves
      it to unknown past them, unknown.attempt_lost
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#ends
      the attempt that never ended, unknown
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#settles
      it by the next pass’s lookup, which found the payment, never repeating the authorize
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#leaves
      it retrying within the longest queued wait
    provenance: test
  - source: >-
      services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js#moves
      it to unknown past the longest queued wait, unknown.dispatch_lost
    provenance: test
dependency_evidence:
  provenance: test
  source: >-
    services-platform:modules/integrations/tests/integration/services/executions/reconciler.integration.spec.js
  reviewed:
    - Suite introduction
    - Fixture setup
    - Client substitutions
    - Assertions and cleanup
---
# reconciler

## Verification Boundary

This database and service suite exercises reconciler. Its registration records the executable definition; no run result is asserted.

## What This Suite Proves

The bindings identify the detailed outcomes asserted by this suite. Test-level evidence retains the individual checks, including cases where several suites contribute to one scenario.

## What It Does Not Prove

In-process execution does not establish deployed infrastructure or a real provider response. Several bindings can supply different parts of a detailed scenario; no single-file completeness is implied.

## Real Dependencies and Test Doubles

The suite definition identifies its database fixtures and replaced clients, hooks, clocks or executors. Integration runs use the prepared database; lifecycle runs exercise the in-process route or adapter path.

## Must Not Be Doubled

The database constraints, transactions and service behavior claimed by an integration binding must execute. Replaced external seams cannot establish live provider or infrastructure behavior.
