| | | 1 | | namespace AsiBackbone.Samples.NcatAuditCompletionAdapter; |
| | | 2 | | |
| | | 3 | | /// <summary> |
| | | 4 | | /// Models the minimized audit-completion message an NCAT completion-outbox publisher receives. |
| | | 5 | | /// </summary> |
| | | 6 | | /// <remarks> |
| | | 7 | | /// This record is modeled independently from NCAT so neither product takes a compile-time dependency on |
| | | 8 | | /// the other. Its field names and meanings follow NCAT's published audit-completion contract vectors, which |
| | | 9 | | /// the sample tests replay to detect drift. Property names serialize to the camelCase shape used by those vectors. |
| | | 10 | | /// </remarks> |
| | 15 | 11 | | public sealed record NcatAuditCompletionMessage( |
| | 15 | 12 | | string SchemaVersion, |
| | 15 | 13 | | string Destination, |
| | 15 | 14 | | string IdempotencyKey, |
| | 15 | 15 | | string MutationBatchId, |
| | 15 | 16 | | int AuditRecordCount, |
| | 15 | 17 | | string PersistenceOutcome, |
| | 15 | 18 | | DateTimeOffset ReceiptCompletedUtc, |
| | 15 | 19 | | string MutationManifestHash, |
| | 15 | 20 | | string MutationManifestAlgorithm, |
| | 15 | 21 | | string MutationManifestSchemaVersion, |
| | 15 | 22 | | string? OperationExecutionId = null, |
| | 15 | 23 | | string? ExecutionAttemptId = null, |
| | 15 | 24 | | string? DecisionAuditRecordId = null, |
| | 15 | 25 | | string? CorrelationId = null, |
| | 15 | 26 | | string? TraceId = null); |