elsa-core/doc/adr
Sipke Schoorstra f6d2d38536
test(user-tasks): add a persistence conformance suite with fault injection (#7986)
Runs one suite unchanged against every implementation of IUserTaskRepository,
IUserTaskGuestSessionIssuer, and IUserTaskInvitationOutbox, plus a fault-injection
suite driving the real DefaultUserTaskManager and DefaultUserTaskInvitationService
against a real store. Gated providers report as skipped with a reason rather than
passing vacuously; ConformanceCoverageTests fails when a provider that must run is
unreachable or its variable is set but empty.

The suite found three defects, fixed here:

- VNextUserTaskRepository supplied no index values for WorkflowDefinitionId,
  WorkflowInstanceId, ActivityInstanceId, CreatedAt, or CompletedAt, all declared by
  its own schema provider, so every write through the VNext provider threw.
- The same provider resolved invitation token hashes by scanning on Status alone,
  which matched no declared index, so anonymous invitation verification always threw.
- EFCoreUserTaskInvitationOutbox persisted the delivery recipient but never read it
  back, so durably queued invitations reached the dispatcher with no address.

Also switches new ADRs to date-prefixed identifiers and generates doc/adr/toc.md via
scripts/adr/generate-toc.sh, with a --check mode and pull-request workflow so the
index is never hand-edited again.
2026-08-25 04:36:18 +02:00
..
0001-record-architecture-decisions.md Refactor Fault Propagation and Simplify Bookmark Management (#6545) 2025-04-10 15:01:49 +02:00
0002-fault-propagation-from-child-to-parent-activities.md Refactor Fault Propagation and Simplify Bookmark Management (#6545) 2025-04-10 15:01:49 +02:00
0003-direct-bookmark-management-in-workflowexecutioncontext.md Refactor Fault Propagation and Simplify Bookmark Management (#6545) 2025-04-10 15:01:49 +02:00
0004-activity-execution-snapshots.md Add Activity Execution Snapshots ADR 2025-08-04 15:42:46 +02:00
0005-token-centric-flowchart-execution-model.md Fix Multitenancy Support and Normalize Tenant ID Handling (#7217) 2026-01-30 19:54:13 +01:00
0006-tenant-deleted-event.md Fix Multitenancy Support and Normalize Tenant ID Handling (#7217) 2026-01-30 19:54:13 +01:00
0007-adoption-of-explicit-merge-modes-for-flowchart-joins.md Fix Multitenancy Support and Normalize Tenant ID Handling (#7217) 2026-01-30 19:54:13 +01:00
0008-empty-string-as-default-tenant-id.md Fix Multitenancy Support and Normalize Tenant ID Handling (#7217) 2026-01-30 19:54:13 +01:00
0009-asterisk-sentinel-value-for-tenant-agnostic-entities.md Implement null TenantId for tenant-agnostic entities (#7226) 2026-02-02 10:59:01 +01:00
0010-default-admin-user-bootstrap-for-initial-identity-access.md [codex] Remove production-usable default admin credentials (#7500) 2026-05-20 20:58:03 +02:00
0011-output-conversion-at-binding-is-synchronous.md Add output converter support at binding boundaries 2026-07-31 04:10:48 +02:00
0012-output-converters-use-explicit-stable-identities.md Add output converter support at binding boundaries 2026-07-31 04:10:48 +02:00
0013-output-converter-discovery-is-server-owned.md Add output converter support at binding boundaries 2026-07-31 04:10:48 +02:00
0014-broker-external-sign-in-through-elsa-server.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0015-compose-a-scoped-connection-registry.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0016-extend-authentication-through-deployed-descriptor-providers.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0017-separate-external-identity-from-elsa-authorization.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0018-separate-provider-trust-from-broker-invariants.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0019-bind-sessions-to-shared-state-and-connection-revisions.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0020-publish-audit-ready-security-notifications.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0021-identify-host-connections-by-logical-key-and-use-explicit-overrides.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0022-match-unlinked-identities-with-trusted-user-matchers.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0023-separate-authentication-ui-composition-from-security-administration.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0024-use-exact-oidc-discovery-and-deployment-derived-callbacks.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0025-two-axis-authorization-model.md feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
0026-identity-neutral-user-task-participants.md feat(user-tasks): add identity-neutral workflow-bound human tasks (#7955) 2026-08-25 00:09:06 +02:00
0027-project-user-tasks-from-committed-bookmarks.md feat(user-tasks): add identity-neutral workflow-bound human tasks (#7955) 2026-08-25 00:09:06 +02:00
2026-08-25-date-prefixed-adr-identifiers.md test(user-tasks): add a persistence conformance suite with fault injection (#7986) 2026-08-25 04:36:18 +02:00
graph.dot feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
toc.md test(user-tasks): add a persistence conformance suite with fault injection (#7986) 2026-08-25 04:36:18 +02:00