---
id: TST-ACC-REC-002
title: Duplicate deposit and request replay controls
kind: api-lifecycle
product_area: accounting
module: reconciliation
revision: 1
status: draft
source_sha:
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
repository: react-console
files:
  - acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts
implements:
  - ATS-ACC-REC-001-11
environment: deployed-dev
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 15
isolation: >-
  Run-owned business units, labelled records and any per-run policy users; shared personas remain outside
  cleanup.
evidence:
  - 'react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts'
  - 'react-console:acceptance/accounting/playwright/fixtures/journey.ts:journey'
bindings:
  - scenario: ATS-ACC-REC-001-11
    assertions:
      - >-
        react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0591.spec.ts#ACT-ACC-0591
execution_gate: >-
  The catalog status, required fixtures and destructive-run opt-in can prevent execution; a registered file
  does not establish a completed run.
---

# Duplicate deposit and request replay controls

## Verification Boundary

This suite runs against deployed services through its journey harness. Its assertions use returned records and activity; unavailable direct database checks remain outside its proof.

## What This Suite Proves

The executable assertions identified in the binding records supply the registered scenario observations. When a scenario names several suites, this suite supplies its listed assertions and does not independently establish every clause.

## What It Does Not Prove

Direct database constraints, hidden posting rows and actual schedule dispatch are outside this journey’s returned-record observations.

## Real Dependencies and Test Doubles

Deployed Accounting and any CRM setup calls are real. Journey helpers create run-owned records and use existing personas or per-run policy users. No direct database availability is assumed.

## Must Not Be Doubled

The exercised public financial commands and their returned identities remain real. A journey cannot replace failed service behavior with a synthetic success.
