Some checks failed
Use-case regression gate / usecase-regressions (push) Has been cancelled
Exercise reset, registration and invitation against an isolated issuer and mailbox. The nodes stay unestablished and do not contact production. Assistant: grok Assistant-Session: 01a12cc2-e3b2-77a3-8aef-9cc60e577fee
134 lines
5.7 KiB
JSON
134 lines
5.7 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"cases": [
|
|
{
|
|
"id": "CSOC-UC-008",
|
|
"title": "ReichelAg weekly founder-call protocols",
|
|
"established": true,
|
|
"confirmation": "user-confirmed",
|
|
"transfer_status": "accepted",
|
|
"narrative": "docs/usecases/reichelag-weekly-call.md",
|
|
"fixture": "tests/usecases/fixtures/reichelag-weekly-call.json",
|
|
"contract": [
|
|
"Duplicate the complete previous protocol without changing the original",
|
|
"Generate the duplicate filename from its new title unless explicitly chosen; allow later title/file rename without loss or overwrite",
|
|
"Edit and save the next agenda/protocol by hand and reopen it",
|
|
"Copy the complete title, italic subtitle, original Markdown and legacy footer, with rich HTML for external email",
|
|
"Fall back to selected manual text when clipboard writes are denied",
|
|
"Readers may read and copy but not modify; outsiders cannot read",
|
|
"The app does not send the email or need Bubble for these steps"
|
|
],
|
|
"tests": {
|
|
"fast": [
|
|
"tests/test_reichelag_workflow.py::test_full_protocol_duplicate_edit_and_clipboard_control",
|
|
"tests/test_reichelag_workflow.py::test_protocol_naming_rename_and_collision_safety",
|
|
"tests/test_private_assets.py::test_owner_and_reader_get_exact_private_image",
|
|
"tests/test_private_assets.py::test_outsider_foreign_tenant_revoked_archived_and_anonymous_denied",
|
|
"tests/test_private_assets.py::test_display_uses_private_images_without_clipboard_changes"
|
|
],
|
|
"browser": [
|
|
"tests/usecases/test_reichelag_browser.py::test_weekly_call_through_real_ui"
|
|
]
|
|
},
|
|
"manual_review": [
|
|
"Reconcile the latest actual ReichelAg protocol and its links/assets",
|
|
"Paste into the user's usual mail client and review presentation",
|
|
"Confirm live persistence and measured paired restore before transfer"
|
|
],
|
|
"acceptance_ref": "history/20261008T084657Z-weekly-call-acceptance.md"
|
|
},
|
|
{
|
|
"id": "CSOC-UC-009",
|
|
"title": "Personal account recovery",
|
|
"established": false,
|
|
"confirmation": "user-confirmed",
|
|
"transfer_status": "accepted",
|
|
"narrative": "docs/usecases/platform-communication.md",
|
|
"fixture": "tests/usecases/fixtures/platform-communication-009.json",
|
|
"contract": [
|
|
"Request a new password reset, receive it privately and sign in to the workspace",
|
|
"Identity credentials and reset handles remain outside the application"
|
|
],
|
|
"tests": {
|
|
"fast": [
|
|
"tests/test_identity_regressions.py::test_consumed_callback_state_cannot_be_replayed",
|
|
"tests/test_identity_regressions.py::test_same_email_different_identity_cannot_take_over_member"
|
|
],
|
|
"browser": [
|
|
"tests/usecases/test_communication_browser.py::test_isolated_recovery_registration_and_invitation"
|
|
]
|
|
},
|
|
"owner_regression_contract": "docs/usecases/communication-regressions.json",
|
|
"manual_review": [
|
|
"Loopback issuer/mailbox double is bound; real portal, SMTP and owner admission remain open"
|
|
],
|
|
"acceptance_ref": "history/20261006T185411Z-personal-workspace-acceptance.md"
|
|
},
|
|
{
|
|
"id": "CSOC-UC-010",
|
|
"title": "Registration verification",
|
|
"established": false,
|
|
"confirmation": "inferred",
|
|
"transfer_status": "pending-user-review",
|
|
"narrative": "docs/usecases/platform-communication.md",
|
|
"fixture": "tests/usecases/fixtures/platform-communication-010.json",
|
|
"contract": [
|
|
"Single-use tenant/client-bound verification is retry-safe and conveys no authorization"
|
|
],
|
|
"tests": {
|
|
"fast": [
|
|
"tests/test_shell.py::test_registration_link_uses_only_configured_destination"
|
|
],
|
|
"browser": [
|
|
"tests/usecases/test_communication_browser.py::test_isolated_recovery_registration_and_invitation"
|
|
]
|
|
},
|
|
"owner_regression_contract": "docs/usecases/communication-regressions.json",
|
|
"manual_review": [
|
|
"Loopback registration sink is bound; real verification admission remains open"
|
|
]
|
|
},
|
|
{
|
|
"id": "CSOC-UC-011",
|
|
"title": "Member invitation",
|
|
"established": false,
|
|
"confirmation": "inferred",
|
|
"transfer_status": "pending-user-review",
|
|
"narrative": "docs/usecases/platform-communication.md",
|
|
"fixture": "tests/usecases/fixtures/platform-communication-011.json",
|
|
"contract": [
|
|
"Fixed invitation template, one provider submission per event, suppression and safe retries"
|
|
],
|
|
"tests": {
|
|
"fast": [],
|
|
"browser": [
|
|
"tests/usecases/test_communication_browser.py::test_isolated_recovery_registration_and_invitation"
|
|
]
|
|
},
|
|
"owner_regression_contract": "docs/usecases/communication-regressions.json",
|
|
"manual_review": [
|
|
"Loopback invitation double is bound; real caller admission remains open"
|
|
]
|
|
},
|
|
{
|
|
"id": "CSOC-UC-012",
|
|
"title": "Application notification and reply",
|
|
"established": false,
|
|
"confirmation": "inferred",
|
|
"transfer_status": "deferred",
|
|
"narrative": "docs/usecases/platform-communication.md",
|
|
"fixture": "tests/usecases/fixtures/platform-communication-012.json",
|
|
"contract": [
|
|
"Each application notification needs an admitted caller, template, recipient purpose and monitored reply route"
|
|
],
|
|
"tests": {
|
|
"fast": [],
|
|
"browser": []
|
|
},
|
|
"owner_regression_contract": "docs/usecases/communication-regressions.json",
|
|
"manual_review": [
|
|
"Isolated owner-spanning browser coverage and admission remain required"
|
|
]
|
|
}
|
|
]
|
|
}
|