Skip to content

JNY-PFM-OPS-004Rhythm staff withdraw and restore application access

Markdown

JNY-PFM-OPS-004

Rhythm staff withdraw and restore application access

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindJourneyProduct areaPlatformModuleOperational RecordsRevision1End-to-endRequired

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.

Goal
Record and reverse a deliberate application withhold while keeping customer explanations appropriate.
Screens
/hq/tenants/{tenantId}/console/{tenantId}/configuration

Steps

#SurfaceActionCapabilityExpectedProvenance
1/hq/tenants/{tenantId}Inspect the workspace licensing section in HQ.CAP-PFM-OPS-013Readable states and authors explain its applications and decision history.test
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
2createTenantLicenceOverrideRecord an explained Withhold Override.CAP-PFM-OPS-011The staff view reflects the saved withhold and its reason.test
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
3jobRequest invalidation after the commercial write.CAP-PFM-OPS-014The committed decision has a submitted flush request whose completion remains asynchronous.observed
4/console/{tenantId}/configurationInspect Applications as the customer administrator.CAP-PFM-OPS-016The customer view presents the application as not licensed without the internal withhold explanation.test
react-console:e2e/dev/hq-licensing.dev.spec.ts#the tenant's own administrator reads Configuration › Applications with the same words
5/console/{tenantId}Follow an existing application link from the customer workspace.CAP-PFM-SEC-007When the refreshed context reflects the refusal, the unavailable application is omitted from navigation and its entry is refused.test
react-console:e2e/mock/application-access.mock.spec.ts#a deep link into one of them says the application isn't available
6revokeTenantLicenceOverrideWithdraw the withhold decision.CAP-PFM-OPS-011History retains its revocation and otherwise eligible coverage can govern again.test
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

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2A first grant addresses an application with no operational record.Attempt its preparation after saving the decision.Preparation records enabled or an explained failure without discarding the grant.test
services-platform:modules/licensing/tests/integration/services/enablement/provision-tenant-application.integration.spec.js#ends as provisioning_failed rather than throwing, so the decision that caused it survives
failure2A customer-workspace grant omits expiry.Block the dialog and reject the invalid grant at the service.No commercial decision is saved.test
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#refuses a grant on a customer tenant that does not say when it ends, with 400
failure1Staff have readership without management authority.Omit panel actions and refuse write requests.The existing decision state remains intact.test
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#refuses a staff member holding only hq.licensing.read on a write, with 403

Assertions

IdStatementProvenance
01Customer application responses hide internal withhold reasons and staff attribution.test
services-platform:modules/licensing/tests/e2e/licensing.e2e.spec.js#says a withheld application is simply not licensed, never that Rhythm withheld it
02Completed withhold and revocation flows attempt the correctly directed security-history entries.test
services-platform:modules/licensing/tests/integration/services/enablement/provision-tenant-application.integration.spec.js#records the revocation of a withhold as a widening, because it gives the application back
03Completed staff licence changes request invalidation, with cache expiry remaining fallback if asynchronous flush execution fails.observed

End-to-end policy: required: Staff and customer surfaces explain related states differently, so browser coverage must accompany the authorization and decision evidence.

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.