---
id: ATS-ACC-REC-008
scope: CAP-ACC-REC-008
product_area: accounting
module: reconciliation
revision: 3
status: proposed
approved_by: null
approved_at: null
source_sha:
  services-accounting: f47cb263875bbc0c5640fba7dae6785ec32695f8
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
scenarios:
  - id: ATS-ACC-REC-008-01
    title: Opening validates payouts and replay
    level: api
    proves:
      - BR-CAP-ACC-REC-008-01
    preconditions: 'Test sets contain mixed merchants, voided payouts and too many payouts.'
    steps: 'Open invalid sets, repeat a valid keyed request and change its payout set.'
    expected: Bad sets and changed keyed bodies fail; unchanged creation replays one draft.
    negative: true
    data_needs: Provide workspace fixture for this case.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        a voided payout with 409 payout-voided naming it
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        payouts of two merchant accounts with 400
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        more than 50 payouts with 400
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#writes
        no batch for a refused create
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#answers
        the same Idempotency-Key and payouts with the same batch
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        the same Idempotency-Key for other payouts with 409 idempotency-key-reused
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#refuses a
        create without the header with 400
      - TST-ACC-REC-069
      - TST-ACC-REC-027
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
      a voided payout with 409 payout-voided naming it
    category: validation
  - id: ATS-ACC-REC-008-02
    title: Concurrent payout ownership
    level: api
    proves:
      - BR-CAP-ACC-REC-008-02
    preconditions: Two preparers select one unheld payout.
    steps: Open reconciliations simultaneously.
    expected: One succeeds and the other receives the winning holder and preparer.
    negative: true
    data_needs: Provide Two preparers for this case.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/reconciliation-batches/claim-concurrency.integration.spec.js#lets
        the first create succeed
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/reconciliation-batches/claim-concurrency.integration.spec.js#refuses
        the second with 409 payout_held naming the first batch and its preparer
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/reconciliation-batches/claim-concurrency.integration.spec.js#leaves
        exactly one active link of the payout
      - >-
        services-accounting:modules/reconciliation/tests/integration/db/reconciliation-batch-payouts.table.integration.spec.js#refuses
        a second draft’s link of a payout another draft holds
      - TST-ACC-REC-075
      - TST-ACC-REC-035
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/reconciliation-batches/claim-concurrency.integration.spec.js#lets
      the first create succeed
    category: concurrency
  - id: ATS-ACC-REC-008-03
    title: Initial draft identity and totals
    level: api
    proves:
      - BR-CAP-ACC-REC-008-03
    preconditions: An unheld payout is ready for reconciliation.
    steps: 'Create drafts and inspect their numbers, preparer and linked amounts.'
    expected: 'New drafts are open, numbered and carry the negative payout total as initial difference.'
    negative: false
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#writes
        an open draft batch numbered 10001, prepared by the caller, with the payouts’ total
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#links
        each payout at its net amount, payout number order
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#records
        batch.created with its number, payouts, total and version and the idempotency key
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#numbers
        the tenant’s next batch 10002
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#creates a
        draft batch over the payout, its difference minus the payout
      - TST-ACC-REC-069
      - TST-ACC-REC-027
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#writes
      an open draft batch numbered 10001, prepared by the caller, with the payouts’ total
    category: transition
  - id: ATS-ACC-REC-008-04
    title: Candidate context and conflicting evidence
    level: api
    proves:
      - BR-CAP-ACC-REC-008-04
    preconditions: 'Items include another merchant, another holder and another processor payout reference.'
    steps: Read suggested and all views and search for the conflicting reference.
    expected: 'Compatible candidates remain, other holdings are separate and a conflict appears only when searched.'
    negative: false
    data_needs: Provide candidates fixture for this case.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
        the item another open batch claims only in held, with its holder
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#leaves
        out an item naming a different payout when nobody searches
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#shows
        an item naming a different payout to a search, tier 5 with the conflict
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#never
        answers a withdrawn item or one not yet eligible, though each matches the payout
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#never
        answers another merchant account’s or another unit’s items, though each names the payout
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#answers the
        captures RB-10001 holds apart, with their holder
      - TST-ACC-REC-062
      - TST-ACC-REC-027
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
      the item another open batch claims only in held, with its holder
    category: rule
  - id: ATS-ACC-REC-008-05
    title: Matching ranks depend on evidence
    level: unit
    proves:
      - BR-CAP-ACC-REC-008-05
      - BR-CAP-ACC-REC-008-06
    preconditions: Candidates differ in references and expected dates around a previous deposit.
    steps: Rank each candidate and vary amounts without changing evidence.
    expected: Evidence determines ranks and explanations; changing the amount does not improve a match.
    negative: false
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        the processor reports paid in this payout
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        settled in a processor batch with an item claimed by payout reference
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        expected after the previous deposit and before this one
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        expected 4 business days before the deposit, with no previous payout
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        expected on the sixth business day before the deposit, with no previous payout
      - >-
        services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate
        the same whatever amount it carries
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-scenario.e2e.spec.js#step 4:
        suggests by date alone, never a combination of amounts that adds up to the deposit
      - TST-ACC-REC-086
      - TST-ACC-REC-028
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/unit/rules/match-ranking.spec.js#ranks a candidate the
      processor reports paid in this payout
    category: boundary
  - id: ATS-ACC-REC-008-06
    title: 'Suggested, all and widened windows'
    level: api
    proves:
      - BR-CAP-ACC-REC-008-07
    preconditions: 'Candidates lie inside and outside the default window, with one dismissed.'
    steps: Compare views and widen the date range.
    expected: 'Suggested excludes weak and dismissed items; all flags them, and widening exposes later dates.'
    negative: false
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
        tiers 1 to 4 not dismissed, each candidate whole, the held item apart, with the default window
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
        every row of the guard, tier 5 and the dismissed flagged, each candidate whole
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#leaves
        out items expected outside the default window
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#finds
        an item after the window when `to` widens it
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#answers the
        default window, 14 days before the payout to 3 days after
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
        the default window from the day after the previous deposit
      - TST-ACC-REC-062
      - TST-ACC-REC-027
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-candidates.queries.integration.spec.js#answers
      tiers 1 to 4 not dismissed, each candidate whole, the held item apart, with the default window
    category: boundary
  - id: ATS-ACC-REC-008-07
    title: Dismissal and undo without draft mutation
    level: api
    proves:
      - BR-CAP-ACC-REC-008-08
    preconditions: An open draft has a suggested item.
    steps: 'Dismiss twice, undo twice and try dismissal against sealed or incompatible records.'
    expected: >-
      Version and totals stay fixed, repeat dismissal adds no event, and invalid dismissal or second undo
      fails.
    negative: true
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#answers
        the dismissal as written
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#leaves
        the batch’s version and totals as they were
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#answers
        a second dismissal of the item with the first
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#records
        no event for the second dismissal
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#refuses
        another merchant account’s item with 400
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#refuses
        a dismissal in a batch that is not open with 409 batch-not-open
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#refuses
        a second undo with 404
      - >-
        services-accounting:modules/reconciliation/tests/integration/db/reconciliation-dismissals.table.integration.spec.js#refuses
        deleting the dismissal of a finalized batch (RHF30)
      - TST-ACC-REC-063
      - TST-ACC-REC-037
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-dismissals.integration.spec.js#answers
      the dismissal as written
    category: edge
  - id: ATS-ACC-REC-008-08
    title: Notes use version and open state
    level: api
    proves:
      - BR-CAP-ACC-REC-008-09
    preconditions: Open and finalized reconciliations are available.
    steps: 'Save notes, retry at a stale version, clear notes and try editing the finalized record.'
    expected: 'Current open edits advance version and audit, while stale and sealed edits fail.'
    negative: true
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#writes
        the notes one version on, by the caller
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#records
        batch.notes-updated with the versions
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        notes at a version that is not the batch’s with 409 StaleObject
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#clears
        the notes with null
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#refuses
        notes in a batch that is not open with 409 batch-not-open
      - TST-ACC-REC-069
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.integration.spec.js#writes
      the notes one version on, by the caller
    category: validation
  - id: ATS-ACC-REC-008-09
    title: Source-batch grouping and ordered history
    level: api
    proves:
      - BR-CAP-ACC-REC-008-10
    preconditions: Claims span two operational batches alongside a manual item.
    steps: Read grouped sources and activity pages.
    expected: 'Groups include counts and amounts, unbatched entries appear last and activity is chronological.'
    negative: false
    data_needs: No additional fixture beyond the case setup.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.queries.integration.spec.js#groups
        the active claims by operational batch with their count and amount, the claims without one last
      - >-
        services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.queries.integration.spec.js#answers
        every event oldest first with every mapped property, and no cursor after the last
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#lists the
        operational batch the remaining claim came from
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#lists every
        event of the batch, oldest first
      - TST-ACC-REC-070
      - TST-ACC-REC-027
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/integration/services/persistence/reconciliation-workspaces.queries.integration.spec.js#groups
      the active claims by operational batch with their count and amount, the claims without one last
    category: rule
  - id: ATS-ACC-REC-008-10
    title: Opening and inspection grants
    level: api
    proves:
      - BR-CAP-ACC-REC-008-11
    preconditions: A read-only caller and two workspaces are available.
    steps: Create and inspect as the reader and request another workspace’s record.
    expected: 'Inspection is allowed without write actions, creation is forbidden and foreign records are absent.'
    negative: true
    data_needs: Assign callers through the relevant role policies.
    bound_to:
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#lets a
        principal with the read key alone read the batch
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#offers the
        reader no action
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#refuses the
        reader a create with 403
      - >-
        services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#answers 404
        for tenant A’s batch in tenant B
      - >-
        services-accounting:tests/unit/reconciliation-matching-routes.spec.ts#serves the create under
        accounting.reconciliation-batches.create
      - >-
        services-accounting:tests/unit/reconciliation-matching-routes.spec.ts#serves every command on an open
        batch under accounting.reconciliation-batches.update
      - >-
        services-accounting:tests/unit/reconciliation-matching-routes.spec.ts#serves the candidates, the
        source batches and the history under accounting.reconciliation-batches.read
      - TST-ACC-REC-027
      - TST-ACC-REC-096
    provenance: test
    source: >-
      services-accounting:modules/reconciliation/tests/e2e/reconciliation-matching.e2e.spec.js#lets a
      principal with the read key alone read the batch
    category: permission
  - id: ATS-ACC-REC-008-11
    title: Evidence-led matching journey
    level: api
    proves:
      - BR-CAP-ACC-REC-008-05
      - BR-CAP-ACC-REC-008-06
      - BR-CAP-ACC-REC-008-08
    preconditions: Captures surround a deposit and another draft holds one item.
    steps: 'Compare views, dismiss and undo, then submit a claim with multiple invalid items.'
    expected: >-
      Explanations and holdings remain visible, dismissal preserves version and claim errors identify each
      invalid item.
    negative: true
    data_needs: Use the isolated reconciliation fixture unit.
    bound_to:
      - >-
        react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0595.spec.ts#ACT-ACC-0595
      - TST-ACC-REC-005
    provenance: test
    source: >-
      react-console:acceptance/accounting/playwright/journeys/reconciliation-close/ACT-ACC-0595.spec.ts#ACT-ACC-0595
    category: interaction
  - id: ATS-ACC-REC-008-12
    title: Candidate evidence survives allocation
    category: interaction
    level: api
    proves:
      - BR-CAP-ACC-REC-008-04
      - BR-CAP-ACC-REC-009-04
    interacts_with:
      - CAP-ACC-REC-009
    relies_on:
      - ATS-ACC-REC-008-04
      - ATS-ACC-REC-009-04
    preconditions: Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
    steps:
      - do: 'Inspect ranked candidates, claim one and inspect grouped sources and activity.'
        expect: The claim carries the displayed evidence and changes draft totals and the source group.
        provenance: proposed
        source:
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-009-claim-what-a-deposit-paid-out-without-two-people-claiming.md
    expected: The claim carries the displayed evidence and changes draft totals and the source group.
    negative: false
    data_needs: >-
      Local merchant and bank accounts, an open operational batch and distinct preparation and approval
      callers.
    bound_to: []
    provenance: proposed
    source:
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-009-claim-what-a-deposit-paid-out-without-two-people-claiming.md
  - id: ATS-ACC-REC-008-13
    title: Deductions join matching preparation
    category: interaction
    level: api
    proves:
      - BR-CAP-ACC-REC-008-10
      - BR-CAP-ACC-REC-010-04
      - BR-CAP-ACC-REC-010-06
    interacts_with:
      - CAP-ACC-REC-010
    relies_on:
      - ATS-ACC-REC-008-09
      - ATS-ACC-REC-010-04
    preconditions: Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
    steps:
      - do: 'Open an explanation, claim captures and add a documented processor fee.'
        expect: The manual entry appears separately from captures and contributes to the same draft difference.
        provenance: proposed
        source:
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-010-enter-the-fees-reserves-and-corrections-the-processor-took.md
    expected: The manual entry appears separately from captures and contributes to the same draft difference.
    negative: false
    data_needs: >-
      Local merchant and bank accounts, an open operational batch and distinct preparation and approval
      callers.
    bound_to: []
    provenance: proposed
    source:
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-010-enter-the-fees-reserves-and-corrections-the-processor-took.md
  - id: ATS-ACC-REC-008-14
    title: Abandoned preparation releases its payout
    category: interaction
    level: api
    proves:
      - BR-CAP-ACC-REC-008-08
      - BR-CAP-ACC-REC-012-02
      - BR-CAP-ACC-REC-012-03
      - BR-CAP-ACC-REC-012-04
      - BR-CAP-ACC-REC-012-07
    interacts_with:
      - CAP-ACC-REC-012
    relies_on:
      - ATS-ACC-REC-008-07
      - ATS-ACC-REC-012-02
    preconditions: Use one isolated workspace with the financial records and caller roles required by the relied-on cases.
    steps:
      - do: 'Open a workspace, dismiss a candidate and abandon the draft before opening a replacement.'
        expect: The old workspace retains history and the replacement can hold the released payout.
        provenance: proposed
        source:
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
          - >-
            specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-012-abandon-a-draft-reconciliation-and-free-what-it-held.md
    expected: The old workspace retains history and the replacement can hold the released payout.
    negative: false
    data_needs: >-
      Local merchant and bank accounts, an open operational batch and distinct preparation and approval
      callers.
    bound_to: []
    provenance: proposed
    source:
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-008-open-a-reconciliation-over-a-deposit-and-see-what-explains.md
      - >-
        specs/accounting/reconciliation/planning/capabilities/CAP-ACC-REC-012-abandon-a-draft-reconciliation-and-free-what-it-held.md
evidence:
  - >-
    Bindings identify existing tests at the pinned revisions; proposed cases remain unbound and describe the
    proof still needed.
coverage:
  rule: covered
  transition: covered
  validation: covered
  permission: covered
  edge: covered
  boundary: covered
  concurrency: covered
  interaction: covered
  failure: 'gap: FND-ACC-REC-053'
  invariant: 'gap: FND-ACC-REC-053'
coverage_notes:
  design_completeness: >-
    Covered categories count specified cases, including proposed cases. Exhaustive state-transition,
    permission-key and domain-invariant traceability remains a separate proof gap.
---

# Prepare a payout explanation from matching evidence: Capability Test Specification

## Coverage

| Rule | Proved by |
|---|---|
| `BR-CAP-ACC-REC-008-01` | `ATS-ACC-REC-008-01` |
| `BR-CAP-ACC-REC-008-02` | `ATS-ACC-REC-008-02` |
| `BR-CAP-ACC-REC-008-03` | `ATS-ACC-REC-008-03` |
| `BR-CAP-ACC-REC-008-04` | `ATS-ACC-REC-008-04` |
| `BR-CAP-ACC-REC-008-05` | `ATS-ACC-REC-008-05`, `ATS-ACC-REC-008-11` |
| `BR-CAP-ACC-REC-008-06` | `ATS-ACC-REC-008-05`, `ATS-ACC-REC-008-11` |
| `BR-CAP-ACC-REC-008-07` | `ATS-ACC-REC-008-06` |
| `BR-CAP-ACC-REC-008-08` | `ATS-ACC-REC-008-07`, `ATS-ACC-REC-008-11` |
| `BR-CAP-ACC-REC-008-09` | `ATS-ACC-REC-008-08` |
| `BR-CAP-ACC-REC-008-10` | `ATS-ACC-REC-008-09` |
| `BR-CAP-ACC-REC-008-11` | `ATS-ACC-REC-008-10` |

## Interactions With Related Capabilities

Evidence-led matching journey. Candidate evidence survives allocation. Deductions join matching preparation. Abandoned preparation releases its payout. Proposed interaction cases require executable proof.
