---
id: TST-PFM-TNL-065
title: Platform protected history removal
kind: integration
product_area: platform
module: tenant-lifecycle
revision: 1
status: draft
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
repository: services-platform
files:
  - modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
implements: []
environment: local
implementation_state: implemented
latest_result: not-run
latest_run_at: null
latest_run_ref: null
conformance: not-verified
estimated_minutes: 5
isolation: >-
  Run-owned target and comparison workspace records in the prepared test database; owner access is limited to
  fixture arrangement, independent inspection and cleanup of those records.
evidence:
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../customers/services/persistence/customers
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/assignments
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/authentication-identities
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/identity-link-sessions
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/identity-pools
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/invitations
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/policies
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/roles
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/users
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/audit-events
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../communications/services/persistence/tenant-purges
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../../security/services/persistence/tenant-purges
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../services/lifecycle/participants
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../../services/persistence/tenants
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../../declared-table-seeder
  - >-
    services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js
    imports ../../deletion-support
binding_scope: >-
  No complete ATS or FAS scenario implementation is claimed for this file. Partial assertions, if present,
  remain evidence rather than implements links.
partial_scenario_evidence:
  - scenario: ATS-PFM-TNL-017-04
    references:
      - >-
        services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js#leaves
        the tenant no communication row at all
      - >-
        services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge-functions.integration.spec.js#leaves
        the tenant no security row at all
    provenance: test
    scope: partial assertions; no complete scenario implementation claimed
---
# Platform protected history removal

## Verification Boundary

The suite invokes production lifecycle services or persistence against its test database. Each fixture and directly called participant belongs to the repository named in the register; this is a local integration boundary.

## What This Suite Proves

Protected history removal is the inspected subject. The inspected engineering checks remain available in the register. Some may contribute partial assertions to capability scenarios, but the file is not claimed to implement any complete scenario; the unbound inventory records that remaining mapping work.

## What It Does Not Prove

Source inspection supplies no passing run. The suite does not establish console behavior, deployment configuration, complete removal in every application or recovery from a provider failure beyond its declared seams. A local zero inventory covers declared and seeded resources only.

## Real Dependencies and Test Doubles

The local deletion harness runs the production workflow definition, task handler, job engine and Platform persistence. It advances a controlled clock and supplies recording mail, in-memory storage and ledger, remote-application, search and portal-provider seams. These doubles establish orchestration behavior rather than provider removal.

## Must Not Be Doubled

Keep the production service or persistence function and the database constraints, row policies and guarded removal functions under test real. For dispatcher cases, keep route selection and authorization real as well. Provider and remote-application seams must remain explicit and cannot stand in for deployed cross-application qualification.
