Skip to content

CAP-PFM-TNL-018Retain deletion evidence and prevent identifier reuse

Markdown

CAP-PFM-TNL-018

Retain deletion evidence and prevent identifier reuse

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationPartially observed

KindCapabilityProduct areaPlatformModuleWorkspace Lifecycle Across ApplicationsRevision2

Read atservices-platform ad3f6a65

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Outcomes
The request retains lifecycle identity and action history after workspace removal.Completed deletion permanently retires the identifier.Restore reapplication removes ledger-listed workspaces that reappear.
Surfaces
apijob
Intent sources
services-platform:docs/tenants/tenant-lifecycle-plan.md#§5.10services-platform:docs/tenants/tenant-lifecycle-plan.md#§9services-platform:docs/tenants/tenant-lifecycle-plan.md#§8.3services-platform:docs/tenants/tenant-lifecycle-plan.md#§13 D7

Controls

32 controls apply, from the corpus control catalogue.

TC-AVL-001 TC-AVL-002 TC-AVL-003 TC-AZ-001 TC-AZ-002 TC-AZ-003 TC-AZ-004 TC-AZ-005 TC-DAT-001 TC-DAT-003 TC-DAT-004 TC-DAT-007 TC-IAM-001 TC-IAM-002 TC-IAM-003 TC-IAM-004 TC-IAM-005 TC-LOG-001 TC-LOG-002 TC-LOG-003 TC-LOG-004 TC-LOG-005 TC-MON-001 TC-PI-001 TC-PI-003 TC-PI-005 TC-TEN-001 TC-TEN-002 TC-TEN-003 TC-VEN-001 TC-VEN-002 TC-VEN-003

Permissions

KeyChecked atScope
platform.tenants.deletion-readapiglobal
hq.tenants.updateapiglobal

Business Rules

9 rules, 7 to be proved before approval. A rule's product intent is derived from its origin: 9 confirmed by a product decision, the rest inheriting this capability's confirmed.

IdRuleKindEnforced atProvenance
01must prove
Confirmed
Completed requests store numeric removal totals and the inventory showing no remaining participant data.
calculationservicetest
services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge.integration.spec.js#records on the request what was removed, and the counts it verified
02must prove
Confirmed
Requests and notices retain workspace and customer identity, actors, explanations and dates independently of the deleted workspace record.
invariantdatabaseobserved
03must prove
Confirmed
Completion also writes a workspace-keyed ledger outside the database with live-removal and backup-expiry times.
origin: services-platform:docs/tenants/tenant-lifecycle-plan.md#§9 Restoring without resurrecting (approved)
policyservicetest
services-platform:modules/tenants/tests/integration/services/deletion/tenant-purge.integration.spec.js#writes the permanent deletion record outside the database, keyed by the tenant
04must prove
Confirmed
A completed deletion retires the workspace identifier and creation refuses reuse with the retiring deletion identified.
validationservicetest
05
Confirmed
Live removal leaves backups to expire within the documented thirty-five-day Production retention period.
policyservicedocumented
services-platform:docs/tenants/tenant-lifecycle-plan.md#§9 Live deletion is not backup erasure
06must prove
Confirmed
Restore reapplication disables ledger-listed workspaces that reappear and purges them without another wait or notices; its default mode only reports proposed actions.
no proof recorded yet
lifecycleserviceobserved
07must prove
Confirmed
The product should keep ledger-listed restored workspaces unavailable until deletion is reapplied.
policyapiunknown
08must prove
Confirmed
Immediate deletion refuses without reading or altering the workspace and directs callers to the deletion-request process.
policyapitest
services-platform:modules/tenants/tests/e2e/tenants.e2e.spec.js#leaves the tenant exactly as it was, which is the point of refusing
09
Confirmed
The orphan report reads Platform participant leftovers, missing workspaces behind open requests, returned workspaces behind completed deletions and jobs without a request to follow.
policyserviceobserved

Scenarios

IdGivenWhenThenProvenance
01A restore returns a previously deleted workspace.Staff apply the deletion-ledger recovery process.The workspace is disabled and purged again with the prior deletion referenced.observed
02A returning customer asks for its retired identifier.Staff submit another workspace request using it.Creation refuses retirement and requires a different identifier.documented

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.