The coverage map distinguishes a dedicated scenario from an unresolved category. Proposed scenarios define proof to build; bindings retain the exact assertion references and identify their executable suite.
Prepare malformed, unknown, expired, revoked, superseded and accepted links.
Steps
Read summaries and attempt acceptance for each; include accepted links with active and inactive memberships.
Expected
Unusable links share the backend refusal text and expose no organization detail; reason codes select the appropriate screen. An accepted link succeeds again for an active membership and is refused after that membership becomes inactive.
Use an isolated membership status in invited state, with the required authority and guard fixtures.
Steps
[
{
"do": "Accept with a valid password; repeat in a separate fixture through Google linking.",
"expect": "Read the resulting membership status as active; inspect the associated records and recorded history for this transition.",
"provenance": "proposed",
"source": [
"services-platform:modules/security/services/invitations/accept-invitation.ts",
"services-platform at ad3f6a65: modules/security/db/users.table.ts; services/invitations/accept-invitation.ts, activate-user.ts, invite-user.ts, revoke-user.ts, suspend-user.ts, resend-invitation.ts, user-deletion.ts; services/membership/lockout.ts, last-administrator.ts."
]
}
]
Expected
Read the resulting membership status as active; inspect the associated records and recorded history for this transition.
Data
A disposable customer, workspace and named actor; a controllable clock where the transition depends on time.
Use an isolated invitation in live state, with the required authority and guard fixtures.
Steps
[
{
"do": "Accept the usable invitation and inspect membership and assignment activation together.",
"expect": "Read the resulting invitation as accepted; inspect the associated records and recorded history for this transition.",
"provenance": "proposed",
"source": [
"services-platform:modules/security/services/persistence/invitations.ts:acceptInvitation",
"services-platform at ad3f6a65: modules/security/db/user-invitations.table.ts; services/persistence/invitations.ts; services/invitations/invitation-lifetime.ts, resend-invitation.ts, accept-invitation.ts; services/provisioning/provision-user.ts."
]
}
]
Expected
Read the resulting invitation as accepted; inspect the associated records and recorded history for this transition.
Data
A disposable customer, workspace and named actor; a controllable clock where the transition depends on time.
Source
services-platform:modules/security/services/persistence/invitations.ts:acceptInvitation,services-platform at ad3f6a65: modules/security/db/user-invitations.table.ts; services/persistence/invitations.ts; services/invitations/invitation-lifetime.ts, resend-invitation.ts, accept-invitation.ts; services/provisioning/provision-user.ts.
16Invitation: live to expiredtransitionapiproposed
Use an isolated invitation in live state, with the required authority and guard fixtures.
Steps
[
{
"do": "Advance a controllable clock to the seven-day deadline and attempt acceptance.",
"expect": "Read the resulting invitation as expired; inspect the associated records and recorded history for this transition.",
"provenance": "proposed",
"source": [
"services-platform:modules/security/services/invitations/invitation-lifetime.ts",
"services-platform at ad3f6a65: modules/security/db/user-invitations.table.ts; services/persistence/invitations.ts; services/invitations/invitation-lifetime.ts, resend-invitation.ts, accept-invitation.ts; services/provisioning/provision-user.ts."
]
}
]
Expected
Read the resulting invitation as expired; inspect the associated records and recorded history for this transition.
Data
A disposable customer, workspace and named actor; a controllable clock where the transition depends on time.
Source
services-platform:modules/security/services/invitations/invitation-lifetime.ts,services-platform at ad3f6a65: modules/security/db/user-invitations.table.ts; services/persistence/invitations.ts; services/invitations/invitation-lifetime.ts, resend-invitation.ts, accept-invitation.ts; services/provisioning/provision-user.ts.
17Role assignment: pending to livetransitionapiproposed
Use an isolated role assignment in pending state, with the required authority and guard fixtures.
Steps
[
{
"do": "Accept an invitation offering a current-window role and inspect effective access.",
"expect": "Read the resulting role assignment as live; inspect the associated records and recorded history for this transition.",
"provenance": "proposed",
"source": [
"services-platform:modules/security/services/persistence/assignments.ts:activatePendingAssignments",
"services-platform at ad3f6a65: modules/security/db/security-assignments.table.ts; services/persistence/assignments.ts; services/membership/manage-assignments.ts; services/invitations/widening.ts."
]
}
]
Expected
Read the resulting role assignment as live; inspect the associated records and recorded history for this transition.
Data
A disposable customer, workspace and named actor; a controllable clock where the transition depends on time.
Use an isolated role assignment in pending state, with the required authority and guard fixtures.
Steps
[
{
"do": "Accept an invitation offering a role that begins tomorrow and inspect current access.",
"expect": "Read the resulting role assignment as scheduled; inspect the associated records and recorded history for this transition.",
"provenance": "proposed",
"source": [
"services-platform:modules/security/services/persistence/assignments.ts:activatePendingAssignments",
"services-platform at ad3f6a65: modules/security/db/security-assignments.table.ts; services/persistence/assignments.ts; services/membership/manage-assignments.ts; services/invitations/widening.ts."
]
}
]
Expected
Read the resulting role assignment as scheduled; inspect the associated records and recorded history for this transition.
Data
A disposable customer, workspace and named actor; a controllable clock where the transition depends on time.