---
id: FAS-PFM-TNL-01
title: New Workspace Construction acceptance
feature: FEAT-PFM-TNL-01
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-001
  - CAP-PFM-TNL-002
  - CAP-PFM-TNL-003
  - CAP-PFM-TNL-004
scenarios:
  - id: FAS-PFM-TNL-01-01
    title: Staff follow a new workspace from acceptance to first use
    kind: behaviour
    exercises:
      - CAP-PFM-TNL-001
      - CAP-PFM-TNL-002
      - CAP-PFM-TNL-003
      - CAP-PFM-TNL-004
    relies_on:
      - ATS-PFM-TNL-001-06
      - ATS-PFM-TNL-002-05
      - ATS-PFM-TNL-003-07
      - ATS-PFM-TNL-004-09
    preconditions: Authorized staff prepare a new-customer request with a first administrator and an unverified sender.
    steps: >-
      Submit the request, inspect its pending snapshot, finish the build, read completed steps and inspect
      first access and sender configuration.
    expected: >-
      The same workspace progresses from closed construction to usable active standing; staff can read
      progress, one invitation exists and pending sender verification does not block opening.
    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-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
  - id: FAS-PFM-TNL-01-02
    title: A missing readiness resource prevents opening
    kind: interaction
    exercises:
      - CAP-PFM-TNL-001
      - CAP-PFM-TNL-002
      - CAP-PFM-TNL-003
    relies_on:
      - ATS-PFM-TNL-001-06
      - ATS-PFM-TNL-002-04
      - ATS-PFM-TNL-003-02
    preconditions: One enabled participant builds but reports a missing required resource.
    steps: >-
      Submit and run construction, inspect readiness failure and the retained workspace, then try ordinary
      customer access.
    expected: >-
      The request has one identity and a readable failed attempt; retained resources remain and ordinary
      access is still closed.
    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-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
  - id: FAS-PFM-TNL-01-03
    title: Retry supplies outstanding work without a second invitation
    kind: lifecycle
    exercises:
      - CAP-PFM-TNL-002
      - CAP-PFM-TNL-003
      - CAP-PFM-TNL-004
    relies_on:
      - ATS-PFM-TNL-002-06
      - ATS-PFM-TNL-003-09
      - ATS-PFM-TNL-004-03
    preconditions: The first attempt failed after first-administrator setup and at least one participant completed.
    steps: 'Correct the failed resource, retry, inspect completed-step reuse and open the workspace.'
    expected: >-
      The new attempt retains its link to the failed one, omits finished construction and uses the original
      administrator invitation.
    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-002-open-a-new-workspace-only-when-every-application-reports-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
  - id: FAS-PFM-TNL-01-04
    title: Customer authority cannot create or recover a workspace
    kind: permission
    exercises:
      - CAP-PFM-TNL-001
      - CAP-PFM-TNL-003
    relies_on:
      - ATS-PFM-TNL-001-01
      - ATS-PFM-TNL-003-01
    preconditions: A customer administrator has ordinary access to an existing workspace and a staff-created build exists.
    steps: >-
      Try creation, snapshot inspection and provisioning retry with customer authority, then read the build
      with authorized staff.
    expected: >-
      Customer calls refuse without a new workspace or attempt; the authorized staff read still returns the
      unchanged build.
    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-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
  - id: FAS-PFM-TNL-01-05
    title: Rejected sender input leaves no partially accepted request
    kind: regression
    exercises:
      - CAP-PFM-TNL-001
      - CAP-PFM-TNL-004
    relies_on:
      - ATS-PFM-TNL-001-05
      - ATS-PFM-TNL-004-05
    preconditions: A new-customer request contains an invalid sender strategy or domain.
    steps: 'Submit each invalid request and inspect customer, workspace, attempt and sender resources afterward.'
    expected: >-
      No partial request survives; input refusal does not create a customer, workspace, attempt or provider
      identity.
    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-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
      rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    action_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
    assertion_evidence:
      provenance: proposed
      source: >-
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
        rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
evidence:
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-002-open-a-new-workspace-only-when-every-application-reports-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-003-follow-a-provisioning-retry-it-and-hear-how-it-ended.md
  - >-
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-001-ask-for-a-new-workspace-and-have-every-application-build-it.md;
    rhythm-v2-docs:specs/platform/tenant-lifecycle/planning/capabilities/CAP-PFM-TNL-004-give-a-new-customer-its-first-administrator-and-its-own-e.md
execution_gap: FND-PFM-TNL-086
---
# New Workspace Construction: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Authorized staff prepare a new-customer request with a first administrator and an unverified sender. 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

A missing readiness resource prevents opening. One enabled participant builds but reports a missing required resource. 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. |
