Skip to content

CAP-PFM-OPS-013Explain workspace licensing to Rhythm staff

Markdown

CAP-PFM-OPS-013

Explain workspace licensing to Rhythm staff

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationInconsistent

KindCapabilityProduct areaPlatformModuleOperational RecordsRevision1

Read atservices-platform ad3f6a65react-console baf6dae3

The Formal Contract

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

Outcomes
Staff can inspect the decisions behind workspace application availability.Management controls depend on separate staff authority.
Surfaces
consoleapi
Preconditions
The staff caller holds HQ licensing-read authority.
Postconditions
Licensing inspection does not alter the decision or operational records.
Constraints
The licensing section appears within the workspace’s HQ page owned by security.
Intent sources
services-platform:docs/proposals/application-access-and-entitlements.md#Status (HQ licensing panel accepted by Andrew, 2026-10-15)

Controls

27 controls apply, from the corpus control catalogue.

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

Permissions

KeyChecked atScope
hq.licensing.readapiglobal
hq.licensing.manageconsoleglobal

Business Rules

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

IdRuleKindEnforced atProvenance
01must prove
Confirmed
HQ licensing readership exposes each application’s commercial, operational and availability states with current and historical override reasons and authors, while unauthorized staff and customer callers are refused.
permissionapitest
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#answers the overrides behind the decision, with the reason and the author of each
02must prove
Confirmed
Revoked overrides remain in the staff licensing response as part of the decision history.
policyapitest
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#keeps a revoked override in the answer, because the trail is what the screen is for
03must prove
Confirmed
The staff response distinguishes withheld access from missing licensing and contract-derived licences from override-derived licences.
policyapitest
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#tells staff the same application was withheld, which is the distinction the two answers keep
04must prove
Confirmed
The HQ panel resolves author names, collapses historical overrides and limits licensing actions to staff with management authority.
permissionconsoletest
react-console:e2e/dev/hq-licensing.dev.spec.ts#the panel lists the Fictional Association's applications, names every author and folds the past overrides away
05must prove
Confirmed
Panel actions require a reason of at least twenty characters, and a grant for a customer workspace also requires an end date.
validationconsoletest
react-console:e2e/mock/application-access.mock.spec.ts#asks for a reason long enough to be one
06
Confirmed
The revoke dialog collects a reason that the backend route neither accepts nor retains, leaving the original override reason in history.
policyconsoleobserved
07must prove
Confirmed
The product should restore the failed-application retry action; its console address differs from the served route and therefore cannot invoke that operation.
policyconsoleobserved
react-console:lib/hq/licensing.ts:licensingPaths.application ("retry-provisioning"); services-platform:modules/licensing/aws/api/licensing.routes.ts:retryTenantApplicationProvisioning ("retry_provisioning")
08
Confirmed
Company contract and sync-health reads exist for staff but have no corresponding HQ interface.
policyconsoleobserved
react-console:lib/hq/licensing.ts (no company or sync health read)

Scenarios

IdGivenWhenThenProvenance
01The workspace has current and historical override records.A Rhythm administrator opens its licensing panel.Applications use readable states and author names, with past decisions collapsed.inferred
react-console:e2e/dev/hq-licensing.dev.spec.ts#the panel lists the Fictional Association's applications, names every author and folds the past overrides away
02An HQ staff reader lacks licensing-management authority.The reader inspects the workspace licensing panel.The information remains readable without management actions.observed

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.