---
id: FAS-PFM-OPS-03
feature: FEAT-PFM-OPS-03
product_area: platform
module: operations
revision: 1
status: proposed
product_intent: proposed
source_sha:
  services-platform: ad3f6a6582843008ed0f5a17b131878d15829af1
  macroservice-libraries: 54536a441935c6e09fdb7f96f0bec71c52ba4e03
  react-console: baf6dae382d6f41dce976c7f848667ccc37e076f
capabilities:
  - CAP-PFM-OPS-011
  - CAP-PFM-OPS-012
  - CAP-PFM-OPS-013
scenarios:
  - id: FAS-PFM-OPS-03-01
    title: Explain commercial coverage with retained exceptions
    kind: behaviour
    exercises:
      - CAP-PFM-OPS-011
      - CAP-PFM-OPS-012
      - CAP-PFM-OPS-013
    relies_on:
      - ATS-PFM-OPS-011-05
      - ATS-PFM-OPS-012-08
      - ATS-PFM-OPS-013-01
    preconditions: A workspace has company coverage and an existing staff exception.
    steps:
      - do: 'Read the company, apply a new complete snapshot, and inspect staff licensing.'
        provenance: proposed
        source: ATS-PFM-OPS-011-05; ATS-PFM-OPS-012-08; ATS-PFM-OPS-013-01
    expected: Staff can relate the current coverage to commercial evidence and independent exception history.
    negative: false
    data_needs: 'An isolated workspace, owned test records and caller contexts named in the preconditions.'
    bound_to: []
    provenance: proposed
    source: ATS-PFM-OPS-011-05; ATS-PFM-OPS-012-08; ATS-PFM-OPS-013-01
  - id: FAS-PFM-OPS-03-02
    title: Review a withhold and its withdrawal
    kind: interaction
    exercises:
      - CAP-PFM-OPS-011
      - CAP-PFM-OPS-013
    relies_on:
      - ATS-PFM-OPS-011-04
      - ATS-PFM-OPS-013-02
      - ATS-PFM-OPS-013-03
    preconditions: A ready licensed application supports staff exception management.
    steps:
      - do: 'Write a withhold, inspect its staff explanation, revoke it, then expand historical overrides.'
        provenance: test
        source: >-
          react-console:e2e/dev/hq-licensing.dev.spec.ts#the licensing panel withholds an application on
          the development tenant with a reason, and revokes it
    expected: >-
      Staff see the active refusal become restored standing while the withdrawn decision retains author
      and time.
    negative: false
    data_needs: 'An isolated workspace, owned test records and caller contexts named in the preconditions.'
    bound_to:
      - TST-PFM-OPS-050
    provenance: test
    source: >-
      react-console:e2e/dev/hq-licensing.dev.spec.ts#the licensing panel withholds an application on the
      development tenant with a reason, and revokes it
  - id: FAS-PFM-OPS-03-03
    title: Preserve a commercial copy through outage and cancellation
    kind: lifecycle
    exercises:
      - CAP-PFM-OPS-011
      - CAP-PFM-OPS-012
      - CAP-PFM-OPS-013
    relies_on:
      - ATS-PFM-OPS-012-08
      - ATS-PFM-OPS-012-10
      - ATS-PFM-OPS-012-13
    preconditions: A synchronized company licenses a workspace that also has staff decisions.
    steps:
      - do: 'Fail a provider read, then successfully synchronize cancellation and inspect staff licensing.'
        provenance: proposed
        source: ATS-PFM-OPS-012-08; ATS-PFM-OPS-012-10; ATS-PFM-OPS-012-13
    expected: >-
      Failure preserves the copy; cancellation replaces its coverage while separate staff history
      remains.
    negative: false
    data_needs: 'An isolated workspace, owned test records and caller contexts named in the preconditions.'
    bound_to: []
    provenance: proposed
    source: ATS-PFM-OPS-012-08; ATS-PFM-OPS-012-10; ATS-PFM-OPS-012-13
  - id: FAS-PFM-OPS-03-04
    title: Separate commercial readership from decision making
    kind: permission
    exercises:
      - CAP-PFM-OPS-011
      - CAP-PFM-OPS-012
      - CAP-PFM-OPS-013
    relies_on:
      - ATS-PFM-OPS-011-08
      - ATS-PFM-OPS-012-12
      - ATS-PFM-OPS-013-01
    preconditions: 'Staff readers, staff managers and customer administrators have different authority.'
    steps:
      - do: >-
          Read company and workspace licensing, then attempt synchronization and exception writes under
          each context.
        provenance: proposed
        source: ATS-PFM-OPS-011-08; ATS-PFM-OPS-012-12; ATS-PFM-OPS-013-01
    expected: >-
      Readers can inspect permitted evidence; only managers change it and customer context cannot use HQ
      actions.
    negative: true
    data_needs: 'An isolated workspace, owned test records and caller contexts named in the preconditions.'
    bound_to: []
    provenance: proposed
    source: ATS-PFM-OPS-011-08; ATS-PFM-OPS-012-12; ATS-PFM-OPS-013-01
  - id: FAS-PFM-OPS-03-05
    title: Preserve deliberately withdrawn grants during reseeding
    kind: regression
    exercises:
      - CAP-PFM-OPS-011
      - CAP-PFM-OPS-012
      - CAP-PFM-OPS-013
    relies_on:
      - ATS-PFM-OPS-011-09
      - ATS-PFM-OPS-012-09
      - ATS-PFM-OPS-013-02
    preconditions: A development workspace has a withdrawn seed grant and a retained company copy.
    steps:
      - do: Reseed twice with the provider unconfigured and inspect the staff decision history.
        provenance: proposed
        source: ATS-PFM-OPS-011-09; ATS-PFM-OPS-012-09; ATS-PFM-OPS-013-02
    expected: >-
      Neither repeated seeding nor absent configuration recreates the withdrawn decision or removes its
      history.
    negative: false
    data_needs: 'An isolated workspace, owned test records and caller contexts named in the preconditions.'
    bound_to: []
    provenance: proposed
    source: ATS-PFM-OPS-011-09; ATS-PFM-OPS-012-09; ATS-PFM-OPS-013-02
evidence:
  - CAP-PFM-OPS-011; its capability test specification and the workflows it crosses
  - CAP-PFM-OPS-012; its capability test specification and the workflows it crosses
  - CAP-PFM-OPS-013; its capability test specification and the workflows it crosses
---

# Commercial Licensing: Feature Acceptance Suite

## What the Feature Must Do as a Whole

Commercial licensing must remain explainable as contracts and deliberate staff exceptions change. The feature cases connect replacement, exception history and staff review, including provider outages and refused writes.

## Interactions Between Capabilities

Review a withhold and its withdrawal. Staff see the active refusal become restored standing while the withdrawn decision retains author and time.

Preserve a commercial copy through outage and cancellation. Failure preserves the copy; cancellation replaces its coverage while separate staff history remains.

Proposed chains require an executable suite that performs the complete sequence. Separate lower-level bindings do not establish whole-feature execution.

## Regression Record

| Revision | Change | Scenario | Why |
|---|---|---|---|
| 1 | initial | all | Establish cumulative whole-feature proof from the landed planning and design contracts. |
