01must proveConfirmed | An override identifies an existing workspace and active application, a grant or withhold effect, and a nonblank reason of no more than five hundred characters. | validation | api, service, database | test |
02must proveConfirmed | Customer-workspace grants require an expiry, other supported workspace types may receive open-ended grants, withholds need no expiry, and an expiry must follow its start. ✓ A demo workspace can receive an open-ended application grant.✗ A customer-workspace grant without expiry is refused before the decision is saved. | validation | service | test |
03must proveConfirmed | An unrevoked override applies from its start instant up to but excluding its end instant, and expiration takes effect without a scheduled state change. | calculation | service | test |
04must proveConfirmed | Overrides are withdrawn by recording revocation author and time together, and a second withdrawal is refused rather than editing the decision. | lifecycle | service, database | test |
05must proveConfirmed | A grant initializes an application only when the workspace has no operational record for it; existing states, withholds and revocations leave operational data intact. | lifecycle | service | test |
06must proveConfirmed | Override and revocation flows commit their decisions before attempting a security-history entry with the original reason and widening direction, allowing a later audit failure to leave an unaudited decision. | policy | service | observed |
07must proveConfirmed | Completed staff decision flows request an authorizer flush after writing, while refusals request none and a failed flush start leaves committed decisions subject to cache expiry. | policy | service | test |
08must proveConfirmed | Override creation and withdrawal require staff licensing-management authority; read-only staff and customer administrators are refused without a decision write. | permission | api | test |
09must proveConfirmed | Development seeding adds missing licensed-application grants for workspaces outside deletion but preserves any prior override decision, including revoked decisions, and repeated seeding adds nothing. | policy | service | test |
10must proveConfirmed | Data export allowances permit one unrevoked record per customer or workspace scope, replace prior allowances by revocation with a reason, and fall back to the standard allowance when absent. | invariant | service, database | test |