Adds durable, identity-neutral, workflow-bound human tasks, and reconciles the REST surface with the approved Studio contract. - Flat summary/detail DTOs, a global capability descriptor, and workflow context captured at activation. - Scope is part of the list authorization predicate; manager decisions require manage:user-tasks; a denied command answers 404 so it cannot prove a task exists. - Guest sessions are task-scoped, action-allowlisted, and revoked when the task closes. Invitations resolve by token hash through the repository, wait in a Data Protection encrypted outbox, and are rate limited per caller. - Masked form values are disclosed only through an audited reveal command. - Store-specific concurrency failures are translated into a single UserTaskRevisionConflictException, so a concurrent edit returns the documented revision-conflict result behind any provider instead of a 500. EF Core (SQLite, SQL Server, PostgreSQL, MySQL, Oracle) and VNext persistence, hosted due/reconciliation/delivery workers, docs, and 49 tests. Note: this branch also carries two commits inherited from its branch point that are not part of User Tasks and are squashed in here — the revert-version allocation change from #7917 (WorkflowDefinitionPublisher.RevertVersionAsync now allocates from the last version rather than the latest) and an NU1903 package pin. Merged deliberately rather than rebased out.
30 lines
3 KiB
Markdown
30 lines
3 KiB
Markdown
# Architecture Decision Records
|
|
|
|
* [1. Record architecture decisions](0001-record-architecture-decisions.md)
|
|
* [2. Fault Propagation from Child to Parent Activities](0002-fault-propagation-from-child-to-parent-activities.md)
|
|
* [3. Direct Bookmark Management in WorkflowExecutionContext](0003-direct-bookmark-management-in-workflowexecutioncontext.md)
|
|
* [4. Activity Execution Snapshots](0004-activity-execution-snapshots.md)
|
|
* [5. Token-Centric Flowchart Execution Model](0005-token-centric-flowchart-execution-model.md)
|
|
* [6. Tenant Deleted Event](0006-tenant-deleted-event.md)
|
|
* [7. Adoption of Explicit Merge Modes for Flowchart Joins](0007-adoption-of-explicit-merge-modes-for-flowchart-joins.md)
|
|
* [8. Empty String as Default Tenant ID](0008-empty-string-as-default-tenant-id.md)
|
|
* [9. Asterisk Sentinel Value for Tenant-Agnostic Entities](0009-asterisk-sentinel-value-for-tenant-agnostic-entities.md)
|
|
* [10. Default Admin User Bootstrap for Initial Identity Access](0010-default-admin-user-bootstrap-for-initial-identity-access.md)
|
|
* [11. Output Conversion Occurs Synchronously at the Binding Boundary](0011-output-conversion-at-binding-is-synchronous.md)
|
|
* [12. Output Converters Use Explicit Stable Identities](0012-output-converters-use-explicit-stable-identities.md)
|
|
* [13. Output Converter Discovery Is Server-Owned](0013-output-converter-discovery-is-server-owned.md)
|
|
* [14. Broker external sign-in through Elsa Server](0014-broker-external-sign-in-through-elsa-server.md)
|
|
* [15. Compose a scoped connection registry](0015-compose-a-scoped-connection-registry.md)
|
|
* [16. Extend authentication through deployed descriptor providers](0016-extend-authentication-through-deployed-descriptor-providers.md)
|
|
* [17. Separate external identity from Elsa authorization](0017-separate-external-identity-from-elsa-authorization.md)
|
|
* [18. Separate provider trust from broker invariants](0018-separate-provider-trust-from-broker-invariants.md)
|
|
* [19. Bind sessions to shared state and connection revisions](0019-bind-sessions-to-shared-state-and-connection-revisions.md)
|
|
* [20. Publish audit-ready security notifications](0020-publish-audit-ready-security-notifications.md)
|
|
* [21. Identify host connections by logical key and use explicit overrides](0021-identify-host-connections-by-logical-key-and-use-explicit-overrides.md)
|
|
* [22. Match unlinked identities with trusted user matchers](0022-match-unlinked-identities-with-trusted-user-matchers.md)
|
|
* [23. Separate authentication UI composition from security administration](0023-separate-authentication-ui-composition-from-security-administration.md)
|
|
* [24. Use exact OIDC discovery and deployment-derived callbacks](0024-use-exact-oidc-discovery-and-deployment-derived-callbacks.md)
|
|
* [25. Two-axis authorization model with open resources and open verbs](0025-two-axis-authorization-model.md)
|
|
* [26. Use Identity-Neutral Participant References for User Tasks](0026-identity-neutral-user-task-participants.md)
|
|
* [27. Project User Tasks from Committed Workflow Bookmarks](0027-project-user-tasks-from-committed-bookmarks.md)
|