01must proveProposed | Portal-pool provisioning begins when Websites is enabled or a site is created, rather than during workspace creation. Provisioning admits one concurrent build, permits retry after failure and reuses an existing active pool. no proof recorded yet | lifecycle | service, job | test |
02Proposed | A staff-only onboarding operation can initiate portal-pool provisioning directly because it allocates Rhythm cloud resources. | permission | api | observed |
03must proveProposed | The discovery handler gives the same refusal for an unknown workspace and one lacking an active portal pool. Workspace availability is checked earlier and can produce a different response. no proof recorded yet | policy | api | test |
04must proveProposed | Signup creates an unconfirmed pool account and sends a verification code. An address already held by a workspace member is rejected, as is a password that violates pool policy. no proof recorded yet | validation | service | test |
05must proveProposed | Portal signup confirmation creates one active, verified workspace member and one Portal Member assignment. Repeated confirmation is idempotent; console-pool and password-recovery confirmations do not create memberships. no proof recorded yet | lifecycle | service | test |
06must proveProposed | Portal password sign-in gives unknown addresses and wrong passwords the same refusal. It reports an unverified address only after a correct password. Disabled, suspended or wrong-workspace members are rejected; revoked members have newly issued tokens revoked. no proof recorded yet | policy | service | test |
07must proveProposed | Recovery initiation and verification-code resend return equivalent responses for known and unknown addresses. Recovery confirmation treats an unknown address like an incorrect code. no proof recorded yet | policy | service | test |
08must proveProposed | Sign-out uses the caller’s own access token to revoke their pool sessions. A token identifying someone else causes no revocation. no proof recorded yet | policy | service | test |
09must proveProposed | Authorized workspace administrators can invite and list portal members. Portal users remain confined to their workspace and may read only their own membership record. no proof recorded yet | permission | api, service | test |
10Proposed | Identity handlers treat unavailable portal pools alike. The preceding workspace gate may reject the request before identity handling. | policy | service | test |
11Proposed | The portal contract’s distinct success statuses remain a proposed correction; successful handlers currently use the ordinary success response. | validation | api | documented |