---
id: FAS-PFM-TNL-04
title: Initial Import Recovery acceptance
feature: FEAT-PFM-TNL-04
product_area: platform
module: tenant-lifecycle
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  services-crm: a8d1364f1dd44b723bb5f9acba12f983e9ec8d69
  services-commerce: c8b66a98e2490617aec38ba5c8165dd9bd0a8f9b
  services-committees: 36129c24daeaadcdb339218c38cdeaff9861359d
  services-membership: 5994c270e8a37a30f848e99ba5b5ee6b87c08893
  services-submissions: 64236c19be89579ef5897aad7de3925ed3ce03bf
  services-websites: 5fc6823c69d5e6f208c21dba8c0eb3132f8bdc4c
  services-marketing: d071a159fe9782bb71ff246d5c67d5bbfe07fbfa
  rhythm-v2-docs: d318a948692343e2f0a7ecc2e11c50db179a8c95
capabilities:
  - CAP-PFM-TNL-011
  - CAP-PFM-TNL-012
scenarios:
  - id: FAS-PFM-TNL-04-01
    title: Staff correct an initial import before approving opening
    kind: behaviour
    exercises:
      - CAP-PFM-TNL-011
      - CAP-PFM-TNL-012
    relies_on:
      - ATS-PFM-TNL-011-03
      - ATS-PFM-TNL-012-06
      - ATS-PFM-TNL-012-08
      - ATS-PFM-TNL-011-05
    preconditions: An active implementation workspace contains an initial import that needs correction.
    steps: >-
      Open loading, reset classified import data, inspect retained setup and reset progress, reload and
      activate.
    expected: >-
      Reset leaves loading available for another import; activation later restores active lifecycle without
      changing implementation status or removing load history.
    negative: false
    data_needs: >-
      Create run-owned target and comparison workspaces, distinct staff and customer callers, and the fixture
      records named by the relied-on capability scenarios. Use controlled clocks and faults only where the
      scenario requires them.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - id: FAS-PFM-TNL-04-02
    title: Activation between reset batches stops further removal
    kind: interaction
    exercises:
      - CAP-PFM-TNL-011
      - CAP-PFM-TNL-012
    relies_on:
      - ATS-PFM-TNL-011-05
      - ATS-PFM-TNL-012-02
    preconditions: A loading workspace has an open reset paused after a committed batch.
    steps: Activate it through the separate activation permission and resume the next reset batch.
    expected: >-
      The activation can succeed; the next batch refuses the changed lifecycle and previously committed
      removal remains.
    negative: true
    data_needs: >-
      Create run-owned target and comparison workspaces, distinct staff and customer callers, and the fixture
      records named by the relied-on capability scenarios. Use controlled clocks and faults only where the
      scenario requires them.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - id: FAS-PFM-TNL-04-03
    title: A new reset finishes the removal left by a settled failure
    kind: lifecycle
    exercises:
      - CAP-PFM-TNL-011
      - CAP-PFM-TNL-012
    relies_on:
      - ATS-PFM-TNL-011-03
      - ATS-PFM-TNL-012-09
    preconditions: The loading workspace has a settled failed reset and selected rows remain.
    steps: 'Request another reset, follow its progress and inspect the remaining selected and retained data.'
    expected: >-
      The new job finishes classified removal, keeps preserved setup and leaves the workspace loading for
      correction.
    negative: false
    data_needs: >-
      Create run-owned target and comparison workspaces, distinct staff and customer callers, and the fixture
      records named by the relied-on capability scenarios. Use controlled clocks and faults only where the
      scenario requires them.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - id: FAS-PFM-TNL-04-04
    title: Import and activation authority remain separate
    kind: permission
    exercises:
      - CAP-PFM-TNL-011
      - CAP-PFM-TNL-012
    relies_on:
      - ATS-PFM-TNL-011-01
      - ATS-PFM-TNL-011-04
      - ATS-PFM-TNL-012-01
    preconditions: >-
      One staff caller can import and another can activate; a customer administrator has neither staff
      authority.
    steps: >-
      Try load entry and reset with the activation-only caller, try activation with the import-only caller and
      repeat the actions with customer authority.
    expected: >-
      Every cross-permission and customer attempt refuses without partial loading, activation or reset
      changes.
    negative: true
    data_needs: >-
      Create run-owned target and comparison workspaces, distinct staff and customer callers, and the fixture
      records named by the relied-on capability scenarios. Use controlled clocks and faults only where the
      scenario requires them.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - id: FAS-PFM-TNL-04-05
    title: Unsupported remote reset is refused before local records are removed
    kind: regression
    exercises:
      - CAP-PFM-TNL-011
      - CAP-PFM-TNL-012
    relies_on:
      - ATS-PFM-TNL-011-03
      - ATS-PFM-TNL-012-05
    preconditions: >-
      A loading fixture has local data and a selected remote participant that does not advertise reset
      support.
    steps: >-
      Confirm reset for the correct workspace and inspect planning, job rows and resource counts after
      refusal.
    expected: >-
      Planning identifies the unsupported application, creates no reset job and removes no local or remote
      records.
    negative: true
    data_needs: >-
      Create run-owned target and comparison workspaces, distinct staff and customer callers, and the fixture
      records named by the relied-on capability scenarios. Use controlled clocks and faults only where the
      scenario requires them.
    bound_to: []
    provenance: proposed
    source: >-
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
evidence:
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-011-open-a-workspace-for-its-initial-import-and-let-its-people.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-012-empty-a-loading-workspace-so-it-can-be-loaded-again.md
execution_gap: FND-PFM-TNL-086
---
# Initial Import Recovery: Feature Acceptance Suite

## What the Feature Must Do as a Whole

An active implementation workspace contains an initial import that needs correction. The behaviour case follows that staff outcome through the participating capabilities and compares their records at the end. Separate lifecycle, permission and regression cases test the consequences of interruption or refusal. These are proposed combined checks; inspected component tests supply their prerequisites but do not establish a passing feature run.

## Interactions Between Capabilities

Activation between reset batches stops further removal. A loading workspace has an open reset paused after a committed batch. The case changes the upstream condition and checks the downstream outcome described in its structured assertions. Where the chain crosses a feature boundary, the scenario names the other capability while the suite retains its own feature membership.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Define cumulative feature checks from the examined capability scenarios and known failure boundaries. |
