From 2a8724ba72595632101791e7b84d52c2e3b568d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20St=C3=BChmer?= Date: Tue, 29 Sep 2026 03:45:46 +0200 Subject: [PATCH] docs(decisions): accept the ADRs added by the second issue batch Accept the seven decisions merged in state proposed with #893, #903, #909, #908, #902, #905 and #904. --- decisions/2026-09-28-audit-write-fail-open.md | 4 ++-- ...09-28-entityframework-and-cosmosdb-outbox-lease-reclaim.md | 4 ++-- .../2026-09-28-idempotency-refresh-expired-keys-on-reserve.md | 4 ++-- decisions/2026-09-28-opentelemetry-telemetry-conventions.md | 4 ++-- decisions/2026-09-28-rabbitmq-transport-publisher-confirms.md | 4 ++-- .../2026-09-29-outbox-handler-runs-before-event-dispatcher.md | 2 +- decisions/2026-09-29-process-local-cache-invalidation.md | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/decisions/2026-09-28-audit-write-fail-open.md b/decisions/2026-09-28-audit-write-fail-open.md index c9f07d7c..f8052a3e 100644 --- a/decisions/2026-09-28-audit-write-fail-open.md +++ b/decisions/2026-09-28-audit-write-fail-open.md @@ -7,9 +7,9 @@ applyTo: created: 2026-09-28 -lastModified: 2026-09-28 +lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | AuditRequestInterceptor MUST wrap only the handler call in try/catch; the audit record MUST reflect the handler outcome only (Success when it completed, Failure with the handler's exception message when it threw). diff --git a/decisions/2026-09-28-entityframework-and-cosmosdb-outbox-lease-reclaim.md b/decisions/2026-09-28-entityframework-and-cosmosdb-outbox-lease-reclaim.md index 0b678c4a..09b2bb24 100644 --- a/decisions/2026-09-28-entityframework-and-cosmosdb-outbox-lease-reclaim.md +++ b/decisions/2026-09-28-entityframework-and-cosmosdb-outbox-lease-reclaim.md @@ -9,9 +9,9 @@ applyTo: created: 2026-09-28 -lastModified: 2026-09-28 +lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | MUST reclaim Processing outbox messages whose UpdatedAt is at or before now minus ProcessingLeaseTimeout in the Entity Framework Core and Cosmos DB GetPendingAsync, as part of the same claim predicate as Pending messages; MUST NOT add a lease column. diff --git a/decisions/2026-09-28-idempotency-refresh-expired-keys-on-reserve.md b/decisions/2026-09-28-idempotency-refresh-expired-keys-on-reserve.md index e42932fc..c21be11f 100644 --- a/decisions/2026-09-28-idempotency-refresh-expired-keys-on-reserve.md +++ b/decisions/2026-09-28-idempotency-refresh-expired-keys-on-reserve.md @@ -10,9 +10,9 @@ applyTo: created: 2026-09-28 -lastModified: 2026-09-28 +lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | IdempotencyStore MUST reserve and store keys through IIdempotencyKeyRepository.TryReserveAsync(key, createdAt, validFrom), never through ExistsAsync followed by StoreAsync. diff --git a/decisions/2026-09-28-opentelemetry-telemetry-conventions.md b/decisions/2026-09-28-opentelemetry-telemetry-conventions.md index 8d504a2d..c838125e 100644 --- a/decisions/2026-09-28-opentelemetry-telemetry-conventions.md +++ b/decisions/2026-09-28-opentelemetry-telemetry-conventions.md @@ -10,9 +10,9 @@ applyTo: created: 2026-09-28 -lastModified: 2026-09-28 +lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | MUST leave the activity status Unset when a Pulse operation succeeds or a stream consumer stops early; MUST set Error with the exception message only on failure. diff --git a/decisions/2026-09-28-rabbitmq-transport-publisher-confirms.md b/decisions/2026-09-28-rabbitmq-transport-publisher-confirms.md index 81b5a836..c05431c0 100644 --- a/decisions/2026-09-28-rabbitmq-transport-publisher-confirms.md +++ b/decisions/2026-09-28-rabbitmq-transport-publisher-confirms.md @@ -8,9 +8,9 @@ applyTo: created: 2026-09-28 -lastModified: 2026-09-28 +lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | RabbitMqConnectionAdapter MUST create every channel with new CreateChannelOptions(publisherConfirmationsEnabled: true, publisherConfirmationTrackingEnabled: true), built per call. diff --git a/decisions/2026-09-29-outbox-handler-runs-before-event-dispatcher.md b/decisions/2026-09-29-outbox-handler-runs-before-event-dispatcher.md index d86e2d80..b7211c7a 100644 --- a/decisions/2026-09-29-outbox-handler-runs-before-event-dispatcher.md +++ b/decisions/2026-09-29-outbox-handler-runs-before-event-dispatcher.md @@ -11,7 +11,7 @@ created: 2026-09-29 lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | MUST invoke OutboxEventHandler in PulseMediator sequentially and before the configured IEventDispatcher, inside the event interceptor chain, and MUST pass only the remaining handlers to the dispatcher. diff --git a/decisions/2026-09-29-process-local-cache-invalidation.md b/decisions/2026-09-29-process-local-cache-invalidation.md index 8390ae35..2ddf3ab0 100644 --- a/decisions/2026-09-29-process-local-cache-invalidation.md +++ b/decisions/2026-09-29-process-local-cache-invalidation.md @@ -12,7 +12,7 @@ created: 2026-09-29 lastModified: 2026-09-29 -state: proposed +state: accepted instructions: | The cache key registry used by AddCacheInvalidation MUST stay process-local and in-memory; IInvalidatingCommand evicts only the keys this process cached since it started.