coulomb-social/docs/usecases/registry.json
tegwick 268a9421ff
Some checks failed
Use-case regression gate / usecase-regressions (push) Has been cancelled
Bind loopback communication journeys for WP-0015-T04
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
2026-10-11 23:46:54 +02:00

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"
]
}
]
}